From ecf93da4b12fcd1c6e32443090c3f507c4add2db Mon Sep 17 00:00:00 2001
From: QuoteFox <49098813+quotefox@users.noreply.github.com>
Date: Mon, 25 Jan 2021 10:47:15 +0000
Subject: [PATCH 001/121] Economy part 1
Economy part 1
---
code/__DEFINES/subsystems.dm | 1 +
code/controllers/subsystem/job.dm | 5 +
code/game/objects/items/cards_ids.dm | 2 +-
code/game/objects/items/stacks/cash.dm | 2 +-
code/modules/jobs/job_types/job.dm | 16 ++-
.../mob/living/carbon/human/human_defines.dm | 2 +-
.../mob/living/carbon/human/human_helpers.dm | 1 +
hyperstation/code/__DEFINES/economy.dm | 35 ++++++
.../code/controllers/subsystem/economy.dm | 16 +++
hyperstation/code/modules/economy/account.dm | 26 ++++
hyperstation/code/obj/economy.dm | 115 ++++++++++++++++++
hyperstation/icons/obj/economy.dmi | Bin 0 -> 780 bytes
hyperstation/icons/obj/genitals/belly.dmi | Bin 0 -> 945 bytes
tgstation.dme | 4 +
14 files changed, 221 insertions(+), 4 deletions(-)
create mode 100644 hyperstation/code/__DEFINES/economy.dm
create mode 100644 hyperstation/code/controllers/subsystem/economy.dm
create mode 100644 hyperstation/code/modules/economy/account.dm
create mode 100644 hyperstation/code/obj/economy.dm
create mode 100644 hyperstation/icons/obj/economy.dmi
create mode 100644 hyperstation/icons/obj/genitals/belly.dmi
diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm
index 2a57e7bb..f4e0c316 100644
--- a/code/__DEFINES/subsystems.dm
+++ b/code/__DEFINES/subsystems.dm
@@ -64,6 +64,7 @@
#define INIT_ORDER_TICKER 9
#define INIT_ORDER_MAPPING 8
#define INIT_ORDER_NETWORKS 7
+#define INIT_ORDER_ECONOMY 21
#define INIT_ORDER_ATOMS 6
#define INIT_ORDER_LANGUAGE 5
#define INIT_ORDER_MACHINES 4
diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm
index d027a3cf..494a6568 100644
--- a/code/controllers/subsystem/job.dm
+++ b/code/controllers/subsystem/job.dm
@@ -442,6 +442,11 @@ SUBSYSTEM_DEF(job)
if(CONFIG_GET(number/minimal_access_threshold))
to_chat(M, "As this station was initially staffed with a [CONFIG_GET(flag/jobs_have_minimal_access) ? "full crew, only your job's necessities" : "skeleton crew, additional access may"] have been added to your ID card.")
+ if(ishuman(H))
+ var/mob/living/carbon/human/wageslave = H
+ to_chat(M, "Your account ID is [wageslave.account_id].")
+ H.add_memory("Your account ID is [wageslave.account_id].")
+
if(job && H)
if(job.dresscodecompliant)// CIT CHANGE - dress code compliance
equip_loadout(N, H) // CIT CHANGE - allows players to spawn with loadout items
diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm
index b366b571..5a1d0a43 100644
--- a/code/game/objects/items/cards_ids.dm
+++ b/code/game/objects/items/cards_ids.dm
@@ -170,7 +170,7 @@
var/registered_name = null // The name registered_name on the card
var/assignment = null
var/access_txt // mapping aid
-
+ var/datum/bank_account/registered_account
/obj/item/card/id/Initialize(mapload)
diff --git a/code/game/objects/items/stacks/cash.dm b/code/game/objects/items/stacks/cash.dm
index 94f6fca2..845fc433 100644
--- a/code/game/objects/items/stacks/cash.dm
+++ b/code/game/objects/items/stacks/cash.dm
@@ -19,7 +19,7 @@
/obj/item/stack/spacecash/proc/update_desc()
var/total_worth = amount*value
- desc = "It's worth [total_worth] credit[( total_worth > 1 ) ? "s" : ""]"
+ desc = "A outdated form of currency, It's worth [total_worth] credit[( total_worth > 1 ) ? "s" : ""]"
/obj/item/stack/spacecash/merge(obj/item/stack/S)
diff --git a/code/modules/jobs/job_types/job.dm b/code/modules/jobs/job_types/job.dm
index 2f56fe25..5390f9f9 100644
--- a/code/modules/jobs/job_types/job.dm
+++ b/code/modules/jobs/job_types/job.dm
@@ -58,7 +58,7 @@
var/list/mind_traits // Traits added to the mind of the mob assigned this job
var/list/blacklisted_quirks //list of quirk typepaths blacklisted.
-
+
var/list/alt_titles = list()
//Only override this proc
@@ -90,6 +90,13 @@
if(!H)
return FALSE
+ if(!visualsOnly)
+ var/datum/bank_account/bank_account = new(H.real_name, src)
+ bank_account.account_holder = H.real_name
+ bank_account.account_job = src
+ bank_account.account_id = rand(111111,999999)
+ H.account_id = bank_account.account_id
+
if(CONFIG_GET(flag/enforce_human_authority) && (title in GLOB.command_positions))
if(H.dna.species.id != "human")
H.set_species(/datum/species/human)
@@ -230,6 +237,13 @@
C.update_label(C.registered_name, preference_source.prefs.alt_titles_preferences[J.title])
else
C.update_label()
+
+ for(var/A in SSeconomy.bank_accounts)
+ var/datum/bank_account/B = A
+ if(B.account_id == H.account_id)
+ C.registered_account = B
+ B.bank_cards += C
+ break
H.sec_hud_set_ID()
var/obj/item/pda/PDA = H.get_item_by_slot(pda_slot)
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index ea25104c..b30f5ab6 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -68,5 +68,5 @@
var/static/list/can_ride_typecache = typecacheof(list(/mob/living/carbon/human, /mob/living/simple_animal/slime, /mob/living/simple_animal/parrot))
var/lastpuke = 0
var/last_fire_update
-
+ var/account_id
can_be_held = "micro"
diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm
index 93c9ce32..5fa5046a 100644
--- a/code/modules/mob/living/carbon/human/human_helpers.dm
+++ b/code/modules/mob/living/carbon/human/human_helpers.dm
@@ -132,6 +132,7 @@
to_chat(src, "Use of ranged weaponry would bring dishonor to the clan.")
return FALSE
+
/mob/living/carbon/human/can_see_reagents()
. = ..()
if(.) //No need to run through all of this if it's already true.
diff --git a/hyperstation/code/__DEFINES/economy.dm b/hyperstation/code/__DEFINES/economy.dm
new file mode 100644
index 00000000..428ea3a0
--- /dev/null
+++ b/hyperstation/code/__DEFINES/economy.dm
@@ -0,0 +1,35 @@
+#define STARTING_PAYCHECKS 5
+
+#define PAYCHECK_ASSISTANT 25
+#define PAYCHECK_MINIMAL 75
+#define PAYCHECK_EASY 125
+#define PAYCHECK_MEDIUM 175
+#define PAYCHECK_HARD 200
+#define PAYCHECK_COMMAND 250
+
+#define MAX_GRANT_CIV 2500
+#define MAX_GRANT_ENG 3000
+#define MAX_GRANT_SCI 5000
+#define MAX_GRANT_SECMEDSRV 3000
+
+#define ACCOUNT_CIV "CIV"
+#define ACCOUNT_CIV_NAME "Civil Budget"
+#define ACCOUNT_ENG "ENG"
+#define ACCOUNT_ENG_NAME "Engineering Budget"
+#define ACCOUNT_SCI "SCI"
+#define ACCOUNT_SCI_NAME "Scientific Budget"
+#define ACCOUNT_MED "MED"
+#define ACCOUNT_MED_NAME "Medical Budget"
+#define ACCOUNT_SRV "SRV"
+#define ACCOUNT_SRV_NAME "Service Budget"
+#define ACCOUNT_CAR "CAR"
+#define ACCOUNT_CAR_NAME "Cargo Budget"
+#define ACCOUNT_SEC "SEC"
+#define ACCOUNT_SEC_NAME "Defense Budget"
+
+#define NO_FREEBIES "commies go home"
+
+//ID bank account support defines.
+#define ID_NO_BANK_ACCOUNT 0
+#define ID_FREE_BANK_ACCOUNT 1
+#define ID_LOCKED_BANK_ACCOUNT 2
\ No newline at end of file
diff --git a/hyperstation/code/controllers/subsystem/economy.dm b/hyperstation/code/controllers/subsystem/economy.dm
new file mode 100644
index 00000000..73e51dc2
--- /dev/null
+++ b/hyperstation/code/controllers/subsystem/economy.dm
@@ -0,0 +1,16 @@
+SUBSYSTEM_DEF(economy)
+ name = "Economy"
+ wait = 5 MINUTES
+ init_order = INIT_ORDER_ECONOMY
+ runlevels = RUNLEVEL_GAME
+ var/roundstart_paychecks = 5
+ var/budget_pool = 35000
+ var/list/department_accounts = list(ACCOUNT_CIV = ACCOUNT_CIV_NAME,
+ ACCOUNT_ENG = ACCOUNT_ENG_NAME,
+ ACCOUNT_SCI = ACCOUNT_SCI_NAME,
+ ACCOUNT_MED = ACCOUNT_MED_NAME,
+ ACCOUNT_SRV = ACCOUNT_SRV_NAME,
+ ACCOUNT_CAR = ACCOUNT_CAR_NAME,
+ ACCOUNT_SEC = ACCOUNT_SEC_NAME)
+ var/list/generated_accounts = list()
+ var/list/bank_accounts = list() //List of normal accounts (not department accounts)
\ No newline at end of file
diff --git a/hyperstation/code/modules/economy/account.dm b/hyperstation/code/modules/economy/account.dm
new file mode 100644
index 00000000..23827cc8
--- /dev/null
+++ b/hyperstation/code/modules/economy/account.dm
@@ -0,0 +1,26 @@
+#define DUMPTIME 3000
+
+/datum/bank_account
+ var/account_holder = "Rusty Venture"
+ var/account_balance = 0
+ var/datum/job/account_job
+ var/list/bank_cards = list()
+ var/add_to_accounts = TRUE
+ var/transferable = TRUE
+ var/account_id
+ var/withdrawDelay = 0
+
+/datum/bank_account/New(newname, job)
+ if(add_to_accounts)
+ if(!SSeconomy)
+ log_world("Wack")
+ SSeconomy.bank_accounts += src
+ account_holder = newname
+ account_job = job
+ account_id = rand(111111,999999)
+
+/datum/bank_account/Destroy()
+ if(add_to_accounts)
+ SSeconomy.bank_accounts -= src
+ return ..()
+
diff --git a/hyperstation/code/obj/economy.dm b/hyperstation/code/obj/economy.dm
new file mode 100644
index 00000000..500e9069
--- /dev/null
+++ b/hyperstation/code/obj/economy.dm
@@ -0,0 +1,115 @@
+//Hyper station economy. Because coding it yourself is easier than port sometimes.
+
+/obj/machinery/atm
+ name = "automated teller machine"
+ desc = "a wall mounted electronic banking outlet for accessing your bank account."
+ icon = 'hyperstation/icons/obj/economy.dmi'
+ icon_state = "atm"
+ max_integrity = 250
+ integrity_failure = 100
+ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 30)
+ use_power = IDLE_POWER_USE
+ idle_power_usage = 0
+ active_power_usage = 0
+ power_channel = ENVIRON
+ resistance_flags = FIRE_PROOF
+ var/obj/item/card/held_card
+ var/user = ""
+ light_power = 0
+ light_range = 7
+ light_color = "#ff3232"
+
+/obj/machinery/atm/ui_interact(mob/user)
+ . = ..()
+ var/dat = {""}
+ dat += "
"
+ dat += ""
+ dat += "ATM
"
+ dat += "
Welcome to Hyper Station 13's Automated Bank Teller Service."
+ dat += "
"
+ if(!held_card)
+ dat += "
Welcome, please insert your ID to continue."
+ else
+ dat += "
Welcome user, [held_card ? user : "------"]
"
+ var/obj/item/card/id/idcard = held_card
+ if(idcard.registered_account)
+ dat += "
Account ID: ([idcard.registered_account.account_id])"
+ dat += "
Balance: $[idcard.registered_account.account_balance]"
+ dat += "
"
+ dat += "Withdraw"
+ dat += "Change Pin"
+ dat += "Account Settings"
+ dat += "Eject"
+ else
+ dat += "
Error, You don't seem to have a bank account with us."
+ dat += "
"
+
+ dat += "
"
+
+
+ var/datum/browser/popup = new(user, "atm", "ATM")
+ popup.set_content(dat)
+ popup.set_title_image(user.browse_rsc_icon(icon, icon_state), 500,300)
+
+ popup.open()
+
+/obj/machinery/atm/attackby(obj/item/I, mob/living/user)
+ if(istype(I, /obj/item/card))
+ if(!held_card)
+ var/obj/item/card/id/idcard = I
+ if(!user.transferItemToLoc(I, src)) //check if you can put it in
+ return
+ held_card = idcard
+ user = idcard.registered_name
+ playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE)
+
+/obj/machinery/atm/Topic(href, href_list)
+ . = ..()
+ if(..())
+ return
+
+ if(href_list["card"])
+ if(held_card)
+ if(usr.CanReach(src))
+ if(usr.put_in_hands(held_card))
+ to_chat(usr, "You take the ID out of the slot.")
+ held_card = null
+ user = ""
+ else
+ to_chat(usr, "The machine drops the ID onto the floor!")
+ held_card = null
+ user = ""
+ if(href_list["withdraw"])
+ if(held_card)
+ var/obj/item/card/id/idcard = held_card
+ if(idcard.registered_account)
+ var/ammount = input(user, "Choose ammount", "Withdraw") as num|null
+ if(ammount)
+ ammount = max(min( round(text2num(ammount)), idcard.registered_account.account_balance),0)
+
+
+
+ src.ui_interact(usr)
+
+
+//Money, Well, get back, I'm all right Jack, Keep your hands off of my stack.
+//making our own currency, just to stop exploits (for now)
+
+/obj/item/stack/credits
+ name = "credits"
+ singular_name = "credit"
+ icon = 'hyperstation/icons/obj/economy.dmi'
+ icon_state = "cash"
+ amount = 1
+ max_amount = 100
+ throwforce = 0
+ throw_speed = 2
+ throw_range = 2
+ w_class = WEIGHT_CLASS_TINY
+ full_w_class = WEIGHT_CLASS_TINY
+ resistance_flags = FLAMMABLE
+ var/value = 1
+
+/obj/item/stack/spacecash/proc/update_desc()
+ var/total_worth = amount*value
+ desc = "Legal tender, It's worth [total_worth] credit[( total_worth > 1 ) ? "s" : ""]"
\ No newline at end of file
diff --git a/hyperstation/icons/obj/economy.dmi b/hyperstation/icons/obj/economy.dmi
new file mode 100644
index 0000000000000000000000000000000000000000..6e6dec04dc64dd1425a4adc471ce201e05cc14fc
GIT binary patch
literal 780
zcmV+n1M~ceP)(s9>`11#-&tQ!PUW4v_Xw
zb8v=X&a&SoL_!=6JAe_3e&BiDfM4}*P(6VyPrx?7;)4Iqhmp%H@>eHhz4knhhji6r3`5BRe<3eC=<#<
zaDD}Cy;2}17*(8aVDO<_g4_Y!qdgpr<9OT@aNZl=$4i_{r<0~Fz+TKB)!#_>=o}mN
zxR?Kfe{w=;Qb7}Xyn`)IATy()7}nC$lSAA*d%vuWx3y
zJg>OLJ4h{hUNHw)ELZc@azW|cJ-`E4^}GUM*E<{zhr{tNSZ8@Acq}r>rgsNTv!Y;I
zRzB@mMYd_1fIFy~TlOq;xo7!HmjKj3&u47=TE4xP`@AUfPAkwl==nvR-!TAnFyyoH
zV^=bk=iR=6)QmG@0CiCG2GcSCxA;M~4sbXezsNTVP+gqkyt97*0000<
KMNUMnLSTY*FIwCH
literal 0
HcmV?d00001
diff --git a/hyperstation/icons/obj/genitals/belly.dmi b/hyperstation/icons/obj/genitals/belly.dmi
new file mode 100644
index 0000000000000000000000000000000000000000..1e6798de2585aab6a23b26eff4d1914dd5ae2815
GIT binary patch
literal 945
zcmV;i15W&jP)1Sad{Xb7OL8aCB*JZU6vyoKseCa&`CgQ*iP1
zHq(1L9(3(3)ouL_C-u5?aUz@
zgD@90gdx8Z0BFTc1-RXAmV%4lBch=I$Oa4r7rst{>h*b+7E?JDCgNl8eag(|76dqm(V)jvS0K|eQ%usnm56=V%
zgrQ2n>;!y<@&j}Xq=%Ph;53yytuX*nU<2}uGX$y-*mxm8Qey=CdgSltBcwwNJbd>c
z>r@yZMcPhrX0;=Mjf)Vw08t}|OWY5U|2_~n_~rtt1j|CZ0a}&=frA$%K74uCs?~@)
z5v(zuL!~WwcowOqd-YFu#~53N_~Om?&GvclxOZfLT<<$Fz$2m*^j`KU=E;-#d5{|tS@V4>flT-M
z_?`wq;3Q<*>e(EUA>VYM~L)1S|_^}`$C|4
z@ZJv^2%;=nN}lffK@$P$N3f6YCkaTBD1n}(tpq%nB=augy&s%r0Q<6}F^gDUV3#6j
z?b#kdy9h&Pg4DI)2tjubx)Qvg?-{(PbH^Ox{g5F;h74IH-~Vf1-XB^C^#75p`@Q_53#8x7zPd5VZUMvOl!j=Tp!I7vA13a3C1>|GYn3Krm#;kjv!
Date: Mon, 25 Jan 2021 17:41:33 -0300
Subject: [PATCH 002/121] upload sizegun.dm
---
hyperstation/code/modules/resize/sizegun.dm | 24 ++++++++++-----------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/hyperstation/code/modules/resize/sizegun.dm b/hyperstation/code/modules/resize/sizegun.dm
index d1154838..246b8a58 100644
--- a/hyperstation/code/modules/resize/sizegun.dm
+++ b/hyperstation/code/modules/resize/sizegun.dm
@@ -8,10 +8,10 @@
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
/obj/item/projectile/sizelaser/shrinkray
- icon_state="bluelaser"
+ icon_state = "bluelaser"
/obj/item/projectile/sizelaser/growthray
- icon_state="laser"
+ icon_state = "laser"
/obj/item/projectile/sizelaser/shrinkray/on_hit(var/atom/target, var/blocked = 0)
if(istype(target, /mob/living/carbon/human))
@@ -71,16 +71,16 @@
item_state = null
ammo_type = list(/obj/item/ammo_casing/energy/laser/shrinkray, /obj/item/ammo_casing/energy/laser/growthray)
selfcharge = EGUN_SELFCHARGE
- charge_delay = 5
+ charge_delay = 1 //it's a debug, make it go fast.
ammo_x_offset = 2
clumsy_check = 1
- attackby(obj/item/W, mob/user)
- if(W==src)
- if(icon_state=="bluetag")
- icon_state="redtag"
- ammo_type = list(/obj/item/ammo_casing/energy/laser/growthray)
- else
- icon_state="bluetag"
- ammo_type = list(/obj/item/ammo_casing/energy/laser/shrinkray)
- return ..()
+/obj/item/gun/energy/laser/sizeray/update_overlays()
+ . = ..()
+ var/current_index = current_firemode_index
+ if(current_index == 1)
+ icon_state = "redtag"
+ else
+ icon_state = "bluetag"
+
+//Attack self is not needed, if ammo_type is a list, the parent code will deal with it
From b0b73b5e79512566bc90558043b7e4a5a4d666ad Mon Sep 17 00:00:00 2001
From: QuoteFox <49098813+quotefox@users.noreply.github.com>
Date: Tue, 26 Jan 2021 17:43:29 +0000
Subject: [PATCH 003/121] atm finished
atm finished
---
_maps/map_files/BoxStation/BoxStation.dmm | 23 +++---
hyperstation/code/modules/economy/account.dm | 4 +-
hyperstation/code/obj/economy.dm | 75 ++++++++++++++++----
3 files changed, 75 insertions(+), 27 deletions(-)
diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm
index b802e2e2..1ccd4278 100644
--- a/_maps/map_files/BoxStation/BoxStation.dmm
+++ b/_maps/map_files/BoxStation/BoxStation.dmm
@@ -1534,7 +1534,7 @@
"aDz" = (/turf/open/floor/carpet/red,/area/crew_quarters/bar)
"aDA" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/freezer,/area/crew_quarters/toilet)
"aDB" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 8},/turf/open/floor/carpet/red,/area/crew_quarters/bar)
-"aDC" = (/obj/machinery/power/apc{areastring = "/area/crew_quarters/bar"; name = "Bar APC"; pixel_y = -24},/obj/structure/cable,/turf/open/floor/carpet/red,/area/crew_quarters/bar)
+"aDC" = (/obj/machinery/power/apc{areastring = "/area/crew_quarters/bar"; name = "Bar APC"; pixel_y = -24},/obj/structure/cable,/obj/effect/landmark/start/bartender,/turf/open/floor/carpet/red,/area/crew_quarters/bar)
"aDD" = (/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Dormitory"},/turf/open/floor/plasteel,/area/hallway/primary/central)
"aDE" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/machinery/meter,/turf/open/floor/plating,/area/maintenance/starboard/fore)
"aDF" = (/obj/machinery/atmospherics/components/binary/valve{dir = 4},/turf/open/floor/plating,/area/maintenance/starboard/fore)
@@ -1598,7 +1598,6 @@
"aEL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/closed/wall,/area/crew_quarters/bar)
"aEM" = (/obj/machinery/airalarm{dir = 8; pixel_x = 24},/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1},/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/freezer,/area/crew_quarters/toilet)
"aEN" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/twohanded/required/kirbyplants/random,/turf/open/floor/plasteel,/area/gateway)
-"aEO" = (/obj/structure/bed,/obj/effect/spawner/lootdrop/bedsheet,/turf/open/floor/carpet/red,/area/crew_quarters/bar)
"aEP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/starboard/fore)
"aEQ" = (/obj/machinery/door/airlock{name = "Service Hall"; req_one_access_txt = "25;26;35;28"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plating,/area/hallway/secondary/service)
"aER" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/closed/wall,/area/hallway/secondary/service)
@@ -1931,7 +1930,7 @@
"aLg" = (/obj/structure/chair/stool{pixel_y = 8},/turf/open/floor/wood,/area/crew_quarters/theatre)
"aLh" = (/obj/structure/table/wood,/obj/item/instrument/trumpet,/turf/open/floor/carpet,/area/crew_quarters/theatre)
"aLi" = (/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel,/area/hallway/primary/port)
-"aLj" = (/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel,/area/hallway/secondary/entry)
+"aLj" = (/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/atm{pixel_y = 30},/turf/open/floor/plasteel,/area/hallway/primary/fore)
"aLk" = (/obj/structure/table/wood,/turf/open/floor/carpet,/area/crew_quarters/theatre)
"aLl" = (/obj/structure/table/wood,/obj/item/instrument/trombone,/turf/open/floor/carpet,/area/crew_quarters/theatre)
"aLm" = (/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel,/area/hallway/primary/port)
@@ -1969,6 +1968,7 @@
"aLS" = (/obj/structure/table/wood,/obj/item/instrument/saxophone,/turf/open/floor/carpet,/area/crew_quarters/theatre)
"aLT" = (/obj/structure/chair/stool{pixel_y = 8},/obj/machinery/atmospherics/components/unary/vent_scrubber/on,/turf/open/floor/wood,/area/crew_quarters/theatre)
"aLU" = (/obj/structure/closet/secure_closet/freezer/meat,/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/showroomfloor,/area/crew_quarters/kitchen)
+"aLV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/atm{pixel_y = 30},/turf/open/floor/plasteel,/area/crew_quarters/fitness)
"aLW" = (/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/open/floor/plating,/area/maintenance/starboard/fore)
"aLX" = (/obj/structure/cable{icon_state = "1-2"},/obj/structure/cable{icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 5},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/open/floor/plasteel,/area/hallway/primary/central)
"aLY" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/structure/cable{icon_state = "4-8"},/obj/structure/mirror{pixel_y = 32},/obj/structure/sink{pixel_y = 24},/turf/open/floor/plasteel/freezer,/area/crew_quarters/toilet)
@@ -2828,7 +2828,7 @@
"bcu" = (/obj/structure/disposalpipe/segment{dir = 6},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/port)
"bcv" = (/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/junction/flip{dir = 1},/turf/open/floor/plating,/area/maintenance/port)
"bcw" = (/obj/effect/landmark/xeno_spawn,/obj/item/bikehorn/rubberducky,/turf/open/floor/plasteel/freezer,/area/crew_quarters/toilet)
-"bcx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/junction/yjunction{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel/dark,/area/crew_quarters/bar)
+"bcx" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/machinery/atm{pixel_y = 30},/turf/open/floor/plasteel,/area/hallway/secondary/entry)
"bcy" = (/obj/structure/closet/wardrobe/green,/obj/machinery/light{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel,/area/crew_quarters/locker)
"bcz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel,/area/crew_quarters/cryopod)
"bcA" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/obj/structure/closet/crate/freezer,/turf/open/floor/plasteel,/area/quartermaster/warehouse)
@@ -3155,11 +3155,13 @@
"biJ" = (/obj/machinery/vending/snack/random,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/crew_quarters/bar)
"biK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/airalarm{pixel_y = 25},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel,/area/hallway/primary/starboard)
"biL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel,/area/hallway/primary/central)
+"biM" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/machinery/atm{pixel_y = 30},/turf/open/floor/plasteel,/area/hallway/primary/central)
"biN" = (/obj/effect/turf_decal/loading_area{dir = 10; icon_state = "steel_panel"; name = "steel pannel"},/turf/open/floor/plasteel,/area/hydroponics)
"biO" = (/obj/effect/turf_decal/loading_area{dir = 8; icon_state = "steel_panel"; name = "steel pannel"},/turf/open/floor/plasteel,/area/hydroponics)
"biP" = (/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/light/small,/obj/item/drone_shell/snowflake,/turf/open/floor/plasteel/dark,/area/ai_monitored/turret_protected/aisat_interior)
"biQ" = (/obj/effect/turf_decal/loading_area{dir = 6; icon_state = "steel_panel"; name = "steel pannel"},/turf/open/floor/plasteel,/area/hydroponics)
"biR" = (/obj/effect/turf_decal/loading_area{dir = 9; icon_state = "steel_panel"; name = "steel pannel"},/turf/open/floor/plasteel,/area/hydroponics)
+"biS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/junction/yjunction{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/atm{pixel_y = 30},/turf/open/floor/plasteel/dark,/area/crew_quarters/bar)
"biV" = (/obj/structure/table,/obj/item/reagent_containers/glass/beaker{pixel_x = 5},/turf/open/floor/plasteel/cafeteria,/area/crew_quarters/kitchen)
"biW" = (/obj/effect/landmark/start/botanist,/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "steel_panel"; name = "steel pannel"},/turf/open/floor/plasteel,/area/hydroponics)
"biX" = (/obj/effect/turf_decal/loading_area{dir = 5; icon_state = "steel_panel"; name = "steel pannel"},/turf/open/floor/plasteel,/area/hydroponics)
@@ -3428,7 +3430,6 @@
"bob" = (/turf/closed/wall/r_wall,/area/crew_quarters/heads/hop)
"boc" = (/turf/closed/wall/r_wall,/area/storage/tech)
"bod" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"},/obj/structure/cable{icon_state = "0-4"},/turf/open/floor/plating,/area/engine/gravity_generator)
-"boe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/structure/sign/poster/random{pixel_y = 32},/turf/open/floor/plasteel,/area/crew_quarters/fitness)
"bof" = (/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 8},/obj/machinery/door/airlock/external{name = "Escape Airlock"},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/hallway/secondary/exit)
"bog" = (/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel/white,/area/science/lab)
"boh" = (/obj/item/stack/sheet/glass,/obj/structure/table/glass,/obj/item/stack/sheet/glass,/obj/item/stack/sheet/glass,/obj/item/stock_parts/matter_bin,/obj/item/stock_parts/matter_bin,/obj/machinery/light{dir = 4},/obj/item/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/stock_parts/scanning_module,/obj/machinery/power/apc{areastring = "/area/science/lab"; dir = 4; name = "Research Lab APC"; pixel_x = 26},/obj/structure/cable{icon_state = "0-8"},/turf/open/floor/plasteel/white,/area/science/lab)
@@ -7313,13 +7314,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaadaaaaaaaadajJajJakSajJajJaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaacakTakTakTakTakTaaaaaaaaaaaaaaaaaaakUakVakWakrakXakYakZaiUalaaiMalbagdalcaldaleagdalfaldaleagdalfalgaleagdalhalialjaldaldagdaldallalmaiUalnaloalpalqalpalralsakoajdaiEasCahfanfangaqGasDasEaszdeJvhIvhIvhIjjfvhIvhIvhIorcasBrjaaaaaaeaaeaaeaaaaaaaaaaceaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaltalualtaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaadaaaaaaaadalvalwalxalyalvalzalzalzalzalzalzalzalzalzaaaaaaaaaaaaakTalAalBalCakTaaaaaaaaaaaaaaaaaaaiIaiIaiIalDalEalFalGaiUalHaldalIagdalJaldalKagdalLaldalMagdalNaldalOagdalPalQalRaldalkagdalTalUalVaiUalWalXalWalYalWalZalWalWajdaiEaiFaqGaqGaqGaqGapPapQaszarKfVupkRarDarDarDpkRarDeWKasBrjaaaaatJaaaatJaaaaadanIambanIaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaltamcaltaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvamdameamfalvamgamgalzamhamiamjalzamkalzaaaaaaaaaaadalzamlamiammalzaaaaaaaaaaaaaaaaaaaaaaaaamnaiHaiIamoampaiUamqamramsaiUamtamuamuamvamuamuamuamvamuamuamuamvamwamxamyamzamAaiUaiUaiUaiUaiUamBamCamBajcamBcxyamBamBajdamEcJgaqGatvcsRatwhoDcIXaszarKarDarDarDarDarDarDarDeWKatxwzqaaaatJaaaatJaaaaadamaamHamaaadaadaadaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaltamIaltaadaaaaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamJamJamJamJamJamJamJamJamJamJamJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvamKamLamMalvamNamOaziamQamiamRalzalzalzakTalzakTakTalzehTamTamSalzaaaaaaaaaaaaaaaaaaaiIaiIaiIamUamVamWamXajLaiUaiUaiUaiUamYamYamYamZamYamYamYanaamYamYamYamZamYamYamYanbanbancandandbYdaneamBamCamBajcamBcxyamBamBajdaiEaiFaqGctJhoDatyhoDcuiatKarKeqmarDarDugbarDarDarDeWKauvwzqaadaaeaaeaaeaadanIanIanianIanIaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaadatJaaaaltamIaltaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamJamJamJamJamJamJamJamJamJamJamJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalvamKamLamMalvamNamOaziamQamiamRalzalzalzakTalzakTakTalzehTamTamSalzaaaaaaaaaaaaaaaaaaaiIaiIaiIamUamVamWamXajLaiUaiUaiUaiUamYamYamYamZamYamYamYanaamYamYamYamZamYamYamYanbanbancandaLjbYdaneamBamCamBajcamBcxyamBamBajdaiEaiFaqGctJhoDatyhoDcuiatKarKeqmarDarDugbarDarDarDeWKauvwzqaadaaeaaeaaeaadanIanIanianIanIaaaaaaaadaaaaaaaadaaaaaaaaaaaaaaaaadatJaaaaltamIaltaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamJanjanjanjanjanjanjanjanjanjamJaadaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaalvalvankanlalvanmamialzamiamiamiaziamiamiannamialBamiamiamiamianoakTaaaaaaaaaaaaaaaanpanqakVanrakrakXakYakXansanbanbanbantanbanbanuanbanbanbanbanbanbanbanvanbanbanbanwanbanbanbanbanbanbanxajcanyanzanAanBanCanzajcapaanEanFaqGauDhoDhoDcuhcIXaszarKarDarDarDarDarDarDarDeWKavEwzqaaaatJaaaatJaaaanIanJanKanLanIaaaaaaaadaaaaaaaadaaaaadaaaaaaaaaatJaltaltaltamIaltaltaltaltaltaltaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamJanjanjanjanjanjanjanjanjanjamJamJanMamJamJaadaaaaaaaaaaaaalzalzalzalzalzaadaadalzanNanOanPanQamOalzalzakTakTalzalzalzalzakTalzakTakTalzanRamianSalzaaaaaaaaaaaaaaaaaaaiIaiIanTanUanVanWanXaiHanYanYanYanYanYanZaoaanYanYanYanYanYanYanYaobaocaocaocaodaoeaocaofaogaohaoianeaojaokajdajdajdajdajdajdajdaiEaolaqGaEChoDbqqhoDcujaszarKarDarDarDerQarDarDarDeWKasBrjaaaaatJaaaatJaaaanIaooaopaoqanIaaaaaaaadaaaaaaaadaaaaadaltalualtalualtaoramIamIamIamIamIamIaosaltaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadamJanjanjanjanjanjanjanjanjanjaotaouaovaowamJaadaaeaaealzalzalzaoxaoyaozalzaaaaaaalzamianOanmamiaoAalzaoBaoBaadaoBaoBaadaadaaFaaFaoCaoCalzaoDamiaoEalzaaaaaaaaaaaaaaaaaaaaaaadajLaiHaoFaiHaoGaoHaoHaoHaoIaoHaoHaoHaoJaoKaoKaoKaoLaoKaoKaoMaoNaoOaoPanGaoQanGanGanGanGaoRanGaoSaoSaoSaoSaoTaoUaoVaoWaoXaoXaoYaoZaqGbFmhoDhoDhoDcIXaszarLaGharEarFarFarFarGarFdwaasBrjaaaaaaeaaeaaeaaaanIapdapeapfanIapgapgapgapgapgalualualualtaphamIaosaltaltamIaltaltaltaltapialtaltaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadamJanjanjanjanjanjanjanjanjanjanMapjapkaplamJaadalzapmalzapnapoamiappamialzakTakTalzapqanOanmapqalzalzalzakTakTakTalzalzaaFapraadaadaaFalzalzamPalzalzaaaaaaaaaaaaaaaaaaaaaaadaiHapsakVaiHaptaoHapuapvapwapxapwaoHapyaoKapzapAapBapCaoKamYanbapDapEapFapGapGapGapGapGapHapIapGapGapGapGapGapJapKapLapMapNapOcsQaqGctzhoDcsScsTcsUcsVctyctxctyctyctycsWculctActActBrjaaadaluapValuapganIanIapWapXanIapYamIamIapZaltaqaamIaqbaltaqcamIamIaqdaltamIaltaqeaqfaltamIaqgaltaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadamJanjanjanjanjaqhanjanjanjaqiaqjapjapkaqkamJaadalzamialzaqlaqmanQaqnaqoalzaoEamiaqpxJwanOaqqamiamiamiamiamiamiamiamialzalzalzaadaaFaadaaFaqraqsaqraaaaaaaaaaaaaaaaaaaaaaaaaadaiHaqtaquaiHaqvaoHaqwaqxaqyapwapwaoHapyaoKaqzapBaqAaqBaqCamYanbandapEaiEaqDaqDaqDaqDaqDaqEaqFaqDaqDaqDaqDaqDaqDaqDaqDaqDasGaqGaqIaqGatIayGctCatIctDatzatzaEXatzatzapUaJgaqGaqGaqGaqGaqGaaaaqLamIaluapgaqMaqNaqOaqPamIamIamIaltamIaltaqQamIamIaltamIaqRaqSaqTapiamIaltaqUaqValtdPCapZaltaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadamJanjanjanjanjanjanjanjanjanjanMaqWapkaqXamJalzalzaqYalzalzalzamPaqZaraaraarbarcardarcarearfargarhalzamialzalzalzamialzarialzaaFaadaoBaadaqraqsaqraaaaaaaaaaaaaaaarjarjarjarjarjarjarjarjaptaoHarkarlarmapwarnaoHapyaroarparqarrarsaqCamYanbartapEaiEaqDaruarvautarxaryatAaqDatBatCatGaqDatHauuayzaqDasGaqGctEboeauFauFauGauHaqJaqKaqKaqKaqKaqKaqJapRaEYayHaadaadaadaadaluarNaluapgarOamIarPuyYaoramIaltaltarQaltaltarRaltaltaqTarSarTamIaltamIarUarUarUarUarUarUarUarUarUarVarVarVarVaaFarVarVaadaadaoBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadamJanjanjanjanjanjanjanjanjanjanMaqWapkaqXamJalzalzaqYalzalzalzamPaqZaraaraarbarcardarcarearfargarhalzamialzalzalzamialzarialzaaFaadaoBaadaqraqsaqraaaaaaaaaaaaaaaarjarjarjarjarjarjarjarjaptaoHarkarlarmapwarnaoHapyaroarparqarrarsaqCamYanbartapEaiEaqDaruarvautarxaryatAaqDatBatCatGaqDatHauuayzaqDasGaqGctEaLVauFauFauGauHaqJaqKaqKaqKaqKaqKaqJapRaEYayHaadaadaadaadaluarNaluapgarOamIarPuyYaoramIaltaltarQaltaltarRaltaltaqTarSarTamIaltamIarUarUarUarUarUarUarUarUarUarVarVarVarVaaFarVarVaadaadaoBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadamJanjanjanjanjanjanjanjanjanjanMarWapkarXamJarYarZasaasbasbasbasbasbasbascasdasealzalzalzalzamialzalzamiasfalzargamialzalzalzalzaoBaoBaoBaqrasgaqraaaaaaaaaaadaadarjashasiarjasjaskaslarjaptaoHapxasmapxasnapwaoHasoaspasqapBasrcagaqCamYanbassapEaiEaqDastasuasvavxasxauIaqDavyavAavBaqDavyavCbFnaqDavDaqGctFavFapRayFavHavIaqJaqKaqKaqKaqKaqKaqJapRayDayHaaaaaaaaaaaaaluamIapYapgasMaqTarPamIasNasOasPapiamIamIamIamIamIamIamIarSasQamIatOamIarUasSasTasUarUasVasWasXarUaadaoBaoBaoBaoBaoBaoBaoBaoBaoBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaamJanjanjanjanjanjanjanjanjanjanMarWasYasZamJamiamiataatbatcatcatcatcatcatcatdateatfaaFatgalzamiathapqargatialzatjamiamiamiatkakTaoBaoBaadaqraqsaqraaaaaaaaaarjarjarjaqsaqsarjaqsaqsaqsarjaptaoHapxatlatmatnapxaoHapyatoaoKatpatqatraoKatsanbandapEaiEaqDaqDaqDaqDaqDattazgaqDavJavAavKaqDbPPavAavLaqDasGaqGawRawTawUawUawVawWasKaqKaqKaqKaqKaqKaqJapRaEZayHatJatJatJaadaluamIctGapgatLamIatMatNatNatNatNavXatNatPamIamIamIuyYamIamIamIamIaltasOarUatQatRatRarUatSatTatUarUaoBaoBaoBaoBaoBaoBaoBaoBaoBaoBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadamJanjanjanjanjanjanjanjanjanjanMatVatWatXamJatYlORauaaubanRaucaudaueaufalzaugateaaFauhatfakTamiasfalzalzalzalzalzalzalzauiatkakTaadaoBaadaqraqsaqraaeaaeaaeaujaukaulaqsaqsarjarjaumarjarjaptaoHaoHaunaoHauoaoHaoHaupauqaoKaoKaoKaoKaoKauranbausapEaiEaqDaruarvaytarxawXawYaqDaqDawZaqFaqDaqDaxaaqFaqDaxbaqGaxcatDaxdaxdaxeaxfatEaqKaqKaqKaqKaqKatFasHaFaaqGaltaltaltaltaltamIaltapgapgapgapgapgapgapgapgapgaltauMauNaltaltaltaltaltaltaltaltamIauOarUatRatRauPauQatQauRarUaoBaoBaoBaoBaoBaoBaoBaoBaoBaoBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -7333,13 +7334,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJat
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRMatJjXDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayUayWaEcaBeaEdaEeaEfaEgaEhaEiazcaFraFsaFwaFxaFsaFwaFxaEkaGVaGYaGZaHaaGZaGZaGZaGZaIuaGVaBnaKiaKjaKkaKkaGjaHyaKkaKpaKraBTaxZayaaEraEsaEtaEuaEvayaaqsaEwaydaydaDiaExaEyaEzaEAaydaydayoayoayqaEBayqazwanbazxahfafmaomaGgaHtbczbdwbdxbeMaEKaEKaEKbssaEMaEKbghbghbgibeLazFaqGaqGbbVaHCaJabnbaCiaCiaCiaCiaCiaCiaCiaCibGNaltaltaltaEPaltayKaEQaERaESaETaEUaEVaEWaEVaHwaHBaHVaHWaHXaFbaFbaFbaFbaFcaFdaFeaFcaFcaFcaFcaFcaFcaFcaFfaFgaFhaCwaCwaCwaadaadaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayUayWaFiaBeaFjaFkaFlaFmaFnaFoazcaIzaYjbfNbgTbjjaCFaFqazcaIvaIwaFtaFuaElaElaElaFvaIxaIyaBnaLcaLgaKkaLhaLkaLlaKkaLnaLoaBTaFDayaaFEaFFaEtaFGaENayaaqsaFIayqaFJayoaFKaFLaFMayoaFNayqaFOaFPayqaFLayqaFQaoNaFRahfafmaombtSbtTbtUbBTattatuazFbaubaKbLfcHhazFazFazFazFazFazFaKtaITbbVaLXaGbbsrbsDcImbjkaOdaDOaDOaDOcveaLWaGmaGkaGkaGnaGiaGoaGpaCnaGqaGraGsaGtaGuaGtaHYaGwaFbaHZaIaaKIaKJaMpaGBaFcaGCaGDaFcaGEaGFaGGaGHaGIaGJaGKaGLaGMaGNaGOaGPaaaatJaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGQayUayWcEwaBeaBeaGSaGTaGUaGTaBeazcazcazcazcazcazcaGWaGXazcaIAaIBaJUaJUaJUaQKaJUaJUcGdcGeaBnaLpaLxaKkaLkaLSaLkaKkaLTaLZaBTaxZayaaHdaHeaHfaHgaHhayaaqsaHiayqaHjayoaHkaFLaHlayoaHmayqaAQaAQayqaHnayqaHoaHpaHqahfanDaomaomaomaomaomaHraHsazFazFazFbLfbjlbsGbsGaLYaMcaNmaNoaNuaNUbbVaOcaNnaJdcvtaJdcuucvtaJdaJdaJdcvuaHKaHLaHMaxpaxpaxpaHNaHOaHPaHQaHRamIaHSaHSaHSaHTaIoaFbaMraNEaOzbagbcbbhPaFcaIbaIcaFcaIdaIeaIfaIgaGIaIhaFfaFgaDYaIiaIjaGPaaaatJaaaaaaatJaaaaaaaaaaaaaaaaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayUayWaxBaIraIlaImaIlaInbvpaLfaLjaLqaLvbjpbswaJLaCFbyiazccGfcGgcGhcGicGjcGkcGlcGmcGncGoaBnaMaaMbaKkaKkaKkaKkaKkaMNaMaaBTaxZayaaIEaIFaIGaFGaIHayaaqsapyayqaIIcbvaFLaFLaFLaIJaIKayqcFwcFxaHFaIMaINaIOaIPbULbUQaISaIQcFAcFBaITaOuaIVaIWazFbaubbpcHxbbcbbcbbcbbcaOvazFaOwaOyaVmbbVbpAaVnaJdaBQaBRaDxaOxaNsaFHaNraJiaJiaJjaJkaJlaJiaJmaHSaHSaJnaHTaHSaHSaHSaJoaJpaHTaHUaFbaJqaJraJsaJtaJuaJvaFcaJwaJxaJyaJzaJAaJBaJCaJDaIhaFfaJEaDYaGNaJFaGPaaaaaaaaaaaaatJaaaaMzaMzaMzaMzaMzaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRMatJjXDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayUayWaxBaJGaJHaJIaJHaJJaJHaJHaJHaJKaLOcFCbyfaJLaJMaJLazcaJNaJOaJNaBnaBnaBnaBnaJNaJPaJQaBnaBTaMPaNjaNjaNkaNjaNjaNlaBTaBTaJXayaaJYayaaJZaKaaKbayaarjaoJayqayqayqaAQaKcaAQayqayqayqcFEcFFcFGaKdaIPaIPaIPaIPaIPaKecFHcFIcFJaITaWGaIVaKgazFazFazFazFazFazFazFazFaKqazFaWIaWIaOCbbVbpAaWJaELaPLaDBaDCaOmaDzaDzaEOaJiaLUaKuaKvaKwaJiaKxaKyaKzaKAaKBaKCaKDaKEaKFaKGaHTaHUaFbaKHaMpaMqbmcaMpaKKaFcaKLaKMaKNaKOaKPaKQaKRaFcaFcaKSaFgaDYaIiaIjaGPaaaaaaaaaaaaatJaaaaMzaNIaNJaNLaMzaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauSaKTaxBaKUaKVaKWaKXaKYaKZaweaLaaLbaxBaIraNXaNYaNYaNYaOaaNYbzEaNYaNYaNYaNYaNYaNYbSqaObbSxbTEbUPaNYaNYaNYaNYaNYbVLaNYbVMbWDbWEaLraLmaLsaLmaLtaMWaLuaOeaLwaLRaEEaIRaIRaIRaLNaLPaLPbiFaLPaLPaLAaLBaLCaLDaLEaLFaLGaLPaLPcFDaLHaLIaLJaLKaPJbcXaNKbiGaLPbiHcvEbAIaXUaYkaZMaZMaZMbaEbbbbbRaJdcvtaGcaJdaJdaJdaJdaJdaJiaMdaKuaMeaMfaJiaJiaMgaMhaMiaMjaMkaMlaMmaMnaMoaHTaHUaFbaGzboFaMpaNDaMpaMpaFcaMsaMtaFcaMuctNaKRaKRaFcaMvaMwaMxaDYaCwaCwaCwaMyaMzaMzaMzaMzaMyaMycExaQjaOXaMzaaaatJaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayUayWaxBaIraIlaImaIlaInbvpaLfbcxaLqaLvbjpbswaJLaCFbyiazccGfcGgcGhcGicGjcGkcGlcGmcGncGoaBnaMaaMbaKkaKkaKkaKkaKkaMNaMaaBTaxZayaaIEaIFaIGaFGaIHayaaqsapyayqaIIcbvaFLaFLaFLaIJaIKayqcFwcFxaHFaIMaINaIOaIPbULbUQaISaIQcFAcFBaITaOuaIVaIWazFbaubbpcHxbbcbbcbbcbbcaOvazFaOwaOyaVmbbVbpAaVnaJdaBQaBRaDxaOxaDzaFHaNraJiaJiaJjaJkaJlaJiaJmaHSaHSaJnaHTaHSaHSaHSaJoaJpaHTaHUaFbaJqaJraJsaJtaJuaJvaFcaJwaJxaJyaJzaJAaJBaJCaJDaIhaFfaJEaDYaGNaJFaGPaaaaaaaaaaaaatJaaaaMzaMzaMzaMzaMzaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRMatJjXDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayUayWaxBaJGaJHaJIaJHaJJaJHaJHaJHaJKaLOcFCbyfaJLaJMaJLazcaJNaJOaJNaBnaBnaBnaBnaJNaJPaJQaBnaBTaMPaNjaNjaNkaNjaNjaNlaBTaBTaJXayaaJYayaaJZaKaaKbayaarjaoJayqayqayqaAQaKcaAQayqayqayqcFEcFFcFGaKdaIPaIPaIPaIPaIPaKecFHcFIcFJaITaWGaIVaKgazFazFazFazFazFazFazFazFaKqazFaWIaWIaOCbbVbpAaWJaELaPLaDBaDCaOmaDzaDzaNsaJiaLUaKuaKvaKwaJiaKxaKyaKzaKAaKBaKCaKDaKEaKFaKGaHTaHUaFbaKHaMpaMqbmcaMpaKKaFcaKLaKMaKNaKOaKPaKQaKRaFcaFcaKSaFgaDYaIiaIjaGPaaaaaaaaaaaaatJaaaaMzaNIaNJaNLaMzaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauSaKTaxBaKUaKVaKWaKXaKYaKZaweaLaaLbaxBaIraNXaNYaNYaNYaOaaNYbzEaNYaNYaNYaNYaNYaNYbSqaObbSxbTEbUPaNYaNYaNYaNYaNYbVLaNYbVMbWDbWEaLraLmaLsaLmaLtaMWaLuaOeaLwaLRaEEaIRaIRaIRaLNbiMaLPbiFaLPaLPaLAaLBaLCaLDaLEaLFaLGaLPaLPcFDaLHaLIaLJaLKaPJbcXaNKbiGbiMbiHcvEbAIaXUaYkaZMaZMaZMbaEbbbbbRaJdcvtaGcaJdaJdaJdaJdaJdaJiaMdaKuaMeaMfaJiaJiaMgaMhaMiaMjaMkaMlaMmaMnaMoaHTaHUaFbaGzboFaMpaNDaMpaMpaFcaMsaMtaFcaMuctNaKRaKRaFcaMvaMwaMxaDYaCwaCwaCwaMyaMzaMzaMzaMzaMyaMycExaQjaOXaMzaaaatJaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJatJaaaaaaaaaaaaaaaaaaaaaaaaayUaRNayUayUayUayUayUayUaRNayUaaaauSaBdaMAaKUaMBaMCaMDaMEaMFaweaMGaLbaMHaIkaLdaMIaMJaMLaMKaMLaMMaLeaLeaLeaLeaLeaLeaLeaLiaLdaLebXCaLeaLeaPKaPOaMQaMRaMQaMRaMSaMQaMTaMQaMUaMQaMVaOnaMXaMYaMZaIPaIPaIPaIPaIPaIPaIPaIPaLzaIPaIPaNaaNbaNcaNdaNeaNfaNgaIPaIPaLzaIPaNhaIPaIPaIPaIPaIPaIPaIPaNiaIPaIPaIPaLzaIPaIPaIPaIPaIPbbXaJdaKsaNpaPQaWKaQFaJdaQGaJiaNvaKuaNwaNxaNyaJiaHSaHSaNzaHSaHSaHSaNAaNBaNAaHTaHUaFbaFbaFbbtJbtKaFbaFbaFcaFcaFcaFcaFcaFcaFcaNFaFcaFfaFfaFgaDYaNGaNHaCwaOYaPaaPbaQgaQkaQlaMyaQmaQjaOXaMzatJatJatJatJatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajXDaGRaNMatJatJatJatJauSaAaauSayUaRJayUaNNaNOaNPaNQayUaRJayUayUauSayWaxBaKUaNRaNSaMDaMEaMFaweaNTaLbaxBaPmaPnaPvbXDaPwaPwaPwaPxaPyaQCaNVaNZaPwaPwaPwaQEcGpaPwcHdcHecHecHfaSyaQIaOgaOfaOgaOhaOiaOjaOlaOkaQMaRPaWUaOoaOpaIPaOqaOqaOqaOraOqaOqaOqaOqaOsaOqaOqaOqaOqaOqaOqaOtaOqaOqaOqaOqaPPaOqaOqaOqaOqaOqaOqaOqaOqaIPaIPaIPbfQbfQaRfbfQbfQbfQbfQbfQaRiaJdaRlaKoaJhaLQaLQaJdaltaJiaOAaOBaODaWFaOEaJiaHSaOFaOGaOHaOIaKmaOHaOJaOKaHTaHUaFbaOLaOLaOMaONaOOaOOaOPaFbaOQaORaOSaCwaFfaGNaOTaFfaFfaOUaOVaCwaOWaCwaQnbamaRkaRkbcjaSWaMyaSXaOZaSYaMzaMzaMzaMzaMzaMzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRMatJjXDbanaaaaaaaaaaaaaaaaweawfaweayUaXfayUayWaxBaxBayXayUaXfayUaPcaPdaPeaxBaKUaPfaPgaKXaPhaKZaweaPiaLbaLOcFKcFLaPjaPkaPlaPlaPlaPlaPlaPlaQHaQLaPlaPoaPlaPlaPlaPpaPqaPraPqaPsaPtaPuaYMaLeaRObeuaRZbexbhKaPzaScaPAaPAaPMaRgaRmaILaILaILaILaILaILaILaILaPCaPDaPEaPFaPEaPEaPEaPGaPEaPHaPEaPIaPCaILaILaILaILaILaILaILaILaPMaTSaUTaJdaJdaJdaJdcuTbeNbeNcuTcwFaJdaRsbjnbMRcvDcvbaJiaRnaJiaJiaPRaJkaJiaJiaJiaJiaOHaPSaPTaPTaPTaPTaPUaOHaHTaHUaFbaPVaMpaOMaONaMpaMpaPWaFbaPXaPYaPZaCwaFfaIiaQaaQbaQbaQcaQdaQeaQfaCwaRkbfTbqAbTpchDaPbaMyaUsaVCbspaXcaRkaRkaXdaRkbkIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJaaaaQoaaaaaaaaaaxwaxyaxzayTaQpbvpaQqaPeaxBaxBaQraQqbvpaQpaPeaxBaxBaxBaQsaQtaQuaQvaQwaQxcFMaQyaQzaLOcFNcFOaPjaQBaPlaRQaRRaRSaRUaSLaSMaThaTmaTpaUeaUfaUCaPpaQNaQOaQPaPsaQQaPuaPuaQRaPuaPuaPAaPAaQSaQTaPAaPAaPAaQUbiLbbeaILaaaaaaaaaaaaaaaaaaaaaaPCaKnaQVaQWaQXaQYaQZaRaaRbaRcaRdaReaPCaaaaaaaaaaaaaaaaaaaaaaILaVNaIPbjDaJdaGaaRjaTTaTUcwZcwZaWHbcxbcWbdaaSaaSaaSacvaaVoaSBaRoaRpaRqaRraRtaRuaSuaJiaOHaRvaVsbiNbiNbiOaRxaOHaHTaRyaFbaRzaRzxNJaONaRAaRAaRBaFbaFbaRCaFbaCwaRDaGNaOTaREaRFaOUaOVaCwaCwaCwaYNcDRcEibbkbblbcgaMyaRGaRHaMzaMzaMzaMzaMzaMzaRIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJaaaaQoaaaaaaaaaaxwaxyaxzayTaQpbvpaQqaPeaxBaxBaQraQqbvpaQpaPeaxBaxBaxBaQsaQtaQuaQvaQwaQxcFMaQyaQzaLOcFNcFOaPjaQBaPlaRQaRRaRSaRUaSLaSMaThaTmaTpaUeaUfaUCaPpaQNaQOaQPaPsaQQaPuaPuaQRaPuaPuaPAaPAaQSaQTaPAaPAaPAaQUbiLbbeaILaaaaaaaaaaaaaaaaaaaaaaPCaKnaQVaQWaQXaQYaQZaRaaRbaRcaRdaReaPCaaaaaaaaaaaaaaaaaaaaaaILaVNaIPbjDaJdaGaaRjaTTaTUcwZcwZaWHbiSbcWbdaaSaaSaaSacvaaVoaSBaRoaRpaRqaRraRtaRuaSuaJiaOHaRvaVsbiNbiNbiOaRxaOHaHTaRyaFbaRzaRzxNJaONaRAaRAaRBaFbaFbaRCaFbaCwaRDaGNaOTaREaRFaOUaOVaCwaCwaCwaYNcDRcEibbkbblbcgaMyaRGaRHaMzaMzaMzaMzaMzaMzaRIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaRMatJjXDbanaaaaaaaaaaaaaaaaweaXgawgaRKaRLaRLaRLaRLaRLaRLaRLaRLaRKaRLaRLazaaxBaPmaXbaVOaVPaXbaVTcFPaWNaXbaXyaPjaPjaPjaQBaPlaZfaQDaQDaQDaQDaQDaQDaQDaQDaQDaQDaUIaPpaRVaQOaQOaPsaQQaPuaRWaRXaRXaRYaPAaSdaTxaSbaTAaUNaSebbVbiLbbeaILaaaaaaaaaaaaaPCaPCaPCaPCaSgaShaTHaSjaSkaSiaSmaSnaTHaSlaSvaPCaPCaPCaPCaaaaaaaaaaaaaILaVNaIPbjDaJdcuYcxiaKoaKoaKoaKokkzcvFaSfaSqaKoaKoaKogmfaVoaSBaSCaSDaSEaSFaSGaSHaSBaSIaSJaSKbiQaZubbdbiRaSNaOHaHTaHUaFbaMpaMpaOMaONaRAaRAaMpaSOaSPaMpaSQaCwaKSaSRaSSaREaREaSTaSUaSVaCwbchbcicEhcErbckaZObdjbdmbdnbdobwDbetaRkaRkaRkaRkbofaTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajXDbclcEeatJatJatJatJauSauSauSauSayUayUayUayUayUayUayUayUauSauSauSaAgaTbaTcaTcaTdaTcaTcaTcaTcaTeaTcaTcaPjaQAaTfaTgaPlbcyaQDaTiaTjaTkaTlaTkaTnaToaQDaQDaVMaPpaTqaTraTsaPsaQQaPuaTtaTuaTvaTwaPAaUOaTyaSbaTzaUPaSebbVaPBbbeaILaILaTBaPCaPCaPCaTCaTDaTEaTFaTGaTHaTIaTJaTHaTKaTHaTLaTMaTNaTOaTPaTQaPCaPCaPCaTBaILaILbDlaLzbbfaJdaSraKocxeaNqcxfcwAcxgaNqaSscwAcxgcuVcwIgmfaVoaSBaSBaStaTXaTYaTZaUaaSBaUbaUcaUdbiQbejbelbiRaUgaUhaHTaHUaFbaUiaUiaOMaONaUjaMpaMpaUkkkGaUlaUmaCwaUnaUoaUpaREaREaUqaUraFfaCwbewaQjaQhcEubckaZPbfVbfWaQhaQichSaMzaMzaMzaMzaMzaMzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayUcEAayWaUtaTcaUuaUvaUwaUxaUwaUyaUzaUwaTcjflaRTaUAaUBaPlbfaaUDaUEaUFaUGaUHaUGaUJaUKaULaUMaUIaPpaPpaPpaPpaPsaQQaPuaPuaPuaPuaPuaPAaUQbgfbhQbhRbhVaSebbVaIPbbeaBuaIRaURaUSaZQaPCaUUaUXaUWaUXaUYaUXaUZaVaaVbaVcaVdaVeaVfaVdaVgaSoaViaPCaZRaUSaVkaVlaCTaVNaIPaxxaJdaSwvaYcwDcwXnMVwLlcwHhdlaSzwLlcwHnniwSVgmfaJixtNaSBbgZbiVaVpaVpaUaaWLaJiaVraUdbiWbiXbiXbiYaUgaVtaHTaVuaFbaFbaFbaOMaONaVvaVwaMpaVxaVybqzaVzaCwaFfaSRaSSaREaREaVAaSUaVBaCwbpgaQjaQhcEubqBbjhbsdbfWaQhaQichSaMzaZNaZOaZPaMzbseaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/hyperstation/code/modules/economy/account.dm b/hyperstation/code/modules/economy/account.dm
index 23827cc8..e2f3d0cb 100644
--- a/hyperstation/code/modules/economy/account.dm
+++ b/hyperstation/code/modules/economy/account.dm
@@ -1,8 +1,10 @@
#define DUMPTIME 3000
/datum/bank_account
- var/account_holder = "Rusty Venture"
+ var/account_holder = "Some pleb"
var/account_balance = 0
+ var/account_pin = 0
+ var/account_dna = ""
var/datum/job/account_job
var/list/bank_cards = list()
var/add_to_accounts = TRUE
diff --git a/hyperstation/code/obj/economy.dm b/hyperstation/code/obj/economy.dm
index 500e9069..87224590 100644
--- a/hyperstation/code/obj/economy.dm
+++ b/hyperstation/code/obj/economy.dm
@@ -18,14 +18,14 @@
light_power = 0
light_range = 7
light_color = "#ff3232"
+ var/pin = 0
/obj/machinery/atm/ui_interact(mob/user)
. = ..()
var/dat = {""}
- dat += ""
dat += ""
- dat += "ATM
"
- dat += "
Welcome to Hyper Station 13's Automated Bank Teller Service."
+ dat += "
ATM
"
+ dat += "Welcome to Hyper Station 13's Automated Teller Service."
dat += "
"
if(!held_card)
dat += "
Welcome, please insert your ID to continue."
@@ -34,15 +34,22 @@
var/obj/item/card/id/idcard = held_card
if(idcard.registered_account)
dat += "
Account ID: ([idcard.registered_account.account_id])"
+ else
+ dat += "
Error, this account number does not exsist, please contact your local administration."
+
+ if(!idcard.registered_account.account_pin || pin == idcard.registered_account.account_pin)
dat += "
Balance: $[idcard.registered_account.account_balance]"
dat += "
"
dat += "Withdraw"
- dat += "Change Pin"
+ dat += "Change Pin"
dat += "Account Settings"
dat += "Eject"
else
- dat += "
Error, You don't seem to have a bank account with us."
- dat += "
"
+ dat += "
Please enter your bank pin to continue!"
+ dat += "
"
+ dat += "[pin ? pin : "----"]
"
+
+ dat += "
"
dat += ""
@@ -61,7 +68,9 @@
return
held_card = idcard
user = idcard.registered_name
- playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE)
+ pin = ""
+ playsound(src, 'sound/machines/button.ogg', 50, FALSE)
+ src.ui_interact(usr)
/obj/machinery/atm/Topic(href, href_list)
. = ..()
@@ -71,23 +80,59 @@
if(href_list["card"])
if(held_card)
if(usr.CanReach(src))
+ playsound(src, 'sound/machines/button.ogg', 50, FALSE)
if(usr.put_in_hands(held_card))
to_chat(usr, "You take the ID out of the slot.")
held_card = null
- user = ""
else
to_chat(usr, "The machine drops the ID onto the floor!")
held_card = null
- user = ""
+ pin = ""
+ user = ""
+
+ if(href_list["pin"])
+ playsound(src, get_sfx("terminal_type"), 25, 1)
+ var/pininput = input(user, "Input pin", "Pin Number") as num|null
+ if(pininput)
+ if(pininput > 9999 || pininput < 1000)
+ to_chat(usr, "[src.name] buzzes, you must input a 4 digit number between 1000 and 9999.")
+ return
+ pin = max(min( round(text2num(pininput)), 9999),1000) //4 numbers or less.
+ var/obj/item/card/id/idcard = held_card
+ if(pin == idcard.registered_account.account_pin)
+ to_chat(usr, "[src.name] beeps, accepting the pin.")
+ else
+ to_chat(usr, "[src.name] buzzes, denying the pin.")
+
+ if(href_list["changepin"])
+ playsound(src, get_sfx("terminal_type"), 25, 1)
+ var/pinchange = input(user, "Input pin", "Pin Number") as num|null
+ if(pinchange > 9999 || pinchange < 1000)
+ to_chat(usr, "[src.name], you must have a 4 digit number for a pin and be between 1000 and 9999.")
+ return
+ if(pinchange)
+ var/pinchange2 = input(user, "Confirm pin", "Confirm pin") as num|null //time to confirm!
+ if(pinchange == pinchange2)
+ var/obj/item/card/id/idcard = held_card
+ idcard.registered_account.account_pin = pinchange
+ to_chat(usr, "[src.name] beeps, your pin has been changed.")
+ else
+ to_chat(usr, "[src.name] buzzes, your pins did not match!")
+ pin = ""
+
if(href_list["withdraw"])
+ playsound(src, get_sfx("terminal_type"), 25, 1)
if(held_card)
var/obj/item/card/id/idcard = held_card
if(idcard.registered_account)
- var/ammount = input(user, "Choose ammount", "Withdraw") as num|null
- if(ammount)
- ammount = max(min( round(text2num(ammount)), idcard.registered_account.account_balance),0)
-
-
+ var/amount = input(user, "Choose amount", "Withdraw") as num|null
+ if(amount)
+ amount = max(min( round(text2num(amount)), idcard.registered_account.account_balance),0) //make sure they aint taking out more then what they have
+ to_chat(usr, "The machine prints out [amount] credits.")
+ idcard.registered_account.account_balance = (idcard.registered_account.account_balance-amount) //subtract the amount they took out.
+ var/obj/item/stack/credits/C = new /obj/item/stack/credits/(loc)
+ C.amount = amount
+ C.update_desc()
src.ui_interact(usr)
@@ -110,6 +155,6 @@
resistance_flags = FLAMMABLE
var/value = 1
-/obj/item/stack/spacecash/proc/update_desc()
+/obj/item/stack/credits/proc/update_desc()
var/total_worth = amount*value
desc = "Legal tender, It's worth [total_worth] credit[( total_worth > 1 ) ? "s" : ""]"
\ No newline at end of file
From f0fd47becd7ae814d0e0f9bf998d91abbc258d8a Mon Sep 17 00:00:00 2001
From: Vladin
Date: Tue, 26 Jan 2021 23:42:17 -0500
Subject: [PATCH 004/121] Your affinity for guns is apparent.
The mark of the Doom Slayer was burned upon his crypt, a warning to all of Hell that the terror within must never be freed. There he lies still, and ever more, in silent suffering.
---
hyperstation/code/obj/plushes.dm | 13 +++++++++++++
hyperstation/icons/obj/plushes.dmi | Bin 3309 -> 3434 bytes
2 files changed, 13 insertions(+)
diff --git a/hyperstation/code/obj/plushes.dm b/hyperstation/code/obj/plushes.dm
index 4e56c7b7..fee935c6 100644
--- a/hyperstation/code/obj/plushes.dm
+++ b/hyperstation/code/obj/plushes.dm
@@ -70,3 +70,16 @@
light_power = 0.25
light_range = 1.4
attack_verb = list("bapped", "slapped", "bonked")
+
+//Vladplush containment starts here
+/obj/item/toy/plush/nukeplushie/vladin
+ name = "elite operative plushie"
+ desc = "A stuffed toy that resembles an elite syndicate nuclear operative. He has a little wedding band!"
+ gender = MALE //he's a boy, there is no doubt here
+ young = TRUE //he's not actually young, but i refuse to have a plush that is not loyal to his partner. this is the only way i could figure out.
+ icon = 'hyperstation/icons/obj/plushes.dmi'
+ icon_state = "vladin"
+ item_state = "vladin"
+ attack_verb = list("nuked", "detonated", "CQC'd", "robusted")
+ squeak_override = list('sound/effects/hit_punch.ogg' = 1, 'sound/effects/hit_kick.ogg' = 1, 'sound/weapons/cqchit1.ogg' = 1, 'sound/weapons/cqchit2.ogg' = 1)
+//I can't figure out how to make him loyal to a specific type of plush. If anyone figures that out, there will be more. Until then, this is the end of the vladplush.
\ No newline at end of file
diff --git a/hyperstation/icons/obj/plushes.dmi b/hyperstation/icons/obj/plushes.dmi
index 506e145f992616a2a47b3ba29f12a9bc8e894c00..5083e96244fa52cf6d07238a294cea48f17dc737 100644
GIT binary patch
delta 2817
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
TQwWfr00000NkvXXu0mjfYzi~=
delta 2678
zcmV-+3W@dV8toa7BLV^4ktL>)(HlZvUtgA%mJc5&0RLvdz`)*xS^xmd-QC^w#;*VX
z|MSg{t7=O2*rw>y8)pCia9&jaGjNlu(*#S76EZ}e(6;2Qag$yF-UQxLo*0ur0^xrN
z>`6pHRCt{2n*Cc7R~E-FVIe{i2!RYkmoi(Bm({d{j;rVzCmNdAilT^MP}q!1sM?|e
zYoC&hfo7LTiq=TCYIk-2);;G=Kp^LY$8p!}5BVl@6TG?e{meP{WnL7bs;b^aHM`1+
z_&Xeq+S=ORRE)sksB<{#0fDJ^I*Wg$^MB@lsLoMePXmBygHx)3@^5sxw!gYujl7Aw
z96;TnLx=bXICn%=dt4R*e0bi&|4<$H*EZ1v4N?q%@OTEqG5}5m{hbO+;Pv?+06u??005er
zz`wnwjREjW06!N3r&9trSpc_`&*x<$&;;Rcso?-*^ou!YAnIigD3b%XTiq51(A{yPBJu
zyXrqF1+WfX>F!pPVju{AmlPj@R=4Hf+DcYK_9y;n)j+mdX*u0w9my1^x#B2r1TnX4#(hL0N5;mpmszNrK4~=08l^@Tr@!tG5`?>vMbV2j6Y=I=+NNc;OC$3
z1^`1v3rZ=1=>b**dV7C0CIrw{`Uis?favP_1YTXAfxp91+FqtWp_*gg*R)l#KKwoaMcLlN$y0xSJaxJZL1@p%y94xF
z68$Uy==5pcKeYRU0FW169V|fqwwU_iQzxakAcR6^P^`b`C`vO75vBmFD;pL-sAoak
zrKJ#OisG7!a|+r+83}_*>phKD3feb{8{vOqpsEr;J#$`sK@x!b;ls!P{uDu5n*?a1Ltq_zECw5-g4+L?GlpRx
z!};?pfF%Y%MxW0Cx$JxlT9=1ZY1zN&|>KDT4#(yy$hy9m
z!SI-Me`k1%nF}vlF}TbCbY4UNERcW(xa5s`yA00js
zi=ANnw*i0XKIjiv@*9yzgaEjT0GI|c1u*)qjE#({hD4$0CjRootms10s3D*fS{)4ZTa5^xTaqBUx%_%
z{*#k&h(LUj4?#`M5Qz7mM%@tBi_%Rgo**7q<8jtsRndNkA1L5HGXn&ci1xE+&$n0q
z1onS%C=c@IMhe)2659y-YW;rGG^Ib+9w&h~KNDE~LvpUTbxS1vT;iXY)A21i5;HUV
z0l@vH;rEwu@W+!=$+(}c9va#MkRSo(@I9RX?Y9@RvoZld;OA}+OsVrz*QVy-vy8ta
z_&P-RiyJo*maOpK29@|D0p~vn$(f&;*Xe%{4eeG)4~6gCAqb|Y6WiI}>;D$uCVb-n
zBI@Kdz_@$&ZYjZT|3o76H3cAc_5VHY7Qi+F?JrZH#^>Ye-EU}u?(QA`1YDa^03v}M
zK)UY-5VLdNS_})_3;@mp^ZGmn;2Q!!ba&qaY4`8nPl!8rdI^9z6Q+TgnK>E!5`urZ
zZ-vmiK|22RfFw}o;l)Hibl=modzy&^;!bZJ<)4rdFz3*_6hJKMpl*G33H+BS|Gy+5
z1xdOOfWZ3U!-p7y-rl;p(s~mE01+@v`R9HBIQ}BQ?1SZH65u;E3I5+P6GeNwsmUam
z_rae4zzE4FuN3$1p2ZR1pt3a^7B-CyYxo@(jNh)F#{aH?0I=_YiVhAd3llY
zpPZV4kvPSj5VT`(O;a-wfcn9$TQCHJL71im;ST^ycmr|?hQcD{FV|z73fR>!DEq*D
z?1XfEFgQI8MdJ4DeY4OufmJdSkz5S{fL#rD9^W(mRy`J^{XPzwzz+b-TJ(Qm1V_&v
z|A+CPR3|G*Q0dchxgL=x10N0mQczIp8RN5a-*zu&TVoKmO3rHB1359j-
zmXMEzZ0+Ft_w!F!{)v?pn*gc5rr+Nm2p&cv_5zSfr4Jx@v{Ntu=pVTi$t3Lfr&FtI
zKdh~-mG#d)%4QGnk7R5D{B3{D(%;kR^>v~?m&;}!Kh9=Z0#H&*qQAYd2;Qsczqa;$
ziU7!M_@qB_P|YLBWG1ZTwPYsq8OpP=#zR
zOOJzRQh{gaZwnx`xxT)hdcFxH-prYH67Uj_<3{l=Ts`i
z48$y4)#We*kGWy6wXnFjxUgjxKs-udfGqKbVLnsID-<0P
kQQ0e`nUcpTRq+=359-Myu4qZ$DF6Tf07*qoM6N<$f=yxT8vp
Date: Tue, 26 Jan 2021 23:43:51 -0500
Subject: [PATCH 005/121] Do not fuck the bird.
Kenk plush can no longer be sex'd, as per his request.
---
code/game/objects/items/plushes.dm | 1 +
1 file changed, 1 insertion(+)
diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm
index c50b0fae..8a2959c5 100644
--- a/code/game/objects/items/plushes.dm
+++ b/code/game/objects/items/plushes.dm
@@ -760,6 +760,7 @@
/obj/item/toy/plush/bird/kenk
name = "kenku plushie"
desc = "An adorable stuffed plushie that resembles a kenku, perfect to sit on."
+ young = TRUE
icon_state = "kenk"
item_state = "kenk"
squeak_override = list('modular_citadel/sound/voice/merp.ogg' = 1)
From 100c896b4201b1691e74ce5324f35fa77ccaeedb Mon Sep 17 00:00:00 2001
From: DragonTrance
Date: Wed, 27 Jan 2021 01:00:09 -0700
Subject: [PATCH 006/121] changes lewd plants a bit and fixes other plants
---
code/modules/hydroponics/grown/chili.dm | 3 ++-
code/modules/hydroponics/grown/flowers.dm | 7 +----
code/modules/hydroponics/grown/melon.dm | 5 ++--
code/modules/hydroponics/grown/mushrooms.dm | 3 +--
code/modules/hydroponics/plant_genes.dm | 29 +++++++++++++++++----
5 files changed, 31 insertions(+), 16 deletions(-)
diff --git a/code/modules/hydroponics/grown/chili.dm b/code/modules/hydroponics/grown/chili.dm
index d48c5c10..8c34c1d3 100644
--- a/code/modules/hydroponics/grown/chili.dm
+++ b/code/modules/hydroponics/grown/chili.dm
@@ -93,7 +93,8 @@
yield = 3
rarity = 20
mutatelist = list()
- reagents_add = list("aphro" = 0.2, "penis_enlarger" = 0.08, "vitamin" = 0.04, "nutriment" = 0.04)
+ genes = list(/datum/plant_gene/reagent/fragile/penischem, /datum/plant_gene/reagent/fragile/crocin)
+ reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.04)
/obj/item/reagent_containers/food/snacks/grown/pink_chili
seed = /obj/item/seeds/chili/pink
diff --git a/code/modules/hydroponics/grown/flowers.dm b/code/modules/hydroponics/grown/flowers.dm
index 1646a401..92784ee9 100644
--- a/code/modules/hydroponics/grown/flowers.dm
+++ b/code/modules/hydroponics/grown/flowers.dm
@@ -68,15 +68,10 @@
icon_grow = "spacemanstrumpet-grow"
icon_dead = "spacemanstrumpet-dead"
mutatelist = list()
- genes = list(/datum/plant_gene/reagent/polypyr)
+ genes = list(/datum/plant_gene/reagent/fragile/polypyr)
reagents_add = list(/datum/reagent/consumable/nutriment = 0.05)
rarity = 30
-/obj/item/seeds/poppy/lily/trumpet/Initialize(mapload, nogenes = FALSE)
- . = ..()
- if(!nogenes)
- unset_mutability(/datum/plant_gene/reagent/polypyr, PLANT_GENE_EXTRACTABLE)
-
/obj/item/reagent_containers/food/snacks/grown/trumpet
seed = /obj/item/seeds/poppy/lily/trumpet
name = "spaceman's trumpet"
diff --git a/code/modules/hydroponics/grown/melon.dm b/code/modules/hydroponics/grown/melon.dm
index 001997a7..bc92b5d3 100644
--- a/code/modules/hydroponics/grown/melon.dm
+++ b/code/modules/hydroponics/grown/melon.dm
@@ -72,13 +72,14 @@
plantname = "Milk Melon Vines"
product = /obj/item/reagent_containers/food/snacks/grown/milkmelon
mutatelist = list()
- reagents_add = list("milk" = 0.2, "breast_enlarger" = 0.08, "vitamin" = 0.04, "nutriment" = 0.1)
+ genes = list(/datum/plant_gene/reagent/fragile/breastchem)
+ reagents_add = list(/datum/reagent/consumable/milk = 0.2, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
rarity = 20
/obj/item/reagent_containers/food/snacks/grown/milkmelon
seed = /obj/item/seeds/watermelon/milk
name = "milkmelon"
- desc = "A softer, rounder-looking watermelon that audibly sloshes with milk."
+ desc = "A softer watermelon that audibly sloshes with milk."
icon_state = "milkmelon"
filling_color = "#FFAABB"
dried_type = null
diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm
index 3f61dcdf..86742109 100644
--- a/code/modules/hydroponics/grown/mushrooms.dm
+++ b/code/modules/hydroponics/grown/mushrooms.dm
@@ -212,14 +212,13 @@
endurance = 8
yield = 4
growthstages = 2
- genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/reagent/teslium, /datum/plant_gene/trait/plant_type/carnivory)
+ genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/reagent/fragile/teslium, /datum/plant_gene/trait/plant_type/carnivory)
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
reagents_add = list(/datum/reagent/consumable/nutriment = 0.1)
/obj/item/seeds/chanterelle/jupitercup/Initialize(mapload, nogenes = FALSE)
. = ..()
if(!nogenes)
- unset_mutability(/datum/plant_gene/reagent/teslium, PLANT_GENE_EXTRACTABLE)
unset_mutability(/datum/plant_gene/trait/plant_type/carnivory, PLANT_GENE_REMOVABLE)
/obj/item/reagent_containers/food/snacks/grown/mushroom/jupitercup
diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm
index 604fa3e4..b8e561ce 100644
--- a/code/modules/hydroponics/plant_genes.dm
+++ b/code/modules/hydroponics/plant_genes.dm
@@ -109,7 +109,7 @@
// Reagent genes store reagent ID and reagent ratio. Amount of reagent in the plant = 1 + (potency * rate)
/datum/plant_gene/reagent
name = "Nutriment"
- var/reagent_id = "nutriment"
+ var/reagent_id = /datum/reagent/consumable/nutriment
var/rate = 0.04
/datum/plant_gene/reagent/get_name()
@@ -153,16 +153,35 @@
return FALSE
return TRUE
-/datum/plant_gene/reagent/polypyr
+/datum/plant_gene/reagent/fragile
+ name = "Fragile Gene"
+ mutability_flags = PLANT_GENE_REMOVABLE //Cannot be extracted
+
+/datum/plant_gene/reagent/fragile/polypyr
name = "Polypyrylium Oligomers"
- reagent_id = "polypyr"
+ reagent_id = /datum/reagent/medicine/polypyr
rate = 0.15
-/datum/plant_gene/reagent/teslium
+/datum/plant_gene/reagent/fragile/teslium
name = "Teslium"
- reagent_id = "teslium"
+ reagent_id = /datum/reagent/teslium
rate = 0.1
+/datum/plant_gene/reagent/fragile/breastchem
+ name = "Succubus Milk"
+ reagent_id = /datum/reagent/fermi/breast_enlarger
+ rate = 0.04 //5 units at 100 potency
+
+/datum/plant_gene/reagent/fragile/penischem
+ name = "Incubus Draft"
+ reagent_id = /datum/reagent/fermi/penis_enlarger
+ rate = 0.04
+
+/datum/plant_gene/reagent/fragile/crocin
+ name = "Crocin"
+ reagent_id = /datum/reagent/drug/aphrodisiac
+ rate = 0.2
+
// Various traits affecting the product.
/datum/plant_gene/trait
var/rate = 0.05
From 1f8af98389390d21fb02a2f31cbf78f1795e7d53 Mon Sep 17 00:00:00 2001
From: Chemlight
Date: Wed, 27 Jan 2021 00:49:15 -0800
Subject: [PATCH 007/121] Plants and reagents
Fixed Pink peppers and milkmelon reagents, along with all special xenobotany plants from xenoarch.
---
code/modules/hydroponics/grown/chili.dm | 2 +-
code/modules/hydroponics/grown/melon.dm | 2 +-
code/modules/research/xenoarch/xenobotany/grown/amauri.dm | 4 ++--
code/modules/research/xenoarch/xenobotany/grown/gelthi.dm | 4 ++--
code/modules/research/xenoarch/xenobotany/grown/jurlmah.dm | 4 ++--
code/modules/research/xenoarch/xenobotany/grown/nofruit.dm | 4 ++--
code/modules/research/xenoarch/xenobotany/grown/shand.dm | 4 ++--
code/modules/research/xenoarch/xenobotany/grown/surik.dm | 4 ++--
code/modules/research/xenoarch/xenobotany/grown/telriis.dm | 4 ++--
code/modules/research/xenoarch/xenobotany/grown/thaadra.dm | 4 ++--
code/modules/research/xenoarch/xenobotany/grown/vale.dm | 4 ++--
code/modules/research/xenoarch/xenobotany/grown/vaporsac.dm | 4 ++--
12 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/code/modules/hydroponics/grown/chili.dm b/code/modules/hydroponics/grown/chili.dm
index d48c5c10..d288aaa9 100644
--- a/code/modules/hydroponics/grown/chili.dm
+++ b/code/modules/hydroponics/grown/chili.dm
@@ -93,7 +93,7 @@
yield = 3
rarity = 20
mutatelist = list()
- reagents_add = list("aphro" = 0.2, "penis_enlarger" = 0.08, "vitamin" = 0.04, "nutriment" = 0.04)
+ reagents_add = list(/datum/reagent/drug/aphrodisiac = 0.2, /datum/reagent/fermi/penis_enlarger = 0.08, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.04)
/obj/item/reagent_containers/food/snacks/grown/pink_chili
seed = /obj/item/seeds/chili/pink
diff --git a/code/modules/hydroponics/grown/melon.dm b/code/modules/hydroponics/grown/melon.dm
index 001997a7..0effcc29 100644
--- a/code/modules/hydroponics/grown/melon.dm
+++ b/code/modules/hydroponics/grown/melon.dm
@@ -72,7 +72,7 @@
plantname = "Milk Melon Vines"
product = /obj/item/reagent_containers/food/snacks/grown/milkmelon
mutatelist = list()
- reagents_add = list("milk" = 0.2, "breast_enlarger" = 0.08, "vitamin" = 0.04, "nutriment" = 0.1)
+ reagents_add = list(/datum/reagent/consumable/milk = 0.2, /datum/reagent/fermi/breast_enlarger = 0.08, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
rarity = 20
/obj/item/reagent_containers/food/snacks/grown/milkmelon
diff --git a/code/modules/research/xenoarch/xenobotany/grown/amauri.dm b/code/modules/research/xenoarch/xenobotany/grown/amauri.dm
index 9900c1d0..fb07a056 100644
--- a/code/modules/research/xenoarch/xenobotany/grown/amauri.dm
+++ b/code/modules/research/xenoarch/xenobotany/grown/amauri.dm
@@ -13,7 +13,7 @@
icon_grow = "amauri-stage"
growthstages = 3
genes = list(/datum/plant_gene/trait/repeated_harvest)
- reagents_add = list("shadowmutationtoxin" = 0.1)
+ reagents_add = list(/datum/reagent/mutationtoxin/shadow = 0.1)
/obj/item/reagent_containers/food/snacks/grown/amauri
seed = /obj/item/seeds/amauri
@@ -24,5 +24,5 @@
filling_color = "#FF4500"
bitesize = 100
foodtype = FRUIT
- juice_results = list("shadowmutationtoxin" = 0.1)
+ juice_results = list(/datum/reagent/mutationtoxin/shadow = 0.1)
tastes = list("shadow" = 1)
diff --git a/code/modules/research/xenoarch/xenobotany/grown/gelthi.dm b/code/modules/research/xenoarch/xenobotany/grown/gelthi.dm
index bc0eee30..c8347031 100644
--- a/code/modules/research/xenoarch/xenobotany/grown/gelthi.dm
+++ b/code/modules/research/xenoarch/xenobotany/grown/gelthi.dm
@@ -13,7 +13,7 @@
icon_grow = "gelthi-stage"
growthstages = 3
genes = list(/datum/plant_gene/trait/repeated_harvest)
- reagents_add = list("gold" = 0.1)
+ reagents_add = list(/datum/reagent/gold = 0.1)
/obj/item/reagent_containers/food/snacks/grown/gelthi
seed = /obj/item/seeds/gelthi
@@ -24,5 +24,5 @@
filling_color = "#FF4500"
bitesize = 100
foodtype = FRUIT
- juice_results = list("gold" = 0.1)
+ juice_results = list(/datum/reagent/gold = 0.1)
tastes = list("gold" = 1)
diff --git a/code/modules/research/xenoarch/xenobotany/grown/jurlmah.dm b/code/modules/research/xenoarch/xenobotany/grown/jurlmah.dm
index dc482ae3..d7449a06 100644
--- a/code/modules/research/xenoarch/xenobotany/grown/jurlmah.dm
+++ b/code/modules/research/xenoarch/xenobotany/grown/jurlmah.dm
@@ -13,7 +13,7 @@
icon_grow = "jurlmah-stage"
growthstages = 5
genes = list(/datum/plant_gene/trait/repeated_harvest)
- reagents_add = list("cryoxadone" = 0.1)
+ reagents_add = list(/datum/reagent/medicine/cryoxadone = 0.1)
/obj/item/reagent_containers/food/snacks/grown/jurlmah
seed = /obj/item/seeds/jurlmah
@@ -24,5 +24,5 @@
filling_color = "#FF4500"
bitesize = 100
foodtype = FRUIT
- juice_results = list("cryoxadone" = 0.1)
+ juice_results = list(/datum/reagent/medicine/cryoxadone = 0.1)
tastes = list("cold" = 1)
diff --git a/code/modules/research/xenoarch/xenobotany/grown/nofruit.dm b/code/modules/research/xenoarch/xenobotany/grown/nofruit.dm
index c7d2eaa6..30f34554 100644
--- a/code/modules/research/xenoarch/xenobotany/grown/nofruit.dm
+++ b/code/modules/research/xenoarch/xenobotany/grown/nofruit.dm
@@ -13,7 +13,7 @@
icon_grow = "nofruit-stage"
growthstages = 4
genes = list(/datum/plant_gene/trait/repeated_harvest)
- reagents_add = list("nothing" = 0.1, "laughter" = 0.1)
+ reagents_add = list(/datum/reagent/consumable/nothing = 0.1, /datum/reagent/consumable/laughter = 0.1)
/obj/item/reagent_containers/food/snacks/grown/nofruit
seed = /obj/item/seeds/nofruit
@@ -24,5 +24,5 @@
filling_color = "#FF4500"
bitesize = 100
foodtype = FRUIT
- juice_results = list("nothing" = 0.1, "laughter" = 0.1)
+ juice_results = list(/datum/reagent/consumable/nothing = 0.1, /datum/reagent/consumable/laughter = 0.1)
tastes = list("entertainment" = 1)
diff --git a/code/modules/research/xenoarch/xenobotany/grown/shand.dm b/code/modules/research/xenoarch/xenobotany/grown/shand.dm
index fd0850d6..524da545 100644
--- a/code/modules/research/xenoarch/xenobotany/grown/shand.dm
+++ b/code/modules/research/xenoarch/xenobotany/grown/shand.dm
@@ -13,7 +13,7 @@
icon_grow = "shand-stage"
growthstages = 3
genes = list(/datum/plant_gene/trait/repeated_harvest)
- reagents_add = list("pax" = 0.1)
+ reagents_add = list(/datum/reagent/pax = 0.1)
/obj/item/reagent_containers/food/snacks/grown/shand
seed = /obj/item/seeds/shand
@@ -24,5 +24,5 @@
filling_color = "#FF4500"
bitesize = 100
foodtype = FRUIT
- juice_results = list("pax" = 0.1)
+ juice_results = list(/datum/reagent/pax = 0.1)
tastes = list("peace" = 1)
diff --git a/code/modules/research/xenoarch/xenobotany/grown/surik.dm b/code/modules/research/xenoarch/xenobotany/grown/surik.dm
index 3548762a..baaaebb7 100644
--- a/code/modules/research/xenoarch/xenobotany/grown/surik.dm
+++ b/code/modules/research/xenoarch/xenobotany/grown/surik.dm
@@ -13,7 +13,7 @@
icon_grow = "surik-stage"
growthstages = 4
genes = list(/datum/plant_gene/trait/repeated_harvest)
- reagents_add = list("frostoil" = 0.1)
+ reagents_add = list(/datum/reagent/consumable/frostoil = 0.1)
/obj/item/reagent_containers/food/snacks/grown/surik
seed = /obj/item/seeds/surik
@@ -24,5 +24,5 @@
filling_color = "#FF4500"
bitesize = 100
foodtype = FRUIT
- juice_results = list("frostoil" = 0.1)
+ juice_results = list(/datum/reagent/consumable/frostoil = 0.1)
tastes = list("snow" = 1)
diff --git a/code/modules/research/xenoarch/xenobotany/grown/telriis.dm b/code/modules/research/xenoarch/xenobotany/grown/telriis.dm
index d12bc080..2c2e47c5 100644
--- a/code/modules/research/xenoarch/xenobotany/grown/telriis.dm
+++ b/code/modules/research/xenoarch/xenobotany/grown/telriis.dm
@@ -13,7 +13,7 @@
icon_grow = "telriis-stage"
growthstages = 4
genes = list(/datum/plant_gene/trait/repeated_harvest)
- reagents_add = list("podmutationtoxin" = 0.1)
+ reagents_add = list(/datum/reagent/mutationtoxin/pod = 0.1)
/obj/item/reagent_containers/food/snacks/grown/telriis
seed = /obj/item/seeds/telriis
@@ -24,5 +24,5 @@
filling_color = "#FF4500"
bitesize = 100
foodtype = FRUIT
- juice_results = list("podmutationtoxin" = 0.1)
+ juice_results = list(/datum/reagent/mutationtoxin/pod = 0.1)
tastes = list("plant" = 1)
diff --git a/code/modules/research/xenoarch/xenobotany/grown/thaadra.dm b/code/modules/research/xenoarch/xenobotany/grown/thaadra.dm
index 8929ea5a..33e26683 100644
--- a/code/modules/research/xenoarch/xenobotany/grown/thaadra.dm
+++ b/code/modules/research/xenoarch/xenobotany/grown/thaadra.dm
@@ -13,7 +13,7 @@
icon_grow = "thaadra-stage"
growthstages = 4
genes = list(/datum/plant_gene/trait/repeated_harvest)
- reagents_add = list("silver" = 0.1)
+ reagents_add = list(/datum/reagent/silver = 0.1)
/obj/item/reagent_containers/food/snacks/grown/thaadra
seed = /obj/item/seeds/thaadra
@@ -24,5 +24,5 @@
filling_color = "#FF4500"
bitesize = 100
foodtype = FRUIT
- juice_results = list("silver" = 0.1)
+ juice_results = list(/datum/reagent/silver = 0.1)
tastes = list("silver" = 1)
diff --git a/code/modules/research/xenoarch/xenobotany/grown/vale.dm b/code/modules/research/xenoarch/xenobotany/grown/vale.dm
index df504112..ca9eec82 100644
--- a/code/modules/research/xenoarch/xenobotany/grown/vale.dm
+++ b/code/modules/research/xenoarch/xenobotany/grown/vale.dm
@@ -13,7 +13,7 @@
icon_grow = "vale-stage"
growthstages = 4
genes = list(/datum/plant_gene/trait/repeated_harvest)
- reagents_add = list("slime_toxin" = 0.1)
+ reagents_add = list(/datum/reagent/slime_toxin = 0.1)
/obj/item/reagent_containers/food/snacks/grown/vale
seed = /obj/item/seeds/vale
@@ -24,5 +24,5 @@
filling_color = "#FF4500"
bitesize = 100
foodtype = FRUIT
- juice_results = list("slime_toxin" = 0.1)
+ juice_results = list(/datum/reagent/slime_toxin = 0.1)
tastes = list("slime" = 1)
diff --git a/code/modules/research/xenoarch/xenobotany/grown/vaporsac.dm b/code/modules/research/xenoarch/xenobotany/grown/vaporsac.dm
index 3434ffab..9ea11644 100644
--- a/code/modules/research/xenoarch/xenobotany/grown/vaporsac.dm
+++ b/code/modules/research/xenoarch/xenobotany/grown/vaporsac.dm
@@ -13,7 +13,7 @@
icon_grow = "vaporsac-stage"
growthstages = 3
genes = list(/datum/plant_gene/trait/repeated_harvest)
- reagents_add = list("nitrous_oxide" = 0.1)
+ reagents_add = list(/datum/reagent/nitrous_oxide = 0.1)
/obj/item/reagent_containers/food/snacks/grown/vaporsac
seed = /obj/item/seeds/vaporsac
@@ -24,5 +24,5 @@
filling_color = "#FF4500"
bitesize = 100
foodtype = FRUIT
- juice_results = list("nitrous_oxide" = 0.1)
+ juice_results = list(/datum/reagent/nitrous_oxide = 0.1)
tastes = list("sleep" = 1)
From a94205da1e22ae406357468b433c7390de48d738 Mon Sep 17 00:00:00 2001
From: ToonClyde <49804499+ToonClyde@users.noreply.github.com>
Date: Wed, 27 Jan 2021 17:10:07 -0700
Subject: [PATCH 008/121] Syndi space base rework
---
.../lavaland_surface_syndicate_base1.dmm | 10 +-
.../SpaceRuins/listeningstation.dmm | 2990 ++---------------
2 files changed, 279 insertions(+), 2721 deletions(-)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
index a297da05..247b5e16 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
@@ -11,6 +11,7 @@
"ak" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 4},/obj/structure/cable/yellow{icon_state = "4-8"},/turf/open/floor/wood,/area/ruin/unpowered/syndicate_lava_base/bar)
"al" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet{dir = 8},/turf/open/floor/mineral/plastitanium,/area/ruin/unpowered/syndicate_lava_base/testlab)
"am" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 4},/obj/structure/cable/yellow{icon_state = "4-8"},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/arrivals)
+"an" = (/obj/machinery/door/window/southleft{dir = 4; req_access_txt = "0"},/obj/machinery/door/window/southleft{dir = 8; req_access_txt = "150"},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plating,/area/ruin/unpowered/syndicate_lava_base/testlab)
"ao" = (/obj/effect/decal/cleanable/dirt,/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/unpowered/syndicate_lava_base/circuits)
"aq" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light{dir = 4; light_color = "#c1caff"},/turf/open/floor/mineral/plastitanium,/area/ruin/unpowered/syndicate_lava_base/testlab)
"ar" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,/obj/structure/cable/yellow{icon_state = "1-2"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research,/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/circuits)
@@ -61,7 +62,6 @@
"bp" = (/obj/effect/turf_decal/stripes/line{dir = 6},/obj/structure/closet/crate/bin,/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/chemistry)
"bq" = (/obj/structure/table/glass,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/reagentgrinder{pixel_y = 5},/obj/machinery/power/apc/syndicate{dir = 2; name = "Experimentation Lab APC"; pixel_y = -24},/obj/structure/cable/yellow,/turf/open/floor/plasteel/dark,/area/ruin/unpowered/syndicate_lava_base/testlab)
"br" = (/obj/structure/flora/rock/pile,/obj/structure/flora/grass/jungle/b,/turf/open/floor/plating/asteroid/basalt/lava_land_surface,/area/ruin/unpowered/syndicate_lava_base/outdoors)
-"bs" = (/obj/machinery/door/window/southleft{dir = 4; req_access_txt = "150"},/obj/machinery/door/window/southleft{dir = 8; req_access_txt = "150"},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plating,/area/ruin/unpowered/syndicate_lava_base/testlab)
"bt" = (/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{external_pressure_bound = 120; name = "killroom vent"},/turf/open/floor/circuit/telecomms,/area/ruin/unpowered/syndicate_lava_base/testlab)
"bu" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/yellow{icon_state = "2-8"},/obj/structure/cable/yellow{icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer3{dir = 1},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/main)
"bw" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer3{dir = 4},/turf/open/floor/plasteel/white/side{dir = 10},/area/ruin/unpowered/syndicate_lava_base/virology)
@@ -729,13 +729,13 @@ aaaaaaaaaaaaaaaaaaabababababababababababababababababababababababaaaaaaaaaaababab
aaaaaaaaaaaaabaaababababababababababababababababababababababababababaaababababababababababaaaaaaaaaa
aaaaaaaaabaaabababababiiaeaeaeaeaeaeaeaeaeaeaeaeacabababababababababababababababababababababaaaaaaaa
aaaaaaaaabababababababaeadcGagaFaeahaiajdraFaFcGaeababababababababababababababababababababaaaaaaaaaa
-aaaaaaababababababababaeaFcGaFalaxaHboekbsaFaAaqaeababababababababababababababababababababababaaaaaa
-aaaaaaaaababababababawaeaFaFaFaFbsbebiaMaxbjbjayaeaBabababababababababababababababababababababaaaaaa
+aaaaaaababababababababaeaFcGaFalaxaHboekanaFaAaqaeababababababababababababababababababababababaaaaaa
+aaaaaaaaababababababawaeaFaFaFaFanbebiaMaxbjbjayaeaBabababababababababababababababababababababaaaaaa
aaaaaaabababababababaIaeaFaFcGaFdrcXaYcZdraFaFaFaeaKasaLaLaLasabababababababababababababababaaaaaaaa
-aaaaabababababababababaecGaFaQcGaedcddaWbscGaFaXaeasasataZbbasacbgababababababababababababababaaaaaa
+aaaaabababababababababaecGaFaQcGaedcddaWancGaFaXaeasasataZbbasacbgababababababababababababababaaaaaa
aaaaababababababababawaeaeaeaeaeaecqbNbhaxbjbjayblbnbPbScabpasasdydydydybrababababababababababaaaaaa
aaabababababababababawbraecTbtcTdrbQdibxdraFcGaFaeducrcAcAbAbBasbDbEbIdydydydydydyabababababababaaaa
-aaababababababababababawaeaOaNbJbOazekbKbsaFaAaqaedBdCbRdEdIbTasdLdMbXccdycdcfcgdyacababababababaaaa
+aaababababababababababawaeaOaNbJbOazekbKanaFaAaqaedBdCbRdEdIbTasdLdMbXccdycdcfcgdyacababababababaaaa
aaabababababababababababaecTaUcTdrbodfbhaxchchcxaedUdVdXdYdZcyasebecdbeceeefegcCcEcFababababababaaaa
aaabababababababababababaeaeaeaeaeckcHcMaeaeaeaeaedqdsdvevewasasdxdHcQdOfteCeDeEeFcFabababababababaa
aaababababababababdeababawdkaedndDdacpdodpaedwdAeRedeVeseVdKaseteXdFeudydyfcfwfedydydydTabababababaa
diff --git a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm
index 6fb5b39f..902f182e 100644
--- a/_maps/RandomRuins/SpaceRuins/listeningstation.dmm
+++ b/_maps/RandomRuins/SpaceRuins/listeningstation.dmm
@@ -1,2719 +1,277 @@
-//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"aa" = (
-/turf/template_noop,
-/area/template_noop)
-"ab" = (
-/turf/closed/mineral/random,
-/area/ruin/unpowered/no_grav)
-"ac" = (
-/turf/closed/wall,
-/area/ruin/space/has_grav/listeningstation)
-"ad" = (
-/obj/machinery/computer/message_monitor{
- dir = 2
- },
-/obj/machinery/airalarm/syndicate{
- pixel_y = 24
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/paper/monitorkey,
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"ae" = (
-/obj/structure/table/reinforced,
-/obj/machinery/firealarm{
- dir = 2;
- pixel_y = 24
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/computer/libraryconsole/bookmanagement,
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"af" = (
-/obj/structure/rack{
- dir = 8
- },
-/obj/item/clothing/suit/space/syndicate,
-/obj/item/clothing/head/helmet/space/syndicate,
-/obj/item/clothing/mask/gas{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/effect/turf_decal/stripes/line,
-/turf/open/floor/mineral/plastitanium/red,
-/area/ruin/space/has_grav/listeningstation)
-"ag" = (
-/turf/closed/wall/r_wall,
-/area/ruin/space/has_grav/listeningstation)
-"ah" = (
-/obj/machinery/computer/camera_advanced{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/newscaster{
- pixel_y = 32
- },
-/obj/item/radio/intercom{
- freerange = 1;
- name = "Syndicate Radio Intercom";
- pixel_x = -30
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"ai" = (
-/obj/structure/chair/office/dark{
- dir = 8
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"aj" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"ak" = (
-/obj/structure/rack{
- dir = 8
- },
-/obj/item/stack/sheet/metal/fifty,
-/obj/item/integrated_circuit_printer/upgraded,
-/obj/item/multitool,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/stock_parts/cell/high/plus{
- pixel_x = 9;
- pixel_y = -3
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"al" = (
-/obj/structure/table,
-/obj/item/storage/toolbox/syndicate,
-/obj/item/flashlight{
- pixel_y = -12
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/item/clothing/glasses/meson/night{
- pixel_x = 1;
- pixel_y = 11
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"am" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"an" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 4
- },
-/obj/machinery/door/airlock/external{
- id_tag = "syndie_listeningpost_external";
- req_access_txt = "150"
- },
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"ao" = (
-/obj/machinery/light/small,
-/obj/structure/sign/warning/vacuum{
- pixel_y = 32
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"ap" = (
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 8
- },
-/obj/machinery/poweredfans,
-/obj/machinery/door/airlock/external{
- id_tag = "syndie_listeningpost_external";
- req_access_txt = "150"
- },
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"aq" = (
-/obj/structure/curtain,
-/obj/machinery/shower{
- pixel_y = 14
- },
-/obj/machinery/light/small,
-/obj/item/soap,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plasteel/showroomfloor,
-/area/ruin/space/has_grav/listeningstation)
-"ar" = (
-/obj/structure/sink{
- dir = 4;
- pixel_x = 11
- },
-/obj/structure/toilet{
- pixel_y = 18
- },
-/obj/structure/mirror{
- pixel_x = 28
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plasteel/showroomfloor,
-/area/ruin/space/has_grav/listeningstation)
-"as" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/computer/med_data/syndie{
- dir = 4;
- req_one_access = null
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"at" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- dir = 4;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"au" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 10;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"av" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/structure/extinguisher_cabinet{
- pixel_x = 25
- },
-/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = -3;
- pixel_y = 4
- },
-/obj/item/paper/fluff/ruins/listeningstation/reports/november{
- pixel_x = -3;
- pixel_y = 4
- },
-/obj/item/pen{
- pixel_x = -4;
- pixel_y = 5
- },
-/obj/item/stock_parts/cell/high/plus{
- pixel_x = -8;
- pixel_y = -3
- },
-/obj/item/integrated_electronics/wirer{
- pixel_x = 7;
- pixel_y = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"aw" = (
-/obj/structure/table,
-/obj/machinery/cell_charger,
-/obj/item/stock_parts/cell/high/plus,
-/obj/item/stack/cable_coil{
- pixel_x = 3;
- pixel_y = -7
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/airalarm/syndicate{
- dir = 4;
- pixel_x = -24
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"ax" = (
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/machinery/button/door{
- id = "syndie_listeningpost_external";
- name = "External Bolt Control";
- normaldoorcontrol = 1;
- pixel_x = 24;
- req_access_txt = "150";
- specialfunctions = 4
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"ay" = (
-/obj/machinery/door/airlock{
- name = "Toilet"
- },
-/turf/open/floor/plasteel/showroomfloor,
-/area/ruin/space/has_grav/listeningstation)
-"az" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/autolathe/hacked,
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"aA" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"aB" = (
-/obj/structure/filingcabinet,
-/obj/item/paper/fluff/ruins/listeningstation/reports/april,
-/obj/item/paper/fluff/ruins/listeningstation/reports/may,
-/obj/item/paper/fluff/ruins/listeningstation/reports/june,
-/obj/item/paper/fluff/ruins/listeningstation/reports/july,
-/obj/item/paper/fluff/ruins/listeningstation/reports/august,
-/obj/item/paper/fluff/ruins/listeningstation/reports/september,
-/obj/item/paper/fluff/ruins/listeningstation/reports/october,
-/obj/item/paper/fluff/ruins/listeningstation/receipt,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/paper/fluff/ruins/listeningstation/odd_report,
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"aC" = (
-/obj/structure/rack{
- dir = 8;
- layer = 2.9
- },
-/obj/item/storage/bag/ore,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/shovel,
-/obj/item/pickaxe/mini,
-/obj/item/t_scanner/adv_mining_scanner/lesser,
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"aE" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/structure/tank_dispenser/oxygen{
- oxygentanks = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/turf/open/floor/mineral/plastitanium,
-/area/ruin/space/has_grav/listeningstation)
-"aF" = (
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/turf/closed/wall/r_wall,
-/area/ruin/space/has_grav/listeningstation)
-"aG" = (
-/obj/machinery/atmospherics/components/unary/outlet_injector/on{
- dir = 8;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/turf/open/floor/plating/airless,
-/area/ruin/space/has_grav/listeningstation)
-"aH" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/machinery/door/firedoor,
-/obj/machinery/door/airlock{
- dir = 4;
- name = "Food Court"
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"aI" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"aJ" = (
-/obj/machinery/washing_machine{
- pixel_x = 4
- },
-/obj/structure/window{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"aK" = (
-/obj/machinery/door/firedoor,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/machinery/door/airlock/hatch{
- name = "Telecommunications";
- req_access_txt = "150"
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"aL" = (
-/obj/item/bombcore/badmin{
- anchored = 1;
- invisibility = 100
- },
-/turf/closed/wall,
-/area/ruin/space/has_grav/listeningstation)
-"aM" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/machinery/door/airlock/hatch{
- name = "E.V.A. Equipment";
- req_access_txt = "150"
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"aN" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/turf/closed/wall,
-/area/ruin/space/has_grav/listeningstation)
-"aO" = (
-/obj/machinery/light/small{
- dir = 8
- },
-/obj/structure/closet/crate,
-/obj/item/stack/sheet/metal/fifty,
-/obj/item/stack/sheet/glass/fifty,
-/obj/item/stack/rods/ten,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/effect/turf_decal/stripes/line,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/stack/sheet/mineral/plasma{
- amount = 30
- },
-/obj/item/storage/box/lights/bulbs,
-/obj/item/storage/box/stockparts/deluxe,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"aP" = (
-/obj/machinery/firealarm{
- dir = 8;
- pixel_x = -26
- },
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"aQ" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 6;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"aR" = (
-/obj/machinery/door/firedoor,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/machinery/door/airlock{
- dir = 4;
- name = "Personal Quarters"
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"aS" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"aT" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden,
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
- dir = 2;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"aU" = (
-/obj/machinery/airalarm/syndicate{
- pixel_y = 24
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/effect/baseturf_helper/asteroid/airless,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"aV" = (
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/structure/sign/poster/contraband/random{
- pixel_y = 30
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"aW" = (
-/obj/machinery/light/small{
- dir = 1
- },
-/obj/machinery/firealarm{
- dir = 2;
- pixel_y = 24
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
- dir = 1;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"aX" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
- dir = 4;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"aY" = (
-/obj/machinery/vending/snack/random{
- extended_inventory = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/sign/poster/contraband/random{
- pixel_x = 32
- },
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"aZ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/turf/closed/wall,
-/area/ruin/space/has_grav/listeningstation)
-"ba" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/structure/extinguisher_cabinet{
- pixel_x = -27;
- pixel_y = 1
- },
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
- dir = 1;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/structure/closet/crate/bin,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"bb" = (
-/obj/effect/turf_decal/stripes/red/corner,
-/obj/machinery/light/small{
- dir = 4
- },
-/obj/machinery/airalarm/syndicate{
- dir = 8;
- pixel_x = 24
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
- dir = 4;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"bc" = (
-/obj/machinery/light/small,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/closet/emcloset/anchored,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"bd" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"be" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 1
- },
-/obj/structure/extinguisher_cabinet{
- pixel_y = -29
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"bf" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- dir = 1;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/turf/open/floor/plasteel/white/corner,
-/area/ruin/space/has_grav/listeningstation)
-"bg" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/turf/open/floor/plasteel/white/side,
-/area/ruin/space/has_grav/listeningstation)
-"bh" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/vending/cola/shamblers,
-/turf/open/floor/plasteel/white/corner{
- dir = 8
- },
-/area/ruin/space/has_grav/listeningstation)
-"bi" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 1
- },
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 5;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/turf/open/floor/plasteel/grimy,
-/area/ruin/space/has_grav/listeningstation)
-"bj" = (
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- dir = 1;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/structure/closet/firecloset/full{
- anchored = 1
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"bk" = (
-/obj/effect/turf_decal/stripes/red/line{
- dir = 4
- },
-/obj/effect/turf_decal/caution/red{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"bl" = (
-/obj/machinery/syndicatebomb/self_destruct{
- anchored = 1
- },
-/obj/structure/sign/warning/securearea{
- desc = "A warning sign which reads 'DANGER: SELF DESTRUCT DEVICE'.";
- name = "DANGER: SELF DESTRUCT DEVICE";
- pixel_x = 32
- },
-/obj/machinery/door/window/brigdoor{
- dir = 8;
- req_access_txt = "150"
- },
-/turf/open/floor/circuit/red,
-/area/ruin/space/has_grav/listeningstation)
-"bm" = (
-/obj/machinery/door/airlock/maintenance,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"bn" = (
-/obj/structure/sign/departments/medbay/alt,
-/turf/closed/wall/r_wall,
-/area/ruin/space/has_grav/listeningstation)
-"bo" = (
-/obj/machinery/door/firedoor,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/machinery/door/airlock/medical/glass{
- name = "Medbay"
- },
-/turf/open/floor/plasteel/white,
-/area/ruin/space/has_grav/listeningstation)
-"bp" = (
-/obj/effect/turf_decal/stripes/red/corner{
- dir = 1
- },
-/obj/machinery/door/airlock{
- name = "Cabin"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"bq" = (
-/obj/structure/cable/yellow{
- icon_state = "0-4"
- },
-/obj/machinery/power/smes{
- charge = 5e+006
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 6
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"br" = (
-/obj/structure/cable/yellow{
- icon_state = "0-8"
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/power/apc/syndicate{
- dir = 4;
- name = "Syndicate Listening Post APC";
- pixel_x = 24
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"bs" = (
-/obj/structure/closet/crate/freezer,
-/obj/item/reagent_containers/blood/OMinus{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/reagent_containers/blood/OMinus,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- dir = 4;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/turf/open/floor/plasteel/white/side{
- dir = 9
- },
-/area/ruin/space/has_grav/listeningstation)
-"bt" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 9;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/turf/open/floor/plasteel/white/side{
- dir = 1
- },
-/area/ruin/space/has_grav/listeningstation)
-"bu" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/chem_dispenser/fullupgrade,
-/turf/open/floor/plasteel/white/side{
- dir = 5
- },
-/area/ruin/space/has_grav/listeningstation)
-"bv" = (
-/obj/structure/bookcase/random,
-/turf/open/floor/plasteel/grimy,
-/area/ruin/space/has_grav/listeningstation)
-"bw" = (
-/obj/structure/closet{
- icon_door = "black";
- name = "wardrobe"
- },
-/obj/item/clothing/under/color/black{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/clothing/under/color/black{
- pixel_x = 1;
- pixel_y = -1
- },
-/obj/item/clothing/head/soft/black{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/clothing/head/soft/black{
- pixel_x = 1;
- pixel_y = -1
- },
-/obj/item/clothing/gloves/fingerless,
-/obj/item/clothing/shoes/sneakers/black{
- pixel_x = -3;
- pixel_y = 3
- },
-/obj/item/clothing/shoes/sneakers/black{
- pixel_x = 1;
- pixel_y = -1
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/item/storage/photo_album,
-/obj/machinery/light/small,
-/turf/open/floor/plasteel/grimy,
-/area/ruin/space/has_grav/listeningstation)
-"bx" = (
-/obj/effect/mob_spawn/human/lavaland_syndicate/comms/space{
- assignedrole = "Space Syndicate";
- dir = 8;
- flavour_text = "You are a syndicate agent, assigned to a small listening post station situated near your hated enemy's top secret research facility: Space Station 13. Monitor enemy activity as best you can, and try to keep a low profile. DON'T abandon the base without good cause. Use the communication equipment to provide support to any field agents, and sow disinformation to throw Kinaris off your trail. Do not let the base fall into enemy hands!"
- },
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- dir = 8;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/turf/open/floor/plasteel/grimy,
-/area/ruin/space/has_grav/listeningstation)
-"by" = (
-/obj/machinery/power/terminal{
- dir = 1
- },
-/obj/structure/cable{
- icon_state = "0-2";
- pixel_y = 1
- },
-/obj/structure/reagent_dispensers/fueltank,
-/obj/item/clothing/head/welding,
-/obj/item/weldingtool/largetank,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"bz" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"bA" = (
-/obj/structure/table,
-/obj/item/storage/firstaid/regular,
-/obj/item/clothing/neck/stethoscope,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plasteel/white/side{
- dir = 10
- },
-/area/ruin/space/has_grav/listeningstation)
-"bB" = (
-/obj/machinery/light/small,
-/obj/machinery/airalarm/syndicate{
- dir = 1;
- pixel_y = -24
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 1
- },
-/obj/machinery/iv_drip,
-/obj/structure/sink{
- dir = 1;
- pixel_x = -9;
- pixel_y = -1
- },
-/turf/open/floor/plasteel/white/side,
-/area/ruin/space/has_grav/listeningstation)
-"bC" = (
-/obj/structure/cable,
-/obj/machinery/power/port_gen/pacman{
- anchored = 1
- },
-/obj/effect/turf_decal/bot,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/cable{
- icon_state = "1-2"
- },
-/obj/item/storage/toolbox/syndicate,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"bD" = (
-/obj/structure/table/wood,
-/obj/item/ammo_box/magazine/m10mm{
- pixel_x = 8;
- pixel_y = 5
- },
-/obj/item/paper/fluff/ruins/listeningstation/briefing{
- pixel_x = -7;
- pixel_y = -3
- },
-/obj/item/toy/cards/deck/syndicate{
- pixel_x = -6;
- pixel_y = 11
- },
-/obj/item/bluespace_thread,
-/turf/open/floor/plasteel/grimy,
-/area/ruin/space/has_grav/listeningstation)
-"bF" = (
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"bH" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/stripes/line{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/meter,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"bI" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden,
-/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
- dir = 8;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 1
- },
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"bJ" = (
-/obj/docking_port/stationary{
- dir = 4;
- dwidth = 6;
- height = 7;
- id = "caravansyndicate3_listeningpost";
- name = "Syndicate Listening Post";
- width = 15
- },
-/obj/docking_port/stationary{
- dir = 4;
- dwidth = 4;
- height = 5;
- id = "caravansyndicate1_listeningpost";
- name = "Syndicate Listening Post";
- width = 9
- },
-/turf/template_noop,
-/area/template_noop)
-"cE" = (
-/obj/structure/cable{
- icon_state = "0-4"
- },
-/obj/machinery/power/rtg/advanced/fullupgrade,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"eA" = (
-/obj/effect/decal/cleanable/dirt,
-/turf/closed/wall,
-/area/ruin/space/has_grav/listeningstation)
-"fs" = (
-/obj/machinery/atmospherics/components/unary/vent_pump/on{
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"fJ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/biogenerator,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"hJ" = (
-/obj/structure/closet/secure_closet/hydroponics{
- req_access = null
- },
-/obj/item/reagent_containers/spray/pestspray{
- pixel_x = 3;
- pixel_y = 4
- },
-/obj/item/shovel/spade,
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/turf_decal/tile/neutral{
- dir = 8
- },
-/obj/item/storage/bag/plants,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"ki" = (
-/obj/item/storage/daki{
- desc = "Make us whole.~";
- icon_state = "daki_Nar'Sie";
- name = "Nar-nar"
- },
-/obj/item/toy/plush/narplush,
-/turf/closed/mineral/random,
-/area/ruin/unpowered/no_grav)
-"kT" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/table,
-/obj/machinery/smartfridge/disks{
- pixel_x = -4;
- pixel_y = 11
- },
-/obj/item/reagent_containers/glass/bottle/nutrient/rh{
- pixel_x = -6;
- pixel_y = 5
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"lZ" = (
-/obj/structure/cable,
-/obj/structure/cable{
- icon_state = "1-8"
- },
-/obj/structure/sign/warning/radiation{
- pixel_y = -31
- },
-/obj/machinery/power/rtg/advanced/fullupgrade,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"na" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/closet/secure_closet/medical1{
- req_access = null;
- req_access_txt = "150"
- },
-/obj/item/storage/box/beakers/bluespace,
-/turf/open/floor/plasteel/white/side{
- dir = 6
- },
-/area/ruin/space/has_grav/listeningstation)
-"tU" = (
-/obj/machinery/seed_extractor,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"ux" = (
-/obj/machinery/telecomms/relay/preset/ruskie{
- use_power = 0
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plasteel/dark,
-/area/ruin/space/has_grav/listeningstation)
-"uB" = (
-/obj/machinery/airalarm/syndicate{
- dir = 1;
- pixel_y = -25
- },
-/obj/structure/table,
-/obj/item/kitchen/rollingpin{
- pixel_x = -6;
- pixel_y = 8
- },
-/obj/machinery/reagentgrinder/constructed,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"za" = (
-/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
- dir = 4;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"zq" = (
-/obj/machinery/hydroponics/constructable,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"zD" = (
-/obj/structure/sink{
- dir = 8;
- pixel_x = -12;
- pixel_y = 12
- },
-/obj/item/reagent_containers/glass/bucket,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/reagent_containers/glass/bucket{
- pixel_x = 9;
- pixel_y = 11
- },
-/obj/machinery/light/small{
- brightness = 3;
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"Bd" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/reagent_dispensers/watertank/high,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"Bs" = (
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"DC" = (
-/obj/structure/chair/stool,
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/light/small{
- brightness = 3;
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"DL" = (
-/obj/structure/chair/stool,
-/obj/machinery/firealarm{
- dir = 4;
- pixel_x = 25
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"Et" = (
-/obj/effect/decal/cleanable/blood/gibs,
-/obj/item/kitchen/knife/combat/survival,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"Gb" = (
-/obj/item/reagent_containers/glass/bottle/nutrient/rh{
- pixel_x = -4;
- pixel_y = -3
- },
-/obj/item/reagent_containers/glass/bottle/nutrient/rh{
- pixel_x = -6;
- pixel_y = 5
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"IH" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/supply/hidden{
- dir = 4
- },
-/obj/machinery/vending/hydroseeds{
- slogan_delay = 700
- },
-/obj/machinery/light/small{
- brightness = 3;
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"Lx" = (
-/obj/effect/turf_decal/stripes/line{
- dir = 5
- },
-/obj/effect/decal/cleanable/blood/drip,
-/obj/machinery/atmospherics/components/unary/tank/air{
- dir = 1
- },
-/obj/effect/turf_decal/bot,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"Mh" = (
-/obj/structure/table,
-/obj/item/storage/box/donkpockets{
- pixel_x = -2;
- pixel_y = 6
- },
-/obj/item/storage/box/donkpockets{
- pixel_y = 3
- },
-/obj/item/storage/box/donkpockets{
- pixel_x = 2
- },
-/obj/item/reagent_containers/food/snacks/chocolatebar,
-/obj/machinery/computer/security/telescreen/entertainment{
- pixel_y = -30
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"Nh" = (
-/obj/structure/table,
-/obj/item/reagent_containers/food/drinks/beer{
- pixel_x = -4;
- pixel_y = 14
- },
-/obj/item/storage/fancy/cigarettes/cigpack_syndicate{
- pixel_x = -3
- },
-/obj/item/reagent_containers/food/drinks/beer{
- pixel_x = 3;
- pixel_y = 11
- },
-/obj/item/lighter{
- pixel_x = 9
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"Ns" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/table,
-/obj/machinery/plantgenes{
- pixel_y = 6
- },
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"NQ" = (
-/obj/item/mop/advanced{
- pixel_x = -11
- },
-/obj/effect/decal/cleanable/blood/drip,
-/turf/open/floor/plating,
-/area/ruin/space/has_grav/listeningstation)
-"Qp" = (
-/obj/structure/sign/poster/contraband/random{
- pixel_y = -32
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/table,
-/obj/machinery/microwave,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"QM" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
- dir = 4;
- piping_layer = 3;
- pixel_x = 5;
- pixel_y = 5
- },
-/obj/machinery/computer/arcade/orion_trail,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"TK" = (
-/obj/machinery/chem_master,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
-"XM" = (
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plasteel,
-/area/ruin/space/has_grav/listeningstation)
+"aa" = (/turf/template_noop,/area/template_noop)
+"ab" = (/turf/closed/mineral/random,/area/ruin/unpowered/no_grav)
+"ac" = (/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/space/has_grav/listeningstation)
+"ad" = (/obj/machinery/computer/message_monitor{dir = 2},/obj/machinery/airalarm/syndicate{pixel_y = 24},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/paper/monitorkey,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"ae" = (/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/effect/decal/cleanable/dirt,/obj/machinery/computer/libraryconsole/bookmanagement,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"af" = (/obj/structure/rack{dir = 8},/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/head/helmet/space/syndicate,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = 3},/obj/effect/turf_decal/stripes/line,/turf/open/floor/mineral/plastitanium/red,/area/ruin/space/has_grav/listeningstation)
+"ag" = (/obj/machinery/airalarm/syndicate{pixel_y = 24},/obj/effect/decal/cleanable/dirt,/obj/effect/baseturf_helper/asteroid/airless,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"ah" = (/obj/machinery/computer/camera_advanced{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/newscaster{pixel_y = 32},/obj/item/radio/intercom{freerange = 1; name = "Syndicate Radio Intercom"; pixel_x = -30},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"ai" = (/obj/structure/chair/office/dark{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"aj" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/components/unary/vent_pump/on,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"ak" = (/obj/machinery/light/small,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/item/twohanded/required/kirbyplants/random,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"al" = (/obj/structure/table,/obj/item/storage/toolbox/syndicate,/obj/item/flashlight{pixel_y = -12},/obj/effect/decal/cleanable/dirt,/obj/item/clothing/glasses/meson/night{pixel_x = 1; pixel_y = 11},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"am" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/components/unary/vent_pump/on,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"an" = (/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 4},/obj/machinery/door/airlock/external{id_tag = "syndie_listeningpost_external"; req_access_txt = "150"},/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"ao" = (/obj/machinery/light/small,/obj/structure/sign/warning/vacuum{pixel_y = 32},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"ap" = (/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 8},/obj/machinery/poweredfans,/obj/machinery/door/airlock/external{id_tag = "syndie_listeningpost_external"; req_access_txt = "150"},/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"aq" = (/obj/machinery/hydroponics/constructable,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"ar" = (/obj/machinery/seed_extractor,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"as" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/computer/med_data/syndie{dir = 4; req_one_access = null},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"at" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"au" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"av" = (/obj/machinery/light/small{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 25},/obj/structure/table,/obj/item/paper_bin{pixel_x = -3; pixel_y = 4},/obj/item/paper/fluff/ruins/listeningstation/reports/november{pixel_x = -3; pixel_y = 4},/obj/item/pen{pixel_x = -4; pixel_y = 5},/obj/item/stock_parts/cell/high/plus{pixel_x = -8; pixel_y = -3},/obj/item/integrated_electronics/wirer{pixel_x = 7; pixel_y = 8},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"aw" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/stock_parts/cell/high/plus,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/airalarm/syndicate{dir = 4; pixel_x = -24},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"ax" = (/obj/machinery/light/small{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/obj/machinery/button/door{id = "syndie_listeningpost_external"; name = "External Bolt Control"; normaldoorcontrol = 1; pixel_x = 24; req_access_txt = "150"; specialfunctions = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/components/unary/vent_scrubber/on{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"ay" = (/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 4},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"az" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/autolathe/hacked,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"aA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"aB" = (/obj/structure/filingcabinet,/obj/item/paper/fluff/ruins/listeningstation/reports/april,/obj/item/paper/fluff/ruins/listeningstation/reports/may,/obj/item/paper/fluff/ruins/listeningstation/reports/june,/obj/item/paper/fluff/ruins/listeningstation/reports/july,/obj/item/paper/fluff/ruins/listeningstation/reports/august,/obj/item/paper/fluff/ruins/listeningstation/reports/september,/obj/item/paper/fluff/ruins/listeningstation/reports/october,/obj/item/paper/fluff/ruins/listeningstation/receipt,/obj/effect/decal/cleanable/dirt,/obj/item/paper/fluff/ruins/listeningstation/odd_report,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"aC" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/storage/bag/ore,/obj/effect/decal/cleanable/dirt,/obj/item/shovel,/obj/item/pickaxe/mini,/obj/item/t_scanner/adv_mining_scanner/lesser,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"aD" = (/obj/machinery/atmospherics/components/unary/vent_pump/on,/obj/structure/closet/emcloset/anchored,/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/turf/open/floor/mineral/plastitanium,/area/ruin/space/has_grav/listeningstation)
+"aE" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/structure/tank_dispenser/oxygen{oxygentanks = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/mineral/plastitanium,/area/ruin/space/has_grav/listeningstation)
+"aF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/space/has_grav/listeningstation)
+"aG" = (/obj/machinery/atmospherics/components/unary/outlet_injector/on{dir = 8; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plating/airless,/area/ruin/space/has_grav/listeningstation)
+"aH" = (/obj/machinery/vending/hydroseeds{slogan_delay = 700},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"aI" = (/obj/machinery/hydroponics/constructable,/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"aJ" = (/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 12},/obj/item/reagent_containers/glass/bucket,/obj/effect/decal/cleanable/dirt,/obj/item/reagent_containers/glass/bucket{pixel_x = 9; pixel_y = 11},/obj/machinery/light/small{brightness = 3; dir = 8},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 8},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"aK" = (/obj/machinery/door/firedoor,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/door/airlock/hatch{name = "Telecommunications"; req_access_txt = "150"},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"aL" = (/obj/item/bombcore/badmin{anchored = 1; invisibility = 100},/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/space/has_grav/listeningstation)
+"aM" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/door/airlock/hatch{name = "E.V.A. Equipment"; req_access_txt = "150"},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"aN" = (/obj/item/reagent_containers/glass/bottle/nutrient/rh{pixel_x = -4; pixel_y = -3},/obj/item/reagent_containers/glass/bottle/nutrient/rh{pixel_x = -6; pixel_y = 5},/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 4},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"aO" = (/obj/machinery/light/small{dir = 8},/obj/structure/closet/crate,/obj/item/stack/sheet/metal/fifty,/obj/item/stack/sheet/glass/fifty,/obj/item/stack/rods/ten,/obj/structure/cable{icon_state = "1-2"},/obj/effect/turf_decal/stripes/line,/obj/effect/decal/cleanable/dirt,/obj/item/stack/sheet/mineral/plasma{amount = 30},/obj/item/storage/box/lights/bulbs,/obj/item/storage/box/stockparts/deluxe,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"aP" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/obj/structure/extinguisher_cabinet{pixel_y = -29},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"aQ" = (/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"aR" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/door/airlock{dir = 4; name = "Personal Quarters"},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"aS" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"aT" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 2; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"aU" = (/obj/effect/turf_decal/stripes/red/corner{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"aV" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/structure/sign/poster/contraband/random{pixel_y = 30},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"aW" = (/obj/machinery/light/small{dir = 1},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"aX" = (/obj/structure/closet/firecloset/full{anchored = 1},/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/turf/open/floor/mineral/plastitanium,/area/ruin/space/has_grav/listeningstation)
+"aY" = (/obj/machinery/vending/snack/random{extended_inventory = 1},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/sign/poster/contraband/random{pixel_x = 32},/obj/effect/turf_decal/tile/red{dir = 1},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"aZ" = (/turf/closed/mineral/random,/area/ruin/space/has_grav/listeningstation)
+"ba" = (/obj/machinery/vending/boozeomat/syndicate_access,/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/space/has_grav/listeningstation)
+"bb" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/door/airlock/public/glass{dir = 4; name = "Botany"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"bc" = (/obj/structure/table/wood,/obj/machinery/chem_dispenser/drinks/fullupgrade,/obj/structure/sign/barsign{pixel_y = 32; req_access = null; req_access_txt = "0"},/turf/open/floor/wood{icon_state = "wood-broken"},/area/ruin/space/has_grav/listeningstation)
+"bd" = (/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"be" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 8},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"bf" = (/obj/effect/decal/cleanable/dirt,/obj/structure/reagent_dispensers/watertank/high,/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"bg" = (/obj/structure/table/wood,/obj/machinery/chem_dispenser/drinks/beer/fullupgrade,/turf/open/floor/wood{icon_state = "wood-broken4"},/area/ruin/space/has_grav/listeningstation)
+"bh" = (/obj/structure/sign/warning/securearea{desc = "A warning sign which reads 'DANGER: SELF DESTRUCT DEVICE'."; name = "DANGER: SELF DESTRUCT DEVICE"; pixel_x = 32},/obj/machinery/door/window/brigdoor{dir = 8; req_access_txt = "150"},/obj/machinery/syndicatebomb/self_destruct{anchored = 1},/turf/open/floor/circuit/red,/area/ruin/space/has_grav/listeningstation)
+"bi" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"bj" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 2; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"bk" = (/obj/effect/turf_decal/stripes/red/line{dir = 4},/obj/effect/turf_decal/caution/red{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"bl" = (/obj/structure/rack{dir = 8},/obj/item/stack/sheet/metal/fifty,/obj/item/integrated_circuit_printer/upgraded,/obj/item/multitool,/obj/effect/decal/cleanable/dirt,/obj/item/stock_parts/cell/high/plus{pixel_x = 9; pixel_y = -3},/obj/machinery/light_switch{pixel_x = 27},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"bm" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"bn" = (/obj/machinery/door/airlock/public/glass{dir = 4; name = "Minibar"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 8},/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"bo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 8},/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"bp" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"bq" = (/obj/structure/cable/yellow{icon_state = "0-4"},/obj/machinery/power/smes{charge = 5e+006},/obj/effect/turf_decal/stripes/line{dir = 6},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"br" = (/obj/structure/cable/yellow{icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/power/apc/syndicate{dir = 4; name = "Syndicate Listening Post APC"; pixel_x = 24},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"bs" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"bt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"bu" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"bv" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/machinery/vending/cola/shamblers,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"bw" = (/obj/structure/closet/secure_closet/hydroponics{req_access = null},/obj/item/reagent_containers/spray/pestspray{pixel_x = 3; pixel_y = 4},/obj/item/shovel/spade,/obj/effect/decal/cleanable/dirt,/obj/item/storage/bag/plants,/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"bx" = (/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 8},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"by" = (/obj/machinery/power/terminal{dir = 1},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1},/obj/structure/reagent_dispensers/fueltank,/obj/item/clothing/head/welding,/obj/item/weldingtool/largetank,/obj/effect/decal/cleanable/dirt,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"bz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/decal/cleanable/dirt,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"bA" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"bB" = (/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"bC" = (/obj/structure/cable,/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/effect/turf_decal/bot,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{icon_state = "1-2"},/obj/item/storage/toolbox/syndicate,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"bD" = (/obj/structure/sign/departments/medbay/alt,/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/space/has_grav/listeningstation)
+"bE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/white/side{dir = 8},/area/ruin/space/has_grav/listeningstation)
+"bF" = (/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"bG" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table,/obj/machinery/smartfridge/disks{pixel_x = -4; pixel_y = 11},/obj/item/reagent_containers/glass/bottle/nutrient/rh{pixel_x = -6; pixel_y = 5},/obj/machinery/light/small{brightness = 3; dir = 8},/obj/effect/turf_decal/loading_area{dir = 5; icon_state = "steel_panel"; name = "steel pannel"},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"bH" = (/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/meter,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"bI" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"bJ" = (/obj/docking_port/stationary{dir = 4; dwidth = 6; height = 7; id = "caravansyndicate3_listeningpost"; name = "Syndicate Listening Post"; width = 15},/obj/docking_port/stationary{dir = 4; dwidth = 4; height = 5; id = "caravansyndicate1_listeningpost"; name = "Syndicate Listening Post"; width = 9},/turf/template_noop,/area/template_noop)
+"bK" = (/obj/structure/chair/stool,/turf/open/floor/wood{icon_state = "wood-broken7"},/area/ruin/space/has_grav/listeningstation)
+"bL" = (/obj/machinery/light/small,/obj/machinery/airalarm/syndicate{dir = 1; pixel_y = -24},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/obj/structure/table/wood,/obj/item/reagent_containers/food/drinks/beer{pixel_x = 5; pixel_y = -2},/obj/item/reagent_containers/rag{pixel_x = -4; pixel_y = 9},/obj/item/toy/cards/deck/syndicate{pixel_x = -6; pixel_y = 6},/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"bM" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/loading_area{dir = 9; icon_state = "steel_panel"; name = "steel pannel"},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"bN" = (/obj/effect/turf_decal/stripes/red/corner,/obj/machinery/light/small{dir = 4},/obj/machinery/airalarm/syndicate{dir = 8; pixel_x = 24},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"bO" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/loading_area{dir = 6; icon_state = "steel_panel"; name = "steel pannel"},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"bP" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/biogenerator,/obj/effect/turf_decal/loading_area{dir = 5; icon_state = "steel_panel"; name = "steel pannel"},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"bQ" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/structure/extinguisher_cabinet{pixel_x = -27; pixel_y = 1},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 8},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"bR" = (/obj/structure/chair/stool,/turf/open/floor/wood{icon_state = "wood-broken"},/area/ruin/space/has_grav/listeningstation)
+"bS" = (/obj/structure/rack{dir = 8},/obj/item/stack/sheet/cardboard{amount = 3},/obj/item/stack/rods/twentyfive,/obj/item/stock_parts/cell/high/plus,/obj/effect/decal/cleanable/dirt,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"bT" = (/obj/structure/chair/comfy/black{dir = 8},/turf/open/floor/wood{icon_state = "wood-broken7"},/area/ruin/space/has_grav/listeningstation)
+"bU" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "Botany"},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"bV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel/grimy,/area/ruin/space/has_grav/listeningstation)
+"bW" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/structure/bed,/obj/effect/spawner/lootdrop/bedsheet,/turf/open/floor/plasteel/grimy,/area/ruin/space/has_grav/listeningstation)
+"bX" = (/obj/structure/table/optable,/obj/item/surgical_drapes,/obj/machinery/light/small{brightness = 2; dir = 1},/turf/open/floor/plasteel/white,/area/ruin/space/has_grav/listeningstation)
+"bY" = (/obj/effect/decal/cleanable/dirt,/obj/structure/table,/obj/machinery/plantgenes{pixel_y = 6},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"bZ" = (/turf/open/floor/wood{icon_state = "wood-broken5"},/area/ruin/space/has_grav/listeningstation)
+"ca" = (/obj/structure/table,/obj/machinery/computer/security/telescreen/entertainment{pixel_y = -30},/obj/item/storage/bag/tray,/obj/item/reagent_containers/food/snacks/chocolatebar,/obj/item/kitchen/rollingpin{pixel_x = -6; pixel_y = 8},/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"cb" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/obj/structure/window{dir = 4},/obj/structure/closet/secure_closet/freezer/kitchen/maintenance{req_access = null},/obj/machinery/light/small{brightness = 2},/obj/item/storage/box/donkpockets,/obj/item/storage/box/donkpockets/donkpockethonk,/obj/item/storage/box/donkpockets/donkpocketspicy,/obj/item/storage/box/donkpockets/donkpocketteriyaki,/obj/item/storage/box/donkpockets/donkpocketberry,/turf/open/floor/wood{icon_state = "wood-broken6"},/area/ruin/space/has_grav/listeningstation)
+"cc" = (/turf/open/floor/plating/asteroid/airless,/area/ruin/space/has_grav/listeningstation)
+"cd" = (/obj/structure/table/reinforced,/obj/item/retractor,/obj/item/hemostat,/obj/effect/decal/cleanable/dirt,/obj/item/scalpel,/turf/open/floor/plasteel/white,/area/ruin/space/has_grav/listeningstation)
+"ce" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "airlock"},/obj/effect/mapping_helpers/airlock/cyclelink_helper,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"cf" = (/obj/effect/decal/cleanable/blood/gibs,/obj/item/kitchen/knife/combat/survival,/obj/item/mop/advanced{pixel_x = -11},/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"cg" = (/obj/structure/closet/crate/secure/weapon{req_access_txt = "150"},/obj/item/ammo_box/magazine/m10mm{pixel_x = -2; pixel_y = 2},/obj/item/ammo_box/magazine/m10mm{pixel_x = 1; pixel_y = -1},/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"ch" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 8},/obj/machinery/door/airlock{dir = 4; name = "Cabin"},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"ci" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 8},/turf/open/floor/plasteel/grimy,/area/ruin/space/has_grav/listeningstation)
+"cj" = (/obj/effect/mob_spawn/human/lavaland_syndicate/comms/space{assignedrole = "Space Syndicate"; dir = 8; flavour_text = "You are a syndicate agent, assigned to a small listening post station situated near your hated enemy's top secret research facility: Space Station 13. Monitor enemy activity as best you can, and try to keep a low profile. DON'T abandon the base without good cause. Use the communication equipment to provide support to any field agents, and sow disinformation to throw Kinaris off your trail. Do not let the base fall into enemy hands!"},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 8},/turf/open/floor/plasteel/grimy,/area/ruin/space/has_grav/listeningstation)
+"ck" = (/obj/machinery/computer/operating,/turf/open/floor/plasteel/white,/area/ruin/space/has_grav/listeningstation)
+"cl" = (/turf/template_noop,/area/ruin/space/has_grav/listeningstation)
+"cm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/loading_area{dir = 8; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"cn" = (/obj/structure/chair/stool,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/loading_area{dir = 9; icon_state = "steel_panel"; name = "steel pannel"},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"co" = (/obj/machinery/computer/arcade/orion_trail,/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"cp" = (/obj/structure/table/reinforced,/obj/item/surgicaldrill,/obj/item/cautery,/obj/effect/decal/cleanable/dirt,/obj/item/circular_saw{pixel_y = 9},/turf/open/floor/plasteel/white,/area/ruin/space/has_grav/listeningstation)
+"cq" = (/obj/item/ashtray,/obj/structure/table/plasmaglass,/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"cr" = (/turf/open/floor/plasteel/white,/area/ruin/space/has_grav/listeningstation)
+"cs" = (/obj/structure/lattice,/turf/template_noop,/area/ruin/space/has_grav/listeningstation)
+"ct" = (/obj/machinery/door/airlock{dir = 4; name = "Toilet"},/turf/open/floor/plasteel/showroomfloor,/area/ruin/space/has_grav/listeningstation)
+"cu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"cv" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/open/floor/plasteel/white,/area/ruin/space/has_grav/listeningstation)
+"cw" = (/obj/structure/closet/emcloset/anchored,/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/obj/machinery/light/small{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/open/floor/mineral/plastitanium,/area/ruin/space/has_grav/listeningstation)
+"cx" = (/obj/structure/sink{dir = 4; pixel_x = 11},/obj/structure/mirror{pixel_x = 28},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/showroomfloor,/area/ruin/space/has_grav/listeningstation)
+"cy" = (/obj/structure/curtain,/obj/item/soap,/obj/effect/decal/cleanable/dirt,/obj/machinery/shower{dir = 1},/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/showroomfloor,/area/ruin/space/has_grav/listeningstation)
+"cz" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/sleeper/syndie{dir = 4},/turf/open/floor/plasteel/white/side{dir = 9},/area/ruin/space/has_grav/listeningstation)
+"cA" = (/obj/structure/flora/rock/pile,/turf/open/floor/plating/asteroid/airless,/area/ruin/space/has_grav/listeningstation)
+"cB" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/item/twohanded/required/kirbyplants/random,/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"cC" = (/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/white/side{dir = 1},/area/ruin/space/has_grav/listeningstation)
+"cD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"cE" = (/obj/structure/cable{icon_state = "0-4"},/obj/machinery/power/rtg/advanced/fullupgrade,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"cF" = (/obj/structure/bookcase/random,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"cG" = (/obj/structure/closet{icon_door = "black"; name = "wardrobe"},/obj/item/clothing/under/color/black{pixel_x = -3; pixel_y = 3},/obj/item/clothing/under/color/black{pixel_x = 1; pixel_y = -1},/obj/item/clothing/head/soft/black{pixel_x = -3; pixel_y = 3},/obj/item/clothing/head/soft/black{pixel_x = 1; pixel_y = -1},/obj/item/clothing/gloves/fingerless,/obj/item/clothing/shoes/sneakers/black{pixel_x = -3; pixel_y = 3},/obj/item/clothing/shoes/sneakers/black{pixel_x = 1; pixel_y = -1},/obj/effect/decal/cleanable/dirt,/obj/item/storage/photo_album,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/airalarm/syndicate{dir = 4; pixel_x = -24},/turf/open/floor/plasteel/grimy,/area/ruin/space/has_grav/listeningstation)
+"cH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/white/side{dir = 5},/area/ruin/space/has_grav/listeningstation)
+"cI" = (/obj/effect/turf_decal/sand/plating,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"cJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"cK" = (/obj/structure/grille,/obj/structure/window/plastitanium,/obj/machinery/door/firedoor,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"cL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 4},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical/glass{dir = 4; name = "Medbay"},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"cM" = (/obj/structure/sign/poster/contraband/random{pixel_y = -32},/obj/effect/decal/cleanable/dirt,/obj/structure/table,/obj/machinery/microwave,/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"cN" = (/obj/structure/flora/rock,/turf/open/floor/plating/asteroid/airless,/area/ruin/space/has_grav/listeningstation)
+"cO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 8},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical/glass{dir = 4; name = "Medbay"},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"cP" = (/obj/structure/table,/obj/item/reagent_containers/food/drinks/beer{pixel_x = -4; pixel_y = 14},/obj/item/storage/fancy/cigarettes/cigpack_syndicate{pixel_x = -3},/obj/item/reagent_containers/food/drinks/beer{pixel_x = 3; pixel_y = 11},/obj/item/lighter{pixel_x = 9},/obj/effect/decal/cleanable/dirt,/obj/structure/extinguisher_cabinet{pixel_y = -29},/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"cQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 4},/obj/machinery/light/small{brightness = 2},/obj/effect/decal/cleanable/dirt,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"cR" = (/obj/structure/window,/obj/machinery/light/small{brightness = 3; dir = 8},/obj/structure/closet/crate/freezer,/obj/item/reagent_containers/blood/OMinus{pixel_x = -3; pixel_y = 3},/obj/item/reagent_containers/blood/OMinus,/turf/open/floor/plasteel/white/side{dir = 8},/area/ruin/space/has_grav/listeningstation)
+"cS" = (/obj/structure/chair/comfy/black{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"cT" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/airalarm/syndicate{pixel_y = 24},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"cU" = (/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"cV" = (/obj/effect/decal/cleanable/dirt,/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"cW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/button/door{id = "spacesyndi_virology"; name = "Virology Blast Door Control"; pixel_x = 26; pixel_y = 5; req_access_txt = "150"},/turf/open/floor/plasteel/white/side{dir = 4},/area/ruin/space/has_grav/listeningstation)
+"cX" = (/obj/machinery/smartfridge/chemistry/virology/preloaded,/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/space/has_grav/listeningstation)
+"cY" = (/obj/machinery/iv_drip,/obj/machinery/iv_drip,/turf/open/floor/plasteel/white/side{dir = 8},/area/ruin/space/has_grav/listeningstation)
+"cZ" = (/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -26},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"da" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"db" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/chem_master,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/stripes/line{dir = 6},/obj/machinery/light/small{brightness = 2; dir = 4; icon_state = "bulb"},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"dc" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"dd" = (/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 8},/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"de" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 2; piping_layer = 3; pixel_x = 5; pixel_y = 5},/turf/open/floor/carpet,/area/ruin/space/has_grav/listeningstation)
+"df" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 8},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"dg" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/caution/red{dir = 8},/turf/open/floor/plasteel/white/corner{dir = 4},/area/ruin/space/has_grav/listeningstation)
+"dh" = (/obj/machinery/light/small{brightness = 2; dir = 4; icon_state = "bulb"},/obj/effect/turf_decal/stripes/red/box,/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk,/turf/open/floor/plasteel/white/side{dir = 5},/area/ruin/space/has_grav/listeningstation)
+"di" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"dj" = (/obj/structure/grille,/obj/structure/window/plastitanium,/obj/machinery/door/poddoor/preopen{id = "spacesyndi_virology"},/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"dk" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/obj/machinery/reagentgrinder/constructed,/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"dl" = (/obj/structure/table,/obj/item/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/storage/box/syringes,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/spray/cleaner,/obj/item/clothing/gloves/color/latex,/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/white/side{dir = 9},/area/ruin/space/has_grav/listeningstation)
+"dm" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/white/corner{dir = 1},/area/ruin/space/has_grav/listeningstation)
+"dn" = (/obj/structure/grille,/obj/structure/window/plastitanium,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters/preopen{id = "Bedroom"; name = "Bedroom shutter"},/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"do" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"dp" = (/turf/open/floor/carpet,/area/ruin/space/has_grav/listeningstation)
+"dq" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"dr" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/chem_heater,/obj/structure/window{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/stripes/line{dir = 9},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"ds" = (/obj/machinery/chem_dispenser/fullupgrade,/obj/structure/window{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/stripes/line{dir = 5},/obj/structure/disposalpipe/segment{dir = 9},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"dt" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet{dir = 8},/turf/open/floor/plating/airless,/area/ruin/space/has_grav/listeningstation)
+"du" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/closed/mineral/random,/area/ruin/unpowered/no_grav)
+"dv" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/space/has_grav/listeningstation)
+"dw" = (/obj/structure/table,/obj/item/paper_bin{pixel_x = -2; pixel_y = 5},/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{brightness = 3; dir = 8},/obj/item/clothing/glasses/hud/health,/turf/open/floor/plasteel/white/side{dir = 8},/area/ruin/space/has_grav/listeningstation)
+"dx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/loading_area{dir = 8; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"dy" = (/obj/structure/chair/stool,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"dz" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"dA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{name = "airlock"},/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 1},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"dB" = (/obj/machinery/light/small{brightness = 2; dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/loading_area{dir = 8; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"dC" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/open/floor/plasteel/white/side{dir = 10},/area/ruin/space/has_grav/listeningstation)
+"dD" = (/obj/structure/table,/obj/item/storage/firstaid/regular,/obj/item/clothing/neck/stethoscope,/obj/machinery/airalarm/syndicate{dir = 1; pixel_y = -24},/turf/open/floor/plasteel/white/side,/area/ruin/space/has_grav/listeningstation)
+"dE" = (/obj/structure/toilet{pixel_y = 18},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/showroomfloor,/area/ruin/space/has_grav/listeningstation)
+"dF" = (/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/showroomfloor,/area/ruin/space/has_grav/listeningstation)
+"dG" = (/obj/structure/grille,/obj/structure/window/plastitanium,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"dH" = (/obj/effect/decal/cleanable/dirt,/obj/structure/sink{dir = 1; pixel_x = -9; pixel_y = -1},/turf/open/floor/plasteel/white/side,/area/ruin/space/has_grav/listeningstation)
+"dI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/stripes/line{dir = 10},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"dJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/turf/open/floor/plasteel/white/side{dir = 1},/area/ruin/space/has_grav/listeningstation)
+"dK" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/structure/bed,/obj/effect/spawner/lootdrop/bedsheet,/obj/machinery/button/door{id = "Bedroom"; name = "Bedroom Shutter Control"; pixel_x = 26; req_access_txt = "150"},/turf/open/floor/plasteel/grimy,/area/ruin/space/has_grav/listeningstation)
+"dL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/door/airlock{dir = 2; name = "Medical Storage"},/turf/open/floor/plasteel/white,/area/ruin/space/has_grav/listeningstation)
+"dM" = (/turf/open/floor/plasteel/white/corner{dir = 4},/area/ruin/space/has_grav/listeningstation)
+"dN" = (/turf/open/floor/plasteel/white/corner{dir = 1},/area/ruin/space/has_grav/listeningstation)
+"dO" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/secure_closet/medical1{req_access = null; req_access_txt = "150"},/obj/item/storage/box/beakers/bluespace,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"dP" = (/obj/structure/table/wood,/obj/item/ammo_box/magazine/m10mm{pixel_x = 8; pixel_y = 5},/obj/item/paper/fluff/ruins/listeningstation/briefing{pixel_x = -7; pixel_y = -3},/obj/item/bluespace_thread,/obj/machinery/light/small{brightness = 2; dir = 4},/turf/open/floor/plasteel/grimy,/area/ruin/space/has_grav/listeningstation)
+"dQ" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/vending/medical/syndicate_access,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"dR" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 4},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"dS" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/effect/turf_decal/tile/green{dir = 1},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"dT" = (/obj/machinery/cryopod/syndicate{dir = 8},/obj/effect/turf_decal/stripes/red/line{dir = 6},/turf/open/floor/plasteel/white,/area/ruin/space/has_grav/listeningstation)
+"dU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"dV" = (/obj/structure/table/wood,/obj/item/ammo_box/magazine/m10mm{pixel_x = 8; pixel_y = 5},/obj/item/bluespace_thread,/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/grimy,/area/ruin/space/has_grav/listeningstation)
+"dX" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"dY" = (/obj/structure/flora/junglebush/large,/turf/open/floor/plating/asteroid/airless,/area/ruin/space/has_grav/listeningstation)
+"dZ" = (/obj/item/shard,/obj/effect/turf_decal/sand/plating,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"ea" = (/obj/effect/decal/cleanable/cobweb/cobweb2,/obj/structure/trash_pile,/turf/open/floor/plating{icon_state = "platingdmg3"},/area/ruin/space/has_grav/listeningstation)
+"eb" = (/obj/structure/flora/rock/pile,/obj/structure/flora/junglebush/c{pixel_y = 15},/turf/open/floor/plating/asteroid/airless,/area/ruin/space/has_grav/listeningstation)
+"ec" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/door/firedoor,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"ed" = (/turf/open/floor/plating{icon_state = "panelscorched"},/area/ruin/space/has_grav/listeningstation)
+"ee" = (/obj/structure/flora/rock/pile,/obj/structure/flora/junglebush/c,/turf/open/floor/plating/asteroid/airless,/area/ruin/space/has_grav/listeningstation)
+"ef" = (/obj/structure/barricade/wooden,/turf/open/floor/plating/asteroid/airless,/area/ruin/space/has_grav/listeningstation)
+"eg" = (/obj/structure/flora/grass/jungle/b,/obj/structure/lattice,/turf/open/floor/plating/asteroid/airless,/area/ruin/space/has_grav/listeningstation)
+"eh" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 8},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"ei" = (/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/turf/closed/wall/mineral/plastitanium/nodiagonal,/area/ruin/space/has_grav/listeningstation)
+"ej" = (/obj/structure/flora/ausbushes/lavendergrass,/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/junglebush/c{pixel_x = 10; pixel_y = -5},/turf/open/floor/grass,/area/ruin/space/has_grav/listeningstation)
+"ek" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/junglebush/c,/obj/machinery/light,/turf/open/floor/grass,/area/ruin/space/has_grav/listeningstation)
+"el" = (/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/junglebush/large{pixel_x = -23; pixel_y = 0},/turf/open/floor/grass,/area/ruin/space/has_grav/listeningstation)
+"em" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 8},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"en" = (/obj/structure/lattice,/turf/open/floor/plating/asteroid/airless,/area/ruin/space/has_grav/listeningstation)
+"eo" = (/obj/structure/flora/rock/pile,/obj/structure/grille/broken,/turf/open/floor/plating/asteroid/airless,/area/ruin/space/has_grav/listeningstation)
+"ep" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{brightness = 3; dir = 8},/turf/open/floor/plasteel/showroomfloor,/area/ruin/space/has_grav/listeningstation)
+"eq" = (/obj/structure/table,/obj/item/razor,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"er" = (/obj/machinery/washing_machine,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"es" = (/obj/structure/closet/crate/bin,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"et" = (/obj/item/toy/plush/mammal/chemlight,/obj/item/toy/plush/mammal/winfre{pixel_x = -4; pixel_y = -3},/turf/open/floor/plating/asteroid/airless,/area/ruin/space/has_grav/listeningstation)
+"eu" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"ev" = (/obj/structure/chair/stool,/obj/machinery/light/small{brightness = 2; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/open/floor/wood,/area/ruin/space/has_grav/listeningstation)
+"ey" = (/obj/machinery/light/small{brightness = 2; dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/structure/chair/sofa/right{dir = 8},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"ez" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/structure/chair/sofa/left{dir = 8},/obj/machinery/light_switch{pixel_x = 27},/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"eA" = (/obj/machinery/light/small{brightness = 2},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1; piping_layer = 3; pixel_x = 5; pixel_y = 5},/obj/structure/closet/secure_closet/medical1{req_access = null; req_access_txt = "150"},/obj/item/defibrillator/compact/combat/loaded,/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"lZ" = (/obj/structure/cable,/obj/structure/cable{icon_state = "1-8"},/obj/structure/sign/warning/radiation{pixel_y = -31},/obj/machinery/power/rtg/advanced/fullupgrade,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
+"ux" = (/obj/machinery/telecomms/relay/preset/ruskie{use_power = 0},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/dark,/area/ruin/space/has_grav/listeningstation)
+"Bs" = (/turf/open/floor/plasteel,/area/ruin/space/has_grav/listeningstation)
+"Lx" = (/obj/effect/turf_decal/stripes/line{dir = 5},/obj/effect/decal/cleanable/blood/drip,/obj/machinery/atmospherics/components/unary/tank/air{dir = 1},/obj/effect/turf_decal/bot,/obj/effect/decal/cleanable/dirt,/turf/open/floor/plating,/area/ruin/space/has_grav/listeningstation)
(1,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(2,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(3,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-ab
-ab
-ab
-aa
-aa
-aa
-aa
-"}
-(4,1,1) = {"
-aa
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-aa
-"}
-(5,1,1) = {"
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-aa
-"}
-(6,1,1) = {"
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-"}
-(7,1,1) = {"
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-"}
-(8,1,1) = {"
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-"}
-(9,1,1) = {"
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-"}
-(10,1,1) = {"
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-"}
-(11,1,1) = {"
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-"}
-(12,1,1) = {"
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-"}
-(13,1,1) = {"
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-"}
-(14,1,1) = {"
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ac
-ac
-ac
-ac
-ac
-ac
-ac
-ac
-ac
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-"}
-(15,1,1) = {"
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ac
-hJ
-zD
-Bd
-Ns
-fJ
-DC
-uB
-ac
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-"}
-(16,1,1) = {"
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ac
-zq
-Gb
-kT
-Bs
-tU
-Bs
-Mh
-ac
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-"}
-(17,1,1) = {"
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ac
-zq
-XM
-Bs
-fs
-za
-Bs
-Qp
-ac
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-"}
-(18,1,1) = {"
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ac
-ac
-TK
-Bs
-IH
-QM
-DL
-Nh
-ac
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-"}
-(19,1,1) = {"
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ki
-ac
-aq
-ac
-aH
-aN
-aZ
-ac
-ac
-ac
-ac
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-"}
-(20,1,1) = {"
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ac
-ar
-ay
-aI
-aP
-ba
-bj
-eA
-bv
-ac
-ac
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-"}
-(21,1,1) = {"
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ac
-ac
-ac
-ac
-aJ
-aQ
-bb
-bk
-bp
-bi
-bw
-ac
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-"}
-(22,1,1) = {"
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ac
-ac
-ah
-as
-ac
-ac
-aR
-ac
-bl
-ac
-bx
-bD
-ag
-ag
-ag
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-"}
-(23,1,1) = {"
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ac
-ad
-ai
-at
-az
-ac
-aS
-ac
-ag
-ag
-ag
-ag
-ag
-cE
-ag
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-"}
-(24,1,1) = {"
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ac
-ae
-aj
-au
-aA
-aK
-aT
-bc
-ag
-bq
-by
-aO
-bC
-lZ
-ag
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-"}
-(25,1,1) = {"
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ac
-ux
-ak
-av
-aB
-ac
-aU
-bd
-bm
-br
-bz
-bF
-bH
-Lx
-ag
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-"}
-(26,1,1) = {"
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-ac
-ac
-ac
-ac
-ac
-aL
-aV
-be
-ag
-ag
-ag
-ag
-Et
-NQ
-ag
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-aa
-aa
-aa
-"}
-(27,1,1) = {"
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ag
-ag
-al
-aw
-aC
-ac
-aW
-bf
-bn
-bs
-bA
-ag
-ag
-ag
-ag
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(28,1,1) = {"
-aa
-aa
-aa
-aa
-ab
-ab
-ab
-ag
-af
-am
-ax
-bI
-aM
-aX
-bg
-bo
-bt
-bB
-ag
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(29,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-ab
-ab
-ag
-ag
-an
-ag
-aE
-ag
-aY
-bh
-ag
-bu
-na
-ag
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(30,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-ab
-ab
-ab
-ag
-ao
-ag
-aF
-ag
-ag
-ag
-ag
-ag
-ag
-ag
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(31,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-ag
-ap
-ag
-aG
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-"}
-(32,1,1) = {"
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-bJ
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-ab
-ab
-ab
-ab
-ab
-ab
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
-aa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababababaaaaaaaaaaaa
+aaaaaaaaaaaaabababaaaaaaaaaaaaaaabababababababababababaaaaaaaaaa
+aaaaaaaaabababababababababababababababababababababababaaaaaaaaaa
+aaaaaaabababababababababababababababababababababababababaaaaaaaa
+aaaaababababababababababababababababababababababababababababaaaa
+aaabababababababababababababababababababababababababababababaaaa
+aaababababababababababababababababababababacacacacacacacacabaaaa
+aaabababababababababababababababababababacacadaeuxacacafacacacaa
+aaabababababababababababababababababacabacahaiajblacalamanaoapbJ
+aaababababababababababacacacacacacacacabacasatauavacawaxacacacaa
+aaaaabababababababababababacaHaIaIaqacacacacazaAaBacaCbIaEaFaGaa
+aaaaaaababababababababababacaJaNayaQcKaDaXacacaKacaLacaMacacabaa
+aaaaabababababababababababacbfBsBsbdbbbebAaRaSaTagaVaWbiaYacabaa
+aaababababababababababababacbwbxddbBcKbFbNacacakcUaPbpbsbvacabaa
+aaabababababacacacacacacabacbGbMbObPacbQbkbhacacacacacbmacacabaa
+abababababababaccdbXckacacacbYcnbOaraccZaUacbabcbgacbqbracababaa
+abababababababaccpcrcvaccwacaccKbUacacdfbjbnbobtbuacbybzacacabaa
+abababababababacczcCcHcLeucObEcudRcQecdSdTacbKbLbRacaOdUbSacabab
+abababababababbDcRcUcWacacacbDcKcKacacceacacacacacacbCbHcfacabab
+ababababababaccXcYdadgdhacaZccclclcccKcmcKccaZaZaccElZLxcgacabab
+dtdudududududvdldmdqdrdsdjccclclclcscKcmcKcsclaZacacacacacacabab
+aaabababababacdwBsBsdxdydjcAclclclcsacdBaccsclclaZaZacababababab
+aaabababababacdCdDdHdIdbacaZclclclcIcKcmcKcsclclccaZacababababab
+aaabababababacacacacdLacacaZccclcccAcKcmcKcIclclcNaZacababababaa
+aaaaababababababacdMdJdNacaccKcKcKacacdAacacdndndnacacababababaa
+aaaaababababababacdOeAdQaccocScqbTcBcTcDcFaccGbVdKacabababababaa
+aaaaabababababacacacacacacevbZcVcVcJdcdedichcicjdPacabababababaa
+aaaaabababababaceedYdZeaaccMcacPdkcbdodpeyacacacacacababababaaaa
+aaaaabababababababebetedacacacacacacdzdpezaccGbVbWacababababaaaa
+aaaaaaabababababababeeefegedacdEdFctdXehemchcicjdVacababababaaaa
+aaaaababababababababababeneoeiepcxaceqeresacacacacacabababaaaaaa
+aaaaabababababababababababacaccyacacdGdGdGacabababababababaaaaaa
+aaaaababababababababababababacacacacejekelacabababababababaaaaaa
+aaaaaaababababababababababababababacacacacacababababababaaaaaaaa
+aaaaaaaaaaabababababababababababababababababababababababaaaaaaaa
+aaaaaaaaaaabababababaaaaabababababababababababababababaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababababababaaaaaaaaaaaaaa
"}
From 3772bbbcc56d798906c4ded7e0d38bed11dddc2c Mon Sep 17 00:00:00 2001
From: QuoteFox <49098813+quotefox@users.noreply.github.com>
Date: Thu, 28 Jan 2021 01:36:37 +0000
Subject: [PATCH 009/121] vibrators and code optimization!
---
.../code/modules/arousal/arousalhud.dm | 64 ++++----
hyperstation/code/obj/economy.dm | 0
hyperstation/code/obj/vibrator.dm | 153 ++++++++++++++++++
hyperstation/icons/obj/vibrator.dmi | Bin 0 -> 399 bytes
.../code/game/machinery/vending.dm | 4 +-
.../code/modules/arousal/arousal.dm | 20 ++-
.../code/modules/arousal/organs/belly.dm | 1 +
.../code/modules/arousal/organs/genitals.dm | 2 +
.../code/modules/arousal/organs/testicles.dm | 1 +
sound/lewd/vibrate.ogg | Bin 0 -> 24136 bytes
tgstation.dme | 1 +
11 files changed, 216 insertions(+), 30 deletions(-)
create mode 100644 hyperstation/code/obj/economy.dm
create mode 100644 hyperstation/code/obj/vibrator.dm
create mode 100644 hyperstation/icons/obj/vibrator.dmi
create mode 100644 sound/lewd/vibrate.ogg
diff --git a/hyperstation/code/modules/arousal/arousalhud.dm b/hyperstation/code/modules/arousal/arousalhud.dm
index da4acc80..229898a7 100644
--- a/hyperstation/code/modules/arousal/arousalhud.dm
+++ b/hyperstation/code/modules/arousal/arousalhud.dm
@@ -7,30 +7,12 @@
. = ..()
var/dat = {"Genitals
"}
- //List genitals
- var/obj/item/organ/genital/penis/P = user.getorganslot("penis")
- if (P) //they have a pp
- dat += "[P.mode == "hidden" ? "Penis (Hidden)" : (P.mode == "clothes" ? "Penis (Hidden by Clothes)" : (P.mode == "visable" ? "Penis (Visable)" : "Penis (Visable)"))]
"
-
- var/obj/item/organ/genital/testicles/T = user.getorganslot("testicles")
- if (T) //they have teabags
- if(!T.internal)
- dat += "[T.mode == "hidden" ? "Testicles (Hidden)" : (T.mode == "clothes" ? "Testicles (Hidden by Clothes)" : (T.mode == "visable" ? "Testicles (Visable)" : "Testicles (Visable)"))]
"
- else //internal balls
- dat += "Internal Testicles
"
- var/obj/item/organ/genital/vagina/V = user.getorganslot("vagina")
- if (V) //they have a vjay
- dat += "[V.mode == "hidden" ? "Vagina (Hidden)" : (V.mode == "clothes" ? "Vagina (Hidden by Clothes)" : (V.mode == "visable" ? "Vagina (Visable)" : "Vagina (Visable)"))]
"
-
- var/obj/item/organ/genital/breasts/B = user.getorganslot("breasts")
- if (B) //they have a boobiedoo
- dat += "[B.mode == "hidden" ? "Breasts (Hidden)" : (B.mode == "clothes" ? "Breasts (Hidden by Clothes)" : (B.mode == "visable" ? "Breasts (Visable)" : "Breasts (Visable)"))]
"
-
- var/obj/item/organ/genital/belly/E = user.getorganslot("belly")
- if (E)
- dat += "[E.mode == "hidden" ? "Belly (Hidden)" : (B.mode == "clothes" ? "Belly (Hidden by Clothes)" : (B.mode == "visable" ? "Belly (Visable)" : "Belly (Visable)"))]
"
+ var/mob/living/carbon/U = user
+ for(var/obj/item/organ/genital/G in U.internal_organs)
+ dat += "[G.mode == "hidden" ? "[G.name] (Hidden)" : (G.mode == "clothes" ? "[G.name] (Hidden by Clothes)" : (G.mode == "visable" ? "[G.name] (Visable)" : "[G.name] (Visable)"))]
"
dat += {"
Contexual Options
"}
+ var/obj/item/organ/genital/penis/P = user.getorganslot("penis")
//Options
dat += "Masturbate"
dat += "(Stimulate a sexual organ with your hands.)
"
@@ -63,12 +45,16 @@
dat += "Impregnate [user.pulling]"
dat += "(Climax inside another person, knocking them up.)
"
-
- if(P) // They have a dick (make sure to check or this will break everything)
+ //old code needs to be cleaned
+ if(P)
if(P.condom == 1)
- dat += "Remove Condom
"
+ dat += "Remove condom (penis)
"
if(P.sounding == 1)
- dat += "Remove Sounding Rod
"
+ dat += "Remove sounding rod (penis)
"
+ for(var/obj/item/organ/genital/G in U.internal_organs)
+ if(G.equipment) //they have equipment
+ dat += "Remove [G.equipment.name] ([G.name]).
"
+
dat += {"
"}//Newline for the objects
//bottom options
dat += "Refresh"
@@ -197,6 +183,31 @@
if(href_list["removesound"])
H.menuremovesounding()
+ if(href_list["removeequipmentpenis"])
+ var/obj/item/organ/genital/penis/O = usr.getorganslot("penis")
+ var/obj/item/I = O.equipment
+ usr.put_in_hands(I)
+ O.equipment = null
+
+ if(href_list["removeequipmentbreasts"])
+ var/obj/item/organ/genital/breasts/O = usr.getorganslot("breasts")
+ var/obj/item/I = O.equipment
+ usr.put_in_hands(I)
+ O.equipment = null
+
+
+ if(href_list["removeequipmentvagina"])
+ var/obj/item/organ/genital/vagina/O = usr.getorganslot("vagina")
+ var/obj/item/I = O.equipment
+ usr.put_in_hands(I)
+ O.equipment = null
+
+ if(href_list["removeequipmentbelly"])
+ var/obj/item/organ/genital/belly/O = usr.getorganslot("belly")
+ var/obj/item/I = O.equipment
+ usr.put_in_hands(I)
+ O.equipment = null
+
if(href_list["omenu"])
usr << browse(null, "window=arousal") //closes the window
H.mob_climax()
@@ -313,7 +324,6 @@ obj/screen/arousal/proc/kiss()
to_chat(src, "You cannot climax without choosing genitals.")
return
-
/mob/living/carbon/human/proc/climaxwith(mob/living/T)
var/mob/living/carbon/human/L = pick_partner()
diff --git a/hyperstation/code/obj/economy.dm b/hyperstation/code/obj/economy.dm
new file mode 100644
index 00000000..e69de29b
diff --git a/hyperstation/code/obj/vibrator.dm b/hyperstation/code/obj/vibrator.dm
new file mode 100644
index 00000000..532aeec4
--- /dev/null
+++ b/hyperstation/code/obj/vibrator.dm
@@ -0,0 +1,153 @@
+/obj/item/electropack/vibrator
+ name = "remote vibrator"
+ desc = "A remote device that can deliver pleasure at a fair. It has three intensities that can be set by twisting the base."
+ icon = 'hyperstation/icons/obj/vibrator.dmi'
+ icon_state = "vibe"
+ item_state = "vibe"
+ w_class = WEIGHT_CLASS_SMALL
+ slot_flags = ITEM_SLOT_DENYPOCKET //no more pocket shockers
+ var/mode = 1
+ var/style = "long"
+ var/inside = FALSE
+ var/last = 0
+
+/obj/item/electropack/vibrator/Initialize() //give the device its own code
+ . = ..()
+ code = rand(1,30)
+
+/obj/item/electropack/vibrator/small //can go anywhere
+ name = "small remote vibrator"
+ style = "small"
+ icon_state = "vibesmall"
+ item_state = "vibesmall"
+
+/obj/item/electropack/vibrator/AltClick(mob/living/user)
+ var/dat = {"
+
+Frequency/Code for vibrator:
+Frequency:
+[format_frequency(src.frequency)]
+Set
+
+Code:
+[src.code]
+Set
+"}
+ user << browse(dat, "window=radio")
+ onclose(user, "radio")
+ return
+
+/obj/item/electropack/shockcollar/security
+ name = "security shock collar"
+ desc = "A reinforced security collar. It has two electrodes that press against the neck, for disobedient pets."
+ icon_state = "shockseccollar"
+ item_state = "shockseccollar"
+
+/obj/item/electropack/vibrator/attack_self(mob/user)
+ if(!istype(user))
+ return
+ if(isliving(user))
+ playsound(user, 'sound/effects/clock_tick.ogg', 50, 1, -1)
+ switch(mode)
+ if(1)
+ mode = 2
+ to_chat(user, "You twist the bottom of [src], setting it to the medium setting.")
+ return
+ if(2)
+ mode = 3
+ to_chat(user, "You twist the bottom of [src], setting it to the high setting.")
+ return
+ if(3)
+ mode = 1
+ to_chat(user, "You twist the bottom of [src], setting it to the low setting.")
+ return
+
+/obj/item/electropack/vibrator/attack(mob/living/carbon/C, mob/living/user)
+
+ var/obj/item/organ/genital/picked_organ
+ var/mob/living/carbon/human/S = user
+ var/mob/living/carbon/human/T = C
+ picked_organ = S.target_genitals(T)
+ if(picked_organ)
+ C.visible_message("[user] is trying to attach [src] to [T]!",\
+ "[user] is trying to put [src] on you!")
+ if(!do_mob(user, C, 5 SECONDS))//warn them and have a delay of 5 seconds to apply.
+ return
+
+ if(style == "long" && !(picked_organ.name == "vagina")) //long vibrators dont fit on anything but vaginas, but small ones fit everywhere
+ to_chat(user, "[src] is too big to fit there, use a smaller version.")
+ return
+
+ if(!picked_organ.equipment)
+ if(!(style == "long"))
+ to_chat(user, "You attach [src] to [T]'s [picked_organ.name].")
+ else
+ to_chat(user, "You insert [src] into [T]'s [picked_organ.name].")
+ else
+ to_chat(user, "They already have a [picked_organ.equipment.name] there.")
+ return
+
+ if(!user.transferItemToLoc(src, picked_organ)) //check if you can put it in
+ return
+ src.inside = TRUE
+ picked_organ.equipment = src
+
+ else
+ to_chat(user, "You don't see anywhere to attach this.")
+
+
+/obj/item/electropack/vibrator/receive_signal(datum/signal/signal)
+ if(!signal || signal.data["code"] != code)
+ return
+
+ if(last > world.time)
+ return
+
+ last = world.time + 3 SECONDS //lets stop spam.
+
+ if(inside)
+ var/obj/item/organ/genital/G = src.loc
+ var/mob/living/carbon/U = G.owner
+
+ if(G)
+ switch(G.name) //just being fancy
+ if("penis")
+ to_chat(U, "[src] vibrates against your [G.name]!")
+ if("breasts")
+ to_chat(U, "[src] vibrates against your nipples!")
+ if("vagina")
+ to_chat(U, "[src] vibrates inside you!")
+
+ var/intencity = 10*mode
+ U.adjustArousalLoss(intencity) //give pleasure
+ playsound(U.loc, 'sound/lewd/vibrate.ogg', intencity, 1, -1) //vibe
+
+ switch(mode)
+ if(1) //low
+ to_chat(U, "You feel pleasure surgest through your [G.name]")
+ if(2) //med, can make you cum
+ to_chat(U, "You feel intense pleasure surgest through your [G.name]")
+ U.Jitter(3)
+ if (U.getArousalLoss() >= 100 && ishuman(U) && U.has_dna())
+ U.mob_climax(forced_climax=TRUE)
+ if(3) //high, makes you stun
+ to_chat(U, "You feel overpowering pleasure surgest through your [G.name]")
+ U.Jitter(3)
+ U.Stun(30)
+ if (U.getArousalLoss() >= 100 && ishuman(U) && U.has_dna())
+ U.mob_climax(forced_climax=TRUE)
+ if(prob(50))
+ U.emote("moan")
+
+
+
+ playsound(src, 'sound/lewd/vibrate.ogg', 40, 1, -1)
+ if(style == "long") //haha vibrator go brrrrrrr
+ icon_state = "vibing"
+
+ sleep(30)
+ icon_state = "vibe"
+ else
+ icon_state = "vibingsmall"
+ sleep(30)
+ icon_state = "vibesmall"
\ No newline at end of file
diff --git a/hyperstation/icons/obj/vibrator.dmi b/hyperstation/icons/obj/vibrator.dmi
new file mode 100644
index 0000000000000000000000000000000000000000..0a52ffb04d0e5fa67d0ece767a5e3c32cc17a52d
GIT binary patch
literal 399
zcmV;A0dW3_P)fFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM
z;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3KBSEHf!piHkEOv#1!zHRR$cMRKtsN6LWHiv;mJ=EY>J1xca$(Jq-Z7Nk%nrc|rmJ
z004VQL_t(YiDO_G1)~5jU{t`*XAnZ;3mf6*Ga93rpkjod&*V&Z4a!FN`Aq135Dvu8
zXEYU{P=jb7em-L;r5e)8(D-ere74L4RDrB*`1x$B(KL*LQ7{UI7hqJt&mRi)gVG^1
t{v|XGx|G^LvZomd@G*jQ6pRA80|0>x7mG!sn5h5&002ovPDHLkV1mx@pOgRq
literal 0
HcmV?d00001
diff --git a/modular_citadel/code/game/machinery/vending.dm b/modular_citadel/code/game/machinery/vending.dm
index 17947ae6..1a8e4e2f 100644
--- a/modular_citadel/code/game/machinery/vending.dm
+++ b/modular_citadel/code/game/machinery/vending.dm
@@ -59,7 +59,9 @@
/obj/item/clothing/under/polychromic/bulge = 3,
/obj/item/clothing/suit/maidapron = 3,
/obj/item/clothing/under/corset = 3,
- /obj/item/clothing/under/jabroni = 3
+ /obj/item/clothing/under/jabroni = 3,
+ /obj/item/electropack/vibrator/small = 2,
+ /obj/item/electropack/vibrator = 2,
)
contraband = list(
/obj/item/restraints/handcuffs/fake/kinky = 5,
diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm
index 7c995246..a4518e6f 100644
--- a/modular_citadel/code/modules/arousal/arousal.dm
+++ b/modular_citadel/code/modules/arousal/arousal.dm
@@ -473,12 +473,27 @@
for(var/obj/item/organ/genital/G in internal_organs)
if(G.can_masturbate_with) //filter out what you can't masturbate with
if(G.is_exposed(worn_stuff)) //Nude or through_clothing
- genitals_list += G
+ if(!G.dontlist)
+ genitals_list += G
if(genitals_list.len)
ret_organ = input(src, "with what?", "Masturbate", null) as null|obj in genitals_list
return ret_organ
return null //error stuff
+/mob/living/carbon/human/proc/target_genitals(mob/living/carbon/human/T) //used for targeting others
+ var/obj/item/organ/genital/ret_organ
+ var/list/genitals_list = list()
+ var/list/worn_stuff = get_equipped_items()
+
+ for(var/obj/item/organ/genital/G in T.internal_organs)
+ if(G.can_climax) //filter out what you can't masturbate with
+ if(G.is_exposed(worn_stuff)) //Nude or through_clothing
+ if(!G.dontlist)
+ genitals_list += G
+ if(genitals_list.len)
+ ret_organ = input(src, "", "Gentials", null) as null|obj in genitals_list
+ return ret_organ
+ return null //error stuff
/mob/living/carbon/human/proc/pick_climax_genitals()
var/obj/item/organ/genital/ret_organ
@@ -488,7 +503,8 @@
for(var/obj/item/organ/genital/G in internal_organs)
if(G.can_climax) //filter out what you can't masturbate with
if(G.is_exposed(worn_stuff)) //Nude or through_clothing
- genitals_list += G
+ if(!G.dontlist)
+ genitals_list += G
if(genitals_list.len)
ret_organ = input(src, "with what?", "Climax", null) as null|obj in genitals_list
return ret_organ
diff --git a/modular_citadel/code/modules/arousal/organs/belly.dm b/modular_citadel/code/modules/arousal/organs/belly.dm
index f8132725..fa774b33 100644
--- a/modular_citadel/code/modules/arousal/organs/belly.dm
+++ b/modular_citadel/code/modules/arousal/organs/belly.dm
@@ -15,6 +15,7 @@
can_climax = TRUE
fluid_transfer_factor = 0.5
var/sent_full_message = TRUE //defaults to 1 since they're full to start
+ dontlist = TRUE
/obj/item/organ/genital/belly/on_life()
if(QDELETED(src))
diff --git a/modular_citadel/code/modules/arousal/organs/genitals.dm b/modular_citadel/code/modules/arousal/organs/genitals.dm
index 1564079c..ffb64189 100644
--- a/modular_citadel/code/modules/arousal/organs/genitals.dm
+++ b/modular_citadel/code/modules/arousal/organs/genitals.dm
@@ -23,6 +23,8 @@
var/hidden = FALSE
var/colourtint = ""
var/mode = "clothes"
+ var/obj/item/equipment //for fun stuff that goes on the gentials/maybe rings down the line
+ var/dontlist = FALSE
/obj/item/organ/genital/Initialize()
. = ..()
diff --git a/modular_citadel/code/modules/arousal/organs/testicles.dm b/modular_citadel/code/modules/arousal/organs/testicles.dm
index be570831..b46c9623 100644
--- a/modular_citadel/code/modules/arousal/organs/testicles.dm
+++ b/modular_citadel/code/modules/arousal/organs/testicles.dm
@@ -19,6 +19,7 @@
masturbation_verb = "massage"
can_climax = TRUE
var/sent_full_message = TRUE //defaults to 1 since they're full to start
+ dontlist = TRUE
/obj/item/organ/genital/testicles/on_life()
diff --git a/sound/lewd/vibrate.ogg b/sound/lewd/vibrate.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..87eb1a4a1d44f3a2c878d54f5998dfe97cf7caf9
GIT binary patch
literal 24136
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
literal 0
HcmV?d00001
diff --git a/tgstation.dme b/tgstation.dme
index 9ea813c0..d2fe1978 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3073,6 +3073,7 @@
#include "hyperstation\code\obj\rope.dm"
#include "hyperstation\code\obj\sizeitems.dm"
#include "hyperstation\code\obj\sounding.dm"
+#include "hyperstation\code\obj\vibrator.dm"
#include "interface\interface.dm"
#include "interface\menu.dm"
#include "interface\stylesheet.dm"
From b719701d72b02a7347e42460548d6c89aba564f2 Mon Sep 17 00:00:00 2001
From: QuoteFox <49098813+quotefox@users.noreply.github.com>
Date: Thu, 28 Jan 2021 01:40:42 +0000
Subject: [PATCH 010/121] fix
fix
---
hyperstation/code/modules/arousal/arousalhud.dm | 3 ++-
modular_citadel/code/modules/arousal/organs/eggsack.dm | 1 +
modular_citadel/code/modules/arousal/organs/ovipositor.dm | 1 +
modular_citadel/code/modules/arousal/organs/womb.dm | 1 +
4 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/hyperstation/code/modules/arousal/arousalhud.dm b/hyperstation/code/modules/arousal/arousalhud.dm
index 229898a7..d5c609ea 100644
--- a/hyperstation/code/modules/arousal/arousalhud.dm
+++ b/hyperstation/code/modules/arousal/arousalhud.dm
@@ -9,7 +9,8 @@
var/mob/living/carbon/U = user
for(var/obj/item/organ/genital/G in U.internal_organs)
- dat += "[G.mode == "hidden" ? "[G.name] (Hidden)" : (G.mode == "clothes" ? "[G.name] (Hidden by Clothes)" : (G.mode == "visable" ? "[G.name] (Visable)" : "[G.name] (Visable)"))]
"
+ if(!G.dontlist)
+ dat += "[G.mode == "hidden" ? "[G.name] (Hidden)" : (G.mode == "clothes" ? "[G.name] (Hidden by Clothes)" : (G.mode == "visable" ? "[G.name] (Visable)" : "[G.name] (Visable)"))]
"
dat += {"
Contexual Options
"}
var/obj/item/organ/genital/penis/P = user.getorganslot("penis")
diff --git a/modular_citadel/code/modules/arousal/organs/eggsack.dm b/modular_citadel/code/modules/arousal/organs/eggsack.dm
index 402d246e..0c427b2e 100644
--- a/modular_citadel/code/modules/arousal/organs/eggsack.dm
+++ b/modular_citadel/code/modules/arousal/organs/eggsack.dm
@@ -12,3 +12,4 @@
var/cum_rate = CUM_RATE
var/cum_efficiency = CUM_EFFICIENCY
var/obj/item/organ/ovipositor/linked_ovi
+ dontlist = TRUE
\ No newline at end of file
diff --git a/modular_citadel/code/modules/arousal/organs/ovipositor.dm b/modular_citadel/code/modules/arousal/organs/ovipositor.dm
index 76bf60d9..caedb29e 100644
--- a/modular_citadel/code/modules/arousal/organs/ovipositor.dm
+++ b/modular_citadel/code/modules/arousal/organs/ovipositor.dm
@@ -14,3 +14,4 @@
var/knot_girth_ratio = KNOT_GIRTH_RATIO_DEF
var/list/oviflags = list()
var/obj/item/organ/eggsack/linked_eggsack
+ dontlist = TRUE
\ No newline at end of file
diff --git a/modular_citadel/code/modules/arousal/organs/womb.dm b/modular_citadel/code/modules/arousal/organs/womb.dm
index 2f89d4c6..12ea417e 100644
--- a/modular_citadel/code/modules/arousal/organs/womb.dm
+++ b/modular_citadel/code/modules/arousal/organs/womb.dm
@@ -9,6 +9,7 @@
fluid_id = /datum/reagent/consumable/femcum
producing = TRUE
var/pregnant = FALSE //this is for pregnancy code
+ dontlist = TRUE
/obj/item/organ/genital/womb/on_life()
From c484450b18f36074167f31a570b1fb3f875d972a Mon Sep 17 00:00:00 2001
From: QuoteFox <49098813+quotefox@users.noreply.github.com>
Date: Thu, 28 Jan 2021 01:42:16 +0000
Subject: [PATCH 011/121] a
a
---
modular_citadel/code/modules/arousal/organs/belly.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modular_citadel/code/modules/arousal/organs/belly.dm b/modular_citadel/code/modules/arousal/organs/belly.dm
index fa774b33..eda51020 100644
--- a/modular_citadel/code/modules/arousal/organs/belly.dm
+++ b/modular_citadel/code/modules/arousal/organs/belly.dm
@@ -15,7 +15,7 @@
can_climax = TRUE
fluid_transfer_factor = 0.5
var/sent_full_message = TRUE //defaults to 1 since they're full to start
- dontlist = TRUE
+
/obj/item/organ/genital/belly/on_life()
if(QDELETED(src))
From bda53269540784d5dd01186c553117d61cba3810 Mon Sep 17 00:00:00 2001
From: QuoteFox <49098813+quotefox@users.noreply.github.com>
Date: Thu, 28 Jan 2021 02:50:02 +0000
Subject: [PATCH 012/121] typo and belly sprite fix
typo and belly sprite fix
---
hyperstation/code/obj/vibrator.dm | 6 +++---
hyperstation/icons/obj/genitals/belly.dmi | Bin 1138 -> 1141 bytes
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/hyperstation/code/obj/vibrator.dm b/hyperstation/code/obj/vibrator.dm
index 532aeec4..47b100df 100644
--- a/hyperstation/code/obj/vibrator.dm
+++ b/hyperstation/code/obj/vibrator.dm
@@ -124,14 +124,14 @@ Code:
switch(mode)
if(1) //low
- to_chat(U, "You feel pleasure surgest through your [G.name]")
+ to_chat(U, "You feel pleasure surges through your [G.name]")
if(2) //med, can make you cum
- to_chat(U, "You feel intense pleasure surgest through your [G.name]")
+ to_chat(U, "You feel intense pleasure surges through your [G.name]")
U.Jitter(3)
if (U.getArousalLoss() >= 100 && ishuman(U) && U.has_dna())
U.mob_climax(forced_climax=TRUE)
if(3) //high, makes you stun
- to_chat(U, "You feel overpowering pleasure surgest through your [G.name]")
+ to_chat(U, "You feel overpowering pleasure surges through your [G.name]")
U.Jitter(3)
U.Stun(30)
if (U.getArousalLoss() >= 100 && ishuman(U) && U.has_dna())
diff --git a/hyperstation/icons/obj/genitals/belly.dmi b/hyperstation/icons/obj/genitals/belly.dmi
index fcc507c9d1954a2766b7bbe9692bce1ac1e430b0..2b4409d0c2f91cadca1aba1352b62228ab9af0b1 100644
GIT binary patch
delta 876
zcmV-y1C#vn2=xfC7Xg1sNklvrlO5QUQw7;P)o`u^{F_JEfpFat53f0?eT
zE4$qvmjMQcu@S@8uq{3T7z__n>;~v2rA9=iTSXrSl~77_I2!8_IC*Udfsd!J(~*PXAIMA4Tpwp|=5soJ`!D}})VhDb9N-_AYeq{#^)dOM
zhpL`t(KA7u(9OT5wv
z$x#>GGE>L$bLG)+&%uM_X_1K!zTi_6rg}N_^~s>zIG3AQ5}*qqp5Z^!=d)OB4ljVG
z=mJ_8T%<}DM2CO1mzSBoOiv|UF~FQ1@c&$H2%>Y0XZ#=wrg}Gk2LNP*BMn>uFp|^*
zfR#4WJBNro56M4GF&ASbx&V9zcm<$OGU5LovmD`60)i|9A;<>>V5BL9ONjS0jQCst
z@Qh=cWbmhY=R%{)g`WVvTnYem_Lw02@=WjDDsWWMeGY%(P&wB~rXJaYU!LhJHoI3A
z)dLM6rsX{|lEZ
zqj&ot%P18l+8-p*UWyF>?zk{80Fb5nc^BYwn(BXmoThJ2Gup=1808V-_wy+Cz-ff6
zSUtGct}1|Kc!Qcq*li0J&~_tEb4o>BuB5Ix4TLH~r+dmUF0dT=>0Q{x{M^BJl!HNLgb_Tqn!J@(jRj~vdrKN#1qet>y@_zb|fKYRdS
zm-ip=w*lJ;-o8I<2e5sA_&~{Fmo?k{_t;~P_3;mgKpNA0bbRUn0000!xXy#x|32PBGX$%9|x6CN_03JECM;_miqX3srjEP
z~`MJC?)f=@%3>gCecgF$(4E)TOLKo>$h!~aa5N3qx(
zo&ZnL1&lDbNR@vnhz{3YUS|3-J(YCD0(16&|L1Z;5S?Q@;|EzV)w=;a03a(IY2XTg
zk)$2~RN74MTq5#3B>ySIT&$7k0`M8&6@VUO!vEc)9O0=11Sta{$Oi>rq$!0J(CBjE2Y@e^0sx&o0)$_l>AhP8jw&y@#UKuqbB!eQ$R7OiOkc6t
zJ+r887yvOX>wLv_O^(FWBaNg)Fp4Um>%c(`V;Yme0uz6uWAaRF%QP5;+Wp665D
zxp3V;psOnyvxR@y1_Gh|cHyK0PH2pLaa^tdaB4q`2KiF-v_D9q
zU5X6=?znJZ03b{E^D4mSG}Qq)OUnfc7$-B(b|X$PCf$EQ8<2N1wNyEYdLh%}4rc<4rUQ}%
zsDB}~1UUND^
Date: Thu, 28 Jan 2021 03:57:32 -0300
Subject: [PATCH 013/121] power armor
---
.../modules/clothing/spacesuits/hardsuit.dm | 104 +++++++++++++++++-
icons/mob/head.dmi | Bin 213269 -> 217311 bytes
icons/mob/suit.dmi | Bin 410782 -> 423972 bytes
icons/obj/clothing/hats.dmi | Bin 101625 -> 103212 bytes
icons/obj/clothing/suits.dmi | Bin 144550 -> 146102 bytes
modular_citadel/icons/mob/muzzled_helmet.dmi | Bin 83218 -> 87905 bytes
modular_citadel/icons/mob/suit_digi.dmi | Bin 420329 -> 431188 bytes
7 files changed, 103 insertions(+), 1 deletion(-)
diff --git a/hyperstation/code/modules/clothing/spacesuits/hardsuit.dm b/hyperstation/code/modules/clothing/spacesuits/hardsuit.dm
index 426ede92..7dc1cef7 100644
--- a/hyperstation/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/hyperstation/code/modules/clothing/spacesuits/hardsuit.dm
@@ -66,4 +66,106 @@
item_color = "goldenpa"
armor = list("melee" = 80, "bullet" = 80, "laser" = 50, "energy" = 50, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
strip_delay = 130
- max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
\ No newline at end of file
+ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
+
+/obj/item/clothing/suit/space/hardsuit/teslapa
+ name = "Tesla Power Armor"
+ desc = "An advanced power armor, with built-in tesla technology. You're sure this will fry whoever dares attack in close quarters."
+ icon_state = "tesla_pa"
+ item_state = "tesla_pa"
+ item_color = "tesla_pa"
+ armor = list("melee" = 70, "bullet" = 70, "laser" = 90, "energy" = 90, "bomb" = 70, "bio" = 100, "rad" = 40, "fire" = 100, "acid" = 100)
+ strip_delay = 300
+ equip_delay_self = 300
+ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
+ allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
+ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/teslapahelmet
+ slowdown = 1
+ siemens_coefficient = -1
+ blood_overlay_type = "armor"
+ resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
+ hit_reaction_chance = 50
+ rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE
+ var/teslapa_cooldown = 20
+ var/teslapa_cooldown_duration = 10
+ var/tesla_power = 20000
+ var/tesla_range = 4
+ var/tesla_flags = TESLA_MOB_DAMAGE | TESLA_OBJ_DAMAGE
+ var/legacy = FALSE
+ var/legacy_dmg = 35
+
+/obj/item/clothing/suit/space/hardsuit/teslapa/Initialize()
+ jetpack = new /obj/item/tank/jetpack/suit(src)
+ AddComponent(/datum/component/squeak, list('sound/effects/footstep/powerarmor1.ogg' = 1,'sound/effects/footstep/powerarmor2.ogg' = 1, 'sound/effects/footstep/powerarmor3.ogg' = 1), 50)
+ . = ..()
+
+/obj/item/clothing/suit/space/hardsuit/teslapa/dropped(mob/user)
+ ..()
+ if(istype(user))
+ user.flags_1 &= ~TESLA_IGNORE_1
+
+/obj/item/clothing/suit/space/hardsuit/teslapa/equipped(mob/user, slot)
+ ..()
+ if(slot_flags & slotdefine2slotbit(slot)) //Was equipped to a valid slot for this item?
+ user.flags_1 |= TESLA_IGNORE_1
+
+/obj/item/clothing/suit/space/hardsuit/teslapa/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
+ if(prob(hit_reaction_chance))
+ if(world.time < teslapa_cooldown_duration)
+ var/datum/effect_system/spark_spread/sparks = new /datum/effect_system/spark_spread
+ sparks.set_up(1, 1, src)
+ sparks.start()
+ owner.visible_message("The tesla capacitors on [owner]'s reactive tesla armor are still recharging! The armor merely emits some sparks.")
+ return
+ owner.visible_message("[src] blocks [attack_text], sending out arcs of lightning!")
+ if(!legacy)
+ tesla_zap(owner, tesla_range, tesla_power, tesla_flags)
+ else
+ for(var/mob/living/M in view(2, owner))
+ if(M == owner)
+ continue
+ owner.Beam(M,icon_state="purple_lightning",icon='icons/effects/effects.dmi',time=5)
+ M.adjustFireLoss(legacy_dmg)
+ playsound(M, 'sound/machines/defib_zap.ogg', 50, 1, -1)
+ teslapa_cooldown = world.time + teslapa_cooldown_duration
+ return TRUE
+
+/obj/item/clothing/head/helmet/space/hardsuit/teslapahelmet
+ name = "Tesla Power Armor Helmet"
+ desc = "An advanced power armor, with built-in tesla technology. You're sure this will fry whoever dares attack in close quarters."
+ icon_state = "teslaup"
+ item_state = "teslaup"
+ armor = list("melee" = 70, "bullet" = 70, "laser" = 90, "energy" = 90, "bomb" = 70, "bio" = 100, "rad" = 10, "fire" = 100, "acid" = 100)
+ strip_delay = 130
+ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
+
+/obj/item/clothing/suit/space/hardsuit/advancedpa
+ name = "Advanced Power Armor"
+ desc = "An advanced power armor. You're sure this is near to impossible to penetrate in close quarters."
+ icon_state = "advanced_pa"
+ item_state = "advanced_pa"
+ item_color = "advanced_pa"
+ armor = list("melee" = 95, "bullet" = 95, "laser" = 70, "energy" = 80, "bomb" = 70, "bio" = 100, "rad" = 40, "fire" = 100, "acid" = 100)
+ strip_delay = 300 //chonky armor means chonky strip
+ equip_delay_self = 300
+ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
+ allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
+ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/advancedpahelmet
+ slowdown = 0
+ blood_overlay_type = "armor"
+ resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
+ rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE
+
+/obj/item/clothing/suit/space/hardsuit/advancedpa/Initialize()
+ jetpack = new /obj/item/tank/jetpack/suit(src)
+ AddComponent(/datum/component/squeak, list('sound/effects/footstep/powerarmor1.ogg' = 1,'sound/effects/footstep/powerarmor2.ogg' = 1, 'sound/effects/footstep/powerarmor3.ogg' = 1), 50)
+ . = ..()
+
+/obj/item/clothing/head/helmet/space/hardsuit/advancedpahelmet
+ name = "Advanced Power Armor Helmet"
+ desc = "An advanced power armor. You're sure this is almost impenetrable in close quarters."
+ icon_state = "adv_pa"
+ item_state = "adv_pa"
+ armor = list("melee" = 95, "bullet" = 90, "laser" = 70, "energy" = 80, "bomb" = 70, "bio" = 100, "rad" = 40, "fire" = 100, "acid" = 100)
+ strip_delay = 300
+ max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index 689dc07d032889b93286e77eb3d881c06b7ecd52..e3ecab4737891713f3a40dcb82ebd622a55fe1f9 100644
GIT binary patch
delta 21386
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