diff --git a/.github/add_labels.py b/.github/add_labels.py
index 3e903c362d82..764f90df0c50 100644
--- a/.github/add_labels.py
+++ b/.github/add_labels.py
@@ -1,19 +1,19 @@
import os, re
-from github import Github
+from github import Github, GithubException
# Format - Key: Array[Label, [StringsToIgnore]]
changelogToPrefix = {
- 'fix': ["Fix", ["fixed a few things"]],
- 'qol': ["Quality of Life", ["made something easier to use"]],
- 'add': ["Feature", ["Added new mechanics or gameplay changes", "Added more things"]],
- 'del': ["Removal", ["Removed old things"]],
- 'spellcheck': ["Grammar and Formatting", ["fixed a few typos"]],
- 'balance': ["Balance", ["rebalanced something"]],
- 'code': ["Code Improvement", ["changed some code"]],
- 'refactor': ["Refactor", ["refactored some code"]],
- 'config': ["Config", ["changed some config setting"]],
- 'admin': ["Admin", ["messed with admin stuff"]],
- 'server': ["Server", ["something server ops should know"]],
+ 'fix': ["Fix", ["fixed a few things"]],
+ 'qol': ["Quality of Life", ["made something easier to use"]],
+ 'add': ["Feature", ["Added new mechanics or gameplay changes", "Added more things"]],
+ 'del': ["Removal", ["Removed old things"]],
+ 'spellcheck': ["Grammar and Formatting", ["fixed a few typos"]],
+ 'balance': ["Balance", ["rebalanced something"]],
+ 'code': ["Code Improvement", ["changed some code"]],
+ 'refactor': ["Refactor", ["refactored some code"]],
+ 'config': ["Config", ["changed some config setting"]],
+ 'admin': ["Admin", ["messed with admin stuff"]],
+ 'server': ["Server", ["something server ops should know"]],
'soundadd': ["Sound", ["added a new sound thingy"]],
'sounddel': ["Sound", ["removed an old sound thingy"]],
'imageadd': ["Sprites", ["added some icons and images"]],
@@ -24,78 +24,96 @@
}
fileToPrefix = {
- 'wav': 'Sound',
- 'ogg': 'Sound',
+ 'wav': 'Sound',
+ 'ogg': 'Sound',
'mp3': 'Sound', ## Can't believe they forgot about the best sound format
- 'dmm': 'Mapping',
+ 'dmm': 'Mapping',
- 'js': 'UI',
- 'tsx': 'UI',
- 'ts': 'UI',
- 'jsx': 'UI',
- 'scss': 'UI',
+ 'js': 'UI',
+ 'tsx': 'UI',
+ 'ts': 'UI',
+ 'jsx': 'UI',
+ 'scss': 'UI',
- 'dmi': "Sprites",
+ 'dmi': "Sprites",
}
githubLabel = "Github"
+missingLogLabel = "Missing Changelog"
def get_labels(pr):
- labels = {}
-
- files = pr.get_files()
- for file in files:
- prefix = file.filename.split(".")[-1]
- if file.filename.startswith(".github"):
- labels[githubLabel] = True
- if not prefix in fileToPrefix:
- continue
- labels[fileToPrefix[prefix]] = True
-
- changelog_match = re.search(r"🆑(.*)/🆑", pr.body, re.S | re.M)
- if changelog_match is None:
- changelog_match = re.search(r":cl:(.*)/:cl:", pr.body, re.S | re.M)
- if changelog_match is None:
- return labels
- lines = changelog_match.group(1).split('\n')
- for line in lines:
- line = line.strip()
- if not line:
- continue
-
- contentSplit = line.split(":")
-
- key = contentSplit.pop(0).strip()
- content = ":".join(contentSplit).strip()
-
- if not key in changelogToPrefix:
- continue
-
- if content in changelogToPrefix[key][1]:
- continue
-
- labels[changelogToPrefix[key][0]] = True
-
- return list(labels)
+ labels = {}
+ failed = False
+
+ files = pr.get_files()
+ for file in files:
+ prefix = file.filename.split(".")[-1]
+ if file.filename.startswith(".github"):
+ labels[githubLabel] = True
+ if not prefix in fileToPrefix:
+ continue
+ labels[fileToPrefix[prefix]] = True
+
+ changelog_match = re.search(r"🆑(.*)/🆑", pr.body, re.S | re.M)
+ if changelog_match is None:
+ changelog_match = re.search(r":cl:(.*)/:cl:", pr.body, re.S | re.M)
+ if changelog_match is None:
+ print("::warning ::No changelog detected.")
+ labels[missingLogLabel] = True
+ return labels, False
+
+ lines = changelog_match.group(1).split('\n')
+ failed = len(lines) <= 2 # Make sure its not an empty changelog
+ if failed:
+ print("::error ::Empty changelog.")
+
+ for line in lines[1:-1]: # Skip first line with authors and last
+ line = line.strip()
+ if not line:
+ continue
+
+ contentSplit = line.split(":")
+
+ key = contentSplit.pop(0).strip()
+ content = ":".join(contentSplit).strip()
+
+ if not key in changelogToPrefix: # Some key that we didn't expect
+ print(f"::error ::Invalid changelog entry: {line}")
+ failed = True
+ continue
+
+ if content in changelogToPrefix[key][1]: # They left the template entry in
+ print(f"::error ::Invalid changelog entry: {line}")
+ failed = True
+ continue
+
+ labels[changelogToPrefix[key][0]] = True
+
+ return list(labels), failed
def main():
- g = Github(os.environ["TOKEN"])
- repo = g.get_repo(os.environ['REPO'])
+ g = Github(os.environ["TOKEN"])
+ repo = g.get_repo(os.environ['REPO'])
- pr = repo.get_pull(int(os.environ["PR_NUMBER"]))
- if not pr:
- print("Not a PR.")
- return
+ pr = repo.get_pull(int(os.environ["PR_NUMBER"]))
+ if not pr:
+ print("::warning ::Not a PR.")
+ return
- labels = get_labels(pr)
+ labels, failed = get_labels(pr)
- if labels is None: # no labels to add
- print("No labels to add.")
- return
+ if not missingLogLabel in labels:
+ try:
+ pr.remove_from_labels(missingLogLabel)
+ except GithubException as e:
+ if e.status == 404:
+ pass # 404 if we try to remove a label that isn't set
- for label in labels:
- pr.add_to_labels(label)
+ for label in labels:
+ pr.add_to_labels(label)
+ if failed:
+ exit(1)
if __name__ == '__main__':
- main()
+ main()
diff --git a/.github/alternate_byond_versions.txt b/.github/alternate_byond_versions.txt
index c96908590dac..7b50af46885e 100644
--- a/.github/alternate_byond_versions.txt
+++ b/.github/alternate_byond_versions.txt
@@ -5,5 +5,3 @@
# Format is version: map
# Example:
# 500.1337: runtimestation
-
-515.1630: lv624
diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml
index 0488055312f7..e76e224522a0 100644
--- a/.github/workflows/ci_suite.yml
+++ b/.github/workflows/ci_suite.yml
@@ -63,30 +63,16 @@ jobs:
odlint:
name: Lint with OpenDream
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-22.04
steps:
- - uses: actions/checkout@v3
- - name: Get OpenDream Version
- run: |
- source dependencies.sh
- echo "OPENDREAM_VERSION=$OPENDREAM_VERSION" >> $GITHUB_ENV
- - name: Restore OpenDream cache
- uses: actions/cache@v3
- id: cache-od
+ - uses: actions/checkout@v4
+ - uses: robinraju/release-downloader@v1.9
with:
- path: ~/OpenDream
- key: ${{ runner.os }}-opendream-${{ env.OPENDREAM_VERSION }}
- - name: Download OpenDream
- if: steps.cache-od.outputs.cache-hit != 'true'
- run: |
- bash tools/ci/download_od.sh
- - name: Setup OpenDream
- if: steps.cache-od.outputs.cache-hit != 'true'
- run: |
- bash tools/ci/setup_od.sh
- - name: Run OpenDream
- run: |
- bash tools/ci/run_od.sh
+ repository: "OpenDreamProject/OpenDream"
+ tag: "latest"
+ fileName: "DMCompiler_linux-x64.tar.gz"
+ extract: true
+ - run: ./DMCompiler_linux-x64/DMCompiler --suppress-unimplemented colonialmarines.dme
compile_all_maps:
if: "!contains(github.event.head_commit.message, '[ci skip]')"
diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml
index 8a688f207f11..cdf7ce11784e 100644
--- a/.github/workflows/labeler.yml
+++ b/.github/workflows/labeler.yml
@@ -1,7 +1,7 @@
-name: Labeling
+name: Labeling and Verification
on:
pull_request_target:
- types: [opened]
+ types: [opened, edited]
jobs:
label:
runs-on: ubuntu-latest
@@ -13,7 +13,7 @@ jobs:
run: |
unset SECRET_EXISTS
if [ -n "$ENABLER_SECRET" ]; then SECRET_EXISTS=true ; fi
- echo "::set-output name=ACTIONS_ENABLED::$SECRET_EXISTS"
+ echo "ACTIONS_ENABLED=$SECRET_EXISTS" >> $GITHUB_OUTPUT
- name: Get The Script
if: steps.value_holder.outputs.ACTIONS_ENABLED
run: |
@@ -29,7 +29,7 @@ jobs:
python -m pip install --upgrade pip
python -m pip install pygithub
sudo apt-get install dos2unix
- - name: Add Labels
+ - name: Add and verify labels
if: steps.value_holder.outputs.ACTIONS_ENABLED
run: |
python add_labels.py
diff --git a/.tgs.yml b/.tgs.yml
index ba3fc6b26c66..ed84385e3c36 100644
--- a/.tgs.yml
+++ b/.tgs.yml
@@ -1,5 +1,5 @@
version: 1
-byond: "514.1588"
+byond: "515.1627"
static_files:
- name: config
- name: data
diff --git a/code/__DEFINES/ARES.dm b/code/__DEFINES/ARES.dm
index 0e3cc4a8ff6e..55aa68f97309 100644
--- a/code/__DEFINES/ARES.dm
+++ b/code/__DEFINES/ARES.dm
@@ -15,7 +15,7 @@
/// High Command, can read the deletion log.
#define ARES_ACCESS_HIGH 9
#define ARES_ACCESS_WY_COMMAND 10
-/// Debugging. Allows me to view everything without using a high command rank. Unlikely to stay in a full merge.
+/// Debugging. Allows me to view everything without using a high command rank.
#define ARES_ACCESS_DEBUG 11
#define ARES_RECORD_ANNOUNCE "Announcement Record"
@@ -28,6 +28,7 @@
#define ARES_RECORD_MAINTENANCE "Maintenance Ticket"
#define ARES_RECORD_ACCESS "Access Ticket"
#define ARES_RECORD_FLIGHT "Flight Record"
+#define ARES_RECORD_TECH "Tech Control Record"
/// Not by ARES logged through marine_announcement()
#define ARES_LOG_NONE 0
@@ -77,3 +78,7 @@
/// Cooldowns
#define COOLDOWN_ARES_SENSOR 60 SECONDS
#define COOLDOWN_ARES_ACCESS_CONTROL 20 SECONDS
+#define COOLDOWN_ARES_VENT 60 SECONDS
+
+/// Time until someone can respawn as Working Joe
+#define JOE_JOIN_DEAD_TIME (15 MINUTES)
diff --git a/code/__DEFINES/__game.dm b/code/__DEFINES/__game.dm
index 6a9e9f1d4623..6617c5aafcee 100644
--- a/code/__DEFINES/__game.dm
+++ b/code/__DEFINES/__game.dm
@@ -78,6 +78,8 @@
#define SEE_INVISIBLE_LEVEL_TWO 45 //Used by some other stuff in code. It's really poorly organized.
#define INVISIBILITY_LEVEL_TWO 45 //Used by some other stuff in code. It's really poorly organized.
+#define HIDE_INVISIBLE_OBSERVER 59 // define for when we want to hide all observer mobs.
+
#define INVISIBILITY_OBSERVER 60
#define SEE_INVISIBLE_OBSERVER 60
diff --git a/code/__DEFINES/__spacemandmm.dm b/code/__DEFINES/__spacemandmm.dm
index b62bbee4259a..9a044949db3e 100644
--- a/code/__DEFINES/__spacemandmm.dm
+++ b/code/__DEFINES/__spacemandmm.dm
@@ -40,5 +40,5 @@
/world/Del()
var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL")
if (debug_server)
- LIBCALL(debug_server, "auxtools_shutdown")()
+ call_ext(debug_server, "auxtools_shutdown")()
. = ..()
diff --git a/code/__DEFINES/_macros.dm b/code/__DEFINES/_macros.dm
index 31f4b2aca084..07c3eb664e61 100644
--- a/code/__DEFINES/_macros.dm
+++ b/code/__DEFINES/_macros.dm
@@ -8,17 +8,8 @@
#define subtypesof(A) (typesof(A) - A)
-#ifdef EXPERIMENT_515_DONT_CACHE_REF
/// Takes a datum as input, returns its ref string
#define text_ref(datum) ref(datum)
-#else
-/// Takes a datum as input, returns its ref string, or a cached version of it
-/// This allows us to cache \ref creation, which ensures it'll only ever happen once per datum, saving string tree time
-/// It is slightly less optimal then a []'d datum, but the cost is massively outweighed by the potential savings
-/// It will only work for datums mind, for datum reasons
-/// : because of the embedded typecheck
-#define text_ref(datum) (isdatum(datum) ? (datum:cached_ref ||= "\ref[datum]") : ("\ref[datum]"))
-#endif
#define addToListNoDupe(L, index) if(L) L[index] = null; else L = list(index)
diff --git a/code/__DEFINES/camera.dm b/code/__DEFINES/camera.dm
index 9d797b964d61..f50d7d8e2c72 100644
--- a/code/__DEFINES/camera.dm
+++ b/code/__DEFINES/camera.dm
@@ -16,6 +16,7 @@
#define CAMERA_NET_VEHICLE "Vehicle"
#define CAMERA_NET_LANDING_ZONES "Landing Zones"
#define CAMERA_NET_LASER_TARGETS "Laser Targets"
+#define CAMERA_NET_CORRESPONDENT "Combat Correspondent Live"
#define CAMERA_NET_POWER_ALARMS "Power Alarms"
#define CAMERA_NET_ATMOSPHERE_ALARMS "Atmosphere Alarms"
diff --git a/code/__DEFINES/chat.dm b/code/__DEFINES/chat.dm
index f2db3980e887..1edc2bd7b5a1 100644
--- a/code/__DEFINES/chat.dm
+++ b/code/__DEFINES/chat.dm
@@ -21,6 +21,7 @@
#define MESSAGE_TYPE_ADMINLOG "adminlog"
#define MESSAGE_TYPE_ATTACKLOG "attacklog"
#define MESSAGE_TYPE_DEBUG "debug"
+#define MESSAGE_TYPE_NICHE "niche"
/// Adds a generic box around whatever message you're sending in chat. Really makes things stand out.
#define examine_block(str) ("
" + str + "
")
diff --git a/code/__DEFINES/dcs/signals/atom/signals_item.dm b/code/__DEFINES/dcs/signals/atom/signals_item.dm
index f0456f8dd9f6..f038d4c5dbce 100644
--- a/code/__DEFINES/dcs/signals/atom/signals_item.dm
+++ b/code/__DEFINES/dcs/signals/atom/signals_item.dm
@@ -29,6 +29,9 @@
#define COMSIG_ITEM_PICKUP "item_pickup"
+///from /obj/item/device/camera/broadcasting/attack_self
+#define COMSIG_BROADCAST_GO_LIVE "broadcast_live"
+
/// from /obj/item/proc/mob_can_equip
#define COMSIG_ITEM_ATTEMPTING_EQUIP "item_attempting_equip"
///Return this in response if you don't want items equipped
diff --git a/code/__DEFINES/dcs/signals/atom/signals_obj.dm b/code/__DEFINES/dcs/signals/atom/signals_obj.dm
index c870a55ed746..ed27c26b2115 100644
--- a/code/__DEFINES/dcs/signals/atom/signals_obj.dm
+++ b/code/__DEFINES/dcs/signals/atom/signals_obj.dm
@@ -25,6 +25,8 @@
/// from /obj/structure/transmitter/update_icon()
#define COMSIG_TRANSMITTER_UPDATE_ICON "transmitter_update_icon"
+#define COMSIG_STRUCTURE_WRENCHED "structure_wrenched"
+#define COMSIG_STRUCTURE_UNWRENCHED "structure_unwrenched"
#define COMSIG_TENT_COLLAPSING "tent_collapsing"
/// from /obj/proc/afterbuckle()
diff --git a/code/__DEFINES/dcs/signals/signals_global.dm b/code/__DEFINES/dcs/signals/signals_global.dm
index 378948347a81..f975a67824ef 100644
--- a/code/__DEFINES/dcs/signals/signals_global.dm
+++ b/code/__DEFINES/dcs/signals/signals_global.dm
@@ -75,3 +75,6 @@
#define COMSIG_GLOB_HIJACK_IMPACTED "!hijack_impacted"
#define COMSIG_GLOB_HIJACK_LANDED "!hijack_landed"
+
+/// From /datum/controller/subsystem/hijack/fire()
+#define COMSIG_GLOB_FUEL_PUMP_UPDATE "!fuel_pump_update"
diff --git a/code/__DEFINES/equipment.dm b/code/__DEFINES/equipment.dm
index 375dd0db540d..4368bf304a48 100644
--- a/code/__DEFINES/equipment.dm
+++ b/code/__DEFINES/equipment.dm
@@ -82,6 +82,8 @@
#define ANIMATED_SURGICAL_TOOL (1<<12)
/// Has heat source but isn't 'on fire' and thus can be stored
#define IGNITING_ITEM (1<<13)
+/// Overrides NODROP in some cases (stripping)
+#define FORCEDROP_CONDITIONAL (1<<14)
//==========================================================================================
diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm
index e790bddb233c..fc3772e66ff2 100644
--- a/code/__DEFINES/flags.dm
+++ b/code/__DEFINES/flags.dm
@@ -33,3 +33,9 @@
#define EMOTE_IMPORTANT (1<<2)
/// Does the emote not have a message?
#define EMOTE_NO_MESSAGE (1<<3)
+
+// Bitflags for Working Joe emotes
+/// Working Joe emote
+#define WORKING_JOE_EMOTE (1<<0)
+/// Hazard Joe emote
+#define HAZARD_JOE_EMOTE (1<<1)
diff --git a/code/__DEFINES/human.dm b/code/__DEFINES/human.dm
index c0a5e837c554..f2d60983b74c 100644
--- a/code/__DEFINES/human.dm
+++ b/code/__DEFINES/human.dm
@@ -187,6 +187,7 @@
#define SYNTH_COMBAT "Combat Synthetic"
#define SYNTH_INFILTRATOR "Infiltrator Synthetic"
#define SYNTH_WORKING_JOE "Working Joe"
+#define SYNTH_HAZARD_JOE "Hazard Joe"
#define SYNTH_GEN_ONE "First Generation Synthetic"
#define SYNTH_GEN_TWO "Second Generation Synthetic"
#define SYNTH_GEN_THREE "Third Generation Synthetic"
diff --git a/code/__DEFINES/job.dm b/code/__DEFINES/job.dm
index ad3b9fe3af32..1b2907cf57ce 100644
--- a/code/__DEFINES/job.dm
+++ b/code/__DEFINES/job.dm
@@ -75,14 +75,15 @@ GLOBAL_LIST_INIT(job_squad_roles, JOB_SQUAD_ROLES_LIST)
GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)
#define JOB_AUXILIARY_OFFICER "Auxiliary Support Officer"
-#define JOB_PILOT "Pilot Officer"
+#define JOB_CAS_PILOT "Gunship Pilot"
+#define JOB_DROPSHIP_PILOT "Dropship Pilot"
#define JOB_DROPSHIP_CREW_CHIEF "Dropship Crew Chief"
#define JOB_CREWMAN "Vehicle Crewman"
#define JOB_INTEL "Intelligence Officer"
#define JOB_DROPSHIP_ROLES /datum/timelock/dropship
-#define JOB_DROPSHIP_ROLES_LIST list(JOB_DROPSHIP_CREW_CHIEF, JOB_PILOT)
+#define JOB_DROPSHIP_ROLES_LIST list(JOB_DROPSHIP_CREW_CHIEF, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT)
#define JOB_AUXILIARY_ROLES /datum/timelock/auxiliary
-#define JOB_AUXILIARY_ROLES_LIST list(JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_INTEL)
+#define JOB_AUXILIARY_ROLES_LIST list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_INTEL)
#define JOB_POLICE "Military Police"
#define JOB_WARDEN "Military Warden"
diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm
index 63e79cdf676d..ee958d87f580 100644
--- a/code/__DEFINES/layers.dm
+++ b/code/__DEFINES/layers.dm
@@ -11,6 +11,9 @@
//#define AREA_LAYER 1
+#define DISPLACEMENT_PLATE_RENDER_LAYER 1
+#define DISPLACEMENT_PLATE_RENDER_TARGET "*DISPLACEMENT_PLATE_RENDER_TARGET"
+
#define UNDER_TURF_LAYER 1.99
#define TURF_LAYER 2
diff --git a/code/__DEFINES/mob_hud.dm b/code/__DEFINES/mob_hud.dm
index c451d01d3c90..97fbc64a9da4 100644
--- a/code/__DEFINES/mob_hud.dm
+++ b/code/__DEFINES/mob_hud.dm
@@ -25,6 +25,7 @@
#define STATUS_HUD_XENO_CULTIST "24" // Whether they are a xeno cultist or not
#define HUNTER_CLAN "25" //Displays a colored icon to represent ingame Hunter Clans
#define HUNTER_HUD "26" //Displays various statuses on mobs for Hunters to identify targets
+#define HOLOCARD_HUD "27" //Displays the holocards set by medical personnel
//data HUD (medhud, sechud) defines
#define MOB_HUD_SECURITY_BASIC 1
diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm
index ef3dfb03b337..fea9ebeebb2c 100644
--- a/code/__DEFINES/mode.dm
+++ b/code/__DEFINES/mode.dm
@@ -72,6 +72,7 @@
#define MODE_HARDCORE_PERMA (1<<9) /// Toggles Hardcore for all marines, meaning they instantly perma upon death
#define MODE_DISPOSABLE_MOBS (1<<10) // Toggles if mobs fit in disposals or not. Off by default.
#define MODE_BYPASS_JOE (1<<11) // Toggles if ghosts can bypass Working Joe spawn limitations, does NOT bypass WL requirement. Off by default.
+#define MODE_DISABLE_JOE_RESPAWN (1<<12) // Toggles if ghosts can respawn as Working Joes after dying as one when 15 minutes have passed. Off by default
#define ROUNDSTATUS_FOG_DOWN 1
#define ROUNDSTATUS_PODDOORS_OPEN 2
@@ -90,6 +91,15 @@
#define PAIN_OVERLAY_LEGACY 2 //Creates a legacy blurring effect over your screen if you have any eye_blur at all. Not recommended.
//=================================================
+//=================================================
+#define FLASH_OVERLAY_WHITE 0 //Flashes your screen white.
+#define FLASH_OVERLAY_DARK 1 //Flashes your screen a dark grey.
+//=================================================
+
+//=================================================
+#define CRIT_OVERLAY_WHITE 0 //Overlays your screen white.
+#define CRIT_OVERLAY_DARK 1 //Overlays your screen a dark grey.
+//=================================================
/// Number of weighted marine players for 1 gear_scale. gear_scale is clamped to 1 minimum
#define MARINE_GEAR_SCALING_NORMAL 50
@@ -109,12 +119,12 @@
//=================================================
//Role defines, specifically lists of roles for job bans, crew manifests and the like.
-GLOBAL_LIST_INIT(ROLES_COMMAND, list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_POLICE, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_CHIEF_REQUISITION, JOB_CHIEF_ENGINEER, JOB_CMO, JOB_CHIEF_POLICE, JOB_SEA, JOB_SYNTH, JOB_WARDEN))
+GLOBAL_LIST_INIT(ROLES_COMMAND, list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_POLICE, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_CHIEF_REQUISITION, JOB_CHIEF_ENGINEER, JOB_CMO, JOB_CHIEF_POLICE, JOB_SEA, JOB_SYNTH, JOB_WARDEN))
//Marine roles
-#define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE)
+#define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE)
GLOBAL_LIST_INIT(ROLES_CIC, list(JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO))
-GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT, list(JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT))
+GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT, list(JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT))
GLOBAL_LIST_INIT(ROLES_MISC, list(JOB_SYNTH, JOB_WORKING_JOE, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_MESS_SERGEANT, JOB_WO_CORPORATE_LIAISON, JOB_WO_SYNTH))
GLOBAL_LIST_INIT(ROLES_POLICE, list(JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE))
GLOBAL_LIST_INIT(ROLES_ENGINEERING, list(JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH))
@@ -140,7 +150,7 @@ GLOBAL_LIST_INIT(ROLES_UNASSIGNED, list(JOB_SQUAD_MARINE))
//Role lists used for switch() checks in show_blurb_uscm(). Cosmetic, determines ex. "Engineering, USS Almayer", "2nd Bat. 'Falling Falcons'" etc.
#define BLURB_USCM_COMBAT JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_SEA,\
JOB_SQUAD_LEADER, JOB_SQUAD_TEAM_LEADER, JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN, JOB_SQUAD_MEDIC, JOB_SQUAD_ENGI, JOB_SQUAD_MARINE
-#define BLURB_USCM_FLIGHT JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF
+#define BLURB_USCM_FLIGHT JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF
#define BLURB_USCM_MP JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE
#define BLURB_USCM_ENGI JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_WO_PILOT
#define BLURB_USCM_MEDICAL JOB_CMO, JOB_RESEARCHER, JOB_DOCTOR, JOB_NURSE, JOB_WO_CMO, JOB_WO_RESEARCHER, JOB_WO_DOCTOR
diff --git a/code/__DEFINES/objects.dm b/code/__DEFINES/objects.dm
index d495c8e8c012..d839789d1664 100644
--- a/code/__DEFINES/objects.dm
+++ b/code/__DEFINES/objects.dm
@@ -155,7 +155,9 @@ GLOBAL_LIST_INIT(RESTRICTED_CAMERA_NETWORKS, list( //Those networks can only be
#define RESULT_REQUIRES_SNOW (1<<0)
+/// Reaction type from touching it
#define TOUCH 1
+/// Reaction type from eating it
#define INGEST 2
/// Marks an object as organic. Used for alien structures and any other organic material
diff --git a/code/__DEFINES/strippable.dm b/code/__DEFINES/strippable.dm
new file mode 100644
index 000000000000..f62c4d6c1b76
--- /dev/null
+++ b/code/__DEFINES/strippable.dm
@@ -0,0 +1,30 @@
+// All of these must be matched in StripMenu.js.
+#define STRIPPABLE_ITEM_HEAD "head"
+#define STRIPPABLE_ITEM_BACK "back"
+#define STRIPPABLE_ITEM_MASK "wear_mask"
+#define STRIPPABLE_ITEM_EYES "glasses"
+#define STRIPPABLE_ITEM_L_EAR "wear_l_ear"
+#define STRIPPABLE_ITEM_R_EAR "wear_r_ear"
+#define STRIPPABLE_ITEM_JUMPSUIT "w_uniform"
+#define STRIPPABLE_ITEM_SUIT "wear_suit"
+#define STRIPPABLE_ITEM_GLOVES "gloves"
+#define STRIPPABLE_ITEM_FEET "shoes"
+#define STRIPPABLE_ITEM_SUIT_STORAGE "j_store"
+#define STRIPPABLE_ITEM_ID "id"
+#define STRIPPABLE_ITEM_BELT "belt"
+#define STRIPPABLE_ITEM_LPOCKET "l_store"
+#define STRIPPABLE_ITEM_RPOCKET "r_store"
+#define STRIPPABLE_ITEM_LHAND "l_hand"
+#define STRIPPABLE_ITEM_RHAND "r_hand"
+#define STRIPPABLE_ITEM_HANDCUFFS "handcuffs"
+#define STRIPPABLE_ITEM_LEGCUFFS "legcuffs"
+
+
+/// This slot is not obscured.
+#define STRIPPABLE_OBSCURING_NONE 0
+
+/// This slot is completely obscured, and cannot be accessed.
+#define STRIPPABLE_OBSCURING_COMPLETELY 1
+
+/// This slot can't be seen, but can be accessed.
+#define STRIPPABLE_OBSCURING_HIDDEN 2
diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm
index a4fb6d40be73..e2c89df90e9b 100644
--- a/code/__DEFINES/tgs.dm
+++ b/code/__DEFINES/tgs.dm
@@ -1,6 +1,6 @@
// tgstation-server DMAPI
-#define TGS_DMAPI_VERSION "7.1.1"
+#define TGS_DMAPI_VERSION "7.1.2"
// All functions and datums outside this document are subject to change with any version and should not be relied on.
@@ -312,6 +312,7 @@
var/datum/tgs_chat_embed/structure/embed
/datum/tgs_message_content/New(text)
+ ..()
if(!istext(text))
TGS_ERROR_LOG("[/datum/tgs_message_content] created with no text!")
text = null
@@ -354,6 +355,7 @@
var/proxy_url
/datum/tgs_chat_embed/media/New(url)
+ ..()
if(!istext(url))
CRASH("[/datum/tgs_chat_embed/media] created with no url!")
@@ -367,6 +369,7 @@
var/proxy_icon_url
/datum/tgs_chat_embed/footer/New(text)
+ ..()
if(!istext(text))
CRASH("[/datum/tgs_chat_embed/footer] created with no text!")
@@ -383,6 +386,7 @@
var/proxy_icon_url
/datum/tgs_chat_embed/provider/author/New(name)
+ ..()
if(!istext(name))
CRASH("[/datum/tgs_chat_embed/provider/author] created with no name!")
@@ -395,6 +399,7 @@
var/is_inline
/datum/tgs_chat_embed/field/New(name, value)
+ ..()
if(!istext(name))
CRASH("[/datum/tgs_chat_embed/field] created with no name!")
@@ -510,7 +515,7 @@
/*
The MIT License
-Copyright (c) 2017-2023 Jordan Brown
+Copyright (c) 2017-2024 Jordan Brown
Permission is hereby granted, free of charge,
to any person obtaining a copy of this software and
diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm
index 010c74c404c4..881c41182ab4 100644
--- a/code/__DEFINES/traits.dm
+++ b/code/__DEFINES/traits.dm
@@ -179,6 +179,8 @@
// HIVE TRAITS
/// If the Hive is a Xenonid Hive
#define TRAIT_XENONID "t_xenonid"
+/// If the hive or xeno can use objects.
+#define TRAIT_OPPOSABLE_THUMBS "t_thumbs"
/// If the Hive delays round end (this is overridden for some hives). Does not occur naturally. Must be applied in events.
#define TRAIT_NO_HIVE_DELAY "t_no_hive_delay"
/// If the Hive uses it's colors on the mobs. Does not occur naturally, excepting the Mutated hive.
diff --git a/code/__DEFINES/typecheck/humanoids.dm b/code/__DEFINES/typecheck/humanoids.dm
index 7076cf67c95c..76f561e5fa1f 100644
--- a/code/__DEFINES/typecheck/humanoids.dm
+++ b/code/__DEFINES/typecheck/humanoids.dm
@@ -14,7 +14,8 @@
#define isSEA(A) (ishuman(A) && A.job == "Senior Enlisted Advisor")
#define issynth(A) (ishuman(A) && istype(A?:species, /datum/species/synthetic))
#define iscolonysynthetic(A) (ishuman(A) && istype(A?:species, /datum/species/synthetic/colonial))
-#define isworkingjoe(A) (iscolonysynthetic(A) && A.job == JOB_WORKING_JOE)
+#define isworkingjoe(A) (ishuman(A) && istype(A?:species, /datum/species/synthetic/colonial/working_joe))
+#define ishazardjoe(A) (ishuman(A) && istype(A?:species, /datum/species/synthetic/colonial/working_joe/hazard))
#define isinfiltratorsynthetic(A) (ishuman(A) && istype(A?:species, /datum/species/synthetic/infiltrator))
//Specic group checks, use instead of typechecks (but use traits instead)
diff --git a/code/__DEFINES/weapon_stats.dm b/code/__DEFINES/weapon_stats.dm
index 3a69002a3b93..1c3c09e9b28d 100644
--- a/code/__DEFINES/weapon_stats.dm
+++ b/code/__DEFINES/weapon_stats.dm
@@ -136,7 +136,9 @@ As such, don't expect any values assigned to common firearms to even consider ho
//How many ticks you have to wait between firing. Burst delay uses the same variable!
*/
+#define FIRE_DELAY_TIER_AMR 30
#define FIRE_DELAY_TIER_VULTURE 20
+#define FIRE_DELAY_TIER_SNIPER 15
#define FIRE_DELAY_TIER_1 12
#define FIRE_DELAY_TIER_2 10
#define FIRE_DELAY_TIER_3 9
diff --git a/code/__DEFINES/xeno.dm b/code/__DEFINES/xeno.dm
index fb9d6bfb4faf..18d4908c9df7 100644
--- a/code/__DEFINES/xeno.dm
+++ b/code/__DEFINES/xeno.dm
@@ -707,7 +707,7 @@
// target_hive integer the target hive to see if the source_hive is allied to it.
#define HIVE_ALLIED_TO_HIVE(source_hive, target_hive) ((source_hive) == (target_hive) || GLOB.hive_datum[source_hive]?.faction_is_ally(GLOB.hive_datum[target_hive]?.internal_faction))
-#define QUEEN_SPAWN_TIMEOUT (2 MINUTES)
+#define QUEEN_SPAWN_TIMEOUT (1 MINUTES)
#define FIRE_IMMUNITY_NONE 0
#define FIRE_IMMUNITY_NO_DAMAGE (1<<0)
diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm
index fe15e6d84c79..dd92b9be1295 100644
--- a/code/__HELPERS/_lists.dm
+++ b/code/__HELPERS/_lists.dm
@@ -176,3 +176,4 @@
for(var/i in 1 to inserted_list.len - 1)
inserted_list.Swap(i, rand(i, inserted_list.len))
+
diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index 8b11a3797627..64f4515396f6 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -263,7 +263,7 @@
continue
// Mods with larva protection cannot be drafted
- if((cur_obs.client.admin_holder && (cur_obs.client.admin_holder.rights & R_MOD)) && !cur_obs.adminlarva)
+ if(check_client_rights(cur_obs.client, R_MOD, FALSE) && cur_obs.admin_larva_protection)
continue
if(hive)
diff --git a/code/__HELPERS/job.dm b/code/__HELPERS/job.dm
index 220236c6f7e3..ec36a485333c 100644
--- a/code/__HELPERS/job.dm
+++ b/code/__HELPERS/job.dm
@@ -31,7 +31,8 @@
JOB_XO,
JOB_SO,
JOB_INTEL,
- JOB_PILOT,
+ JOB_CAS_PILOT,
+ JOB_DROPSHIP_PILOT,
JOB_DROPSHIP_CREW_CHIEF,
JOB_CORPORATE_LIAISON,
JOB_COMBAT_REPORTER,
diff --git a/code/__HELPERS/logging.dm b/code/__HELPERS/logging.dm
index 59e4c7710992..1e72f51a8d60 100644
--- a/code/__HELPERS/logging.dm
+++ b/code/__HELPERS/logging.dm
@@ -125,11 +125,11 @@ GLOBAL_VAR_INIT(log_end, world.system_type == UNIX ? ascii2text(13) : "")
GLOB.STUI.admin.Add("\[[time]]OVERWATCH: [text]")
GLOB.STUI.processing |= STUI_LOG_ADMIN
-/proc/log_idmod(obj/item/card/id/target_id, msg)
+/proc/log_idmod(obj/item/card/id/target_id, msg, changer)
var/time = time_stamp()
if (CONFIG_GET(flag/log_idmod))
- WRITE_LOG(GLOB.world_game_log, "ID MOD: [msg]")
- LOG_REDIS("idmod", "\[[time]\] [msg]")
+ WRITE_LOG(GLOB.world_game_log, "ID MOD: ([changer]) [msg]")
+ LOG_REDIS("idmod", "\[[time]\] ([changer]) [msg]")
target_id.modification_log += "\[[time]]: [msg]"
/proc/log_vote(text)
diff --git a/code/__HELPERS/nameof.dm b/code/__HELPERS/nameof.dm
index 7cd5777f4652..5a2fd60e7100 100644
--- a/code/__HELPERS/nameof.dm
+++ b/code/__HELPERS/nameof.dm
@@ -8,8 +8,4 @@
/**
* NAMEOF that actually works in static definitions because src::type requires src to be defined
*/
-#if DM_VERSION >= 515
#define NAMEOF_STATIC(datum, X) (nameof(type::##X))
-#else
-#define NAMEOF_STATIC(datum, X) (#X || ##datum.##X)
-#endif
diff --git a/code/_byond_version_compat.dm b/code/_byond_version_compat.dm
index 26968f0f837c..c41fdc830e6e 100644
--- a/code/_byond_version_compat.dm
+++ b/code/_byond_version_compat.dm
@@ -1,56 +1,17 @@
// This file contains defines allowing targeting byond versions newer than the supported
//Update this whenever you need to take advantage of more recent byond features
-#define MIN_COMPILER_VERSION 514
-#define MIN_COMPILER_BUILD 1588
+#define MIN_COMPILER_VERSION 515
+#define MIN_COMPILER_BUILD 1627
#if (DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD) && !defined(SPACEMAN_DMM) && !defined(OPENDREAM)
//Don't forget to update this part
-#error Your version of BYOND is too out-of-date to compile this project. Go to https://secure.byond.com/download and update.
-#error You need version 514.1588 or higher
-#endif
-
-/*
-#if (DM_VERSION == 514 && DM_BUILD > 1575 && DM_BUILD <= 1577)
-#error Your version of BYOND currently has a crashing issue that will prevent you from running Dream Daemon test servers.
-#error We require developers to test their content, so an inability to test means we cannot allow the compile.
-#error Please consider downgrading to 514.1575 or lower.
-#endif
-*/
-
-/*
-// Keep savefile compatibilty at minimum supported level
-#if DM_VERSION >= 515
-/savefile/byond_version = MIN_COMPILER_VERSION
-#endif
-*/
-
-// 515 split call for external libraries into call_ext
-#if DM_VERSION < 515
-#define LIBCALL call
-#else
-#define LIBCALL call_ext
+#error Your version of BYOND is too out-of-date to compile this project. Go to https://www.byond.com/download and update.
+#error You need version 515.1627 or higher
#endif
// So we want to have compile time guarantees these methods exist on local type, unfortunately 515 killed the .proc/procname and .verb/verbname syntax so we have to use nameof()
// For the record: GLOBAL_VERB_REF would be useless as verbs can't be global.
-#if DM_VERSION < 515
-
-/// Call by name proc references, checks if the proc exists on either this type or as a global proc.
-#define PROC_REF(X) (.proc/##X)
-/// Call by name verb references, checks if the verb exists on either this type or as a global verb.
-#define VERB_REF(X) (.verb/##X)
-
-/// Call by name proc reference, checks if the proc exists on either the given type or as a global proc
-#define TYPE_PROC_REF(TYPE, X) (##TYPE.proc/##X)
-/// Call by name verb reference, checks if the verb exists on either the given type or as a global verb
-#define TYPE_VERB_REF(TYPE, X) (##TYPE.verb/##X)
-
-/// Call by name proc reference, checks if the proc is an existing global proc
-#define GLOBAL_PROC_REF(X) (/proc/##X)
-
-#else
-
/// Call by name proc references, checks if the proc exists on either this type or as a global proc.
#define PROC_REF(X) (nameof(.proc/##X))
/// Call by name verb references, checks if the verb exists on either this type or as a global verb.
@@ -64,16 +25,4 @@
/// Call by name proc reference, checks if the proc is an existing global proc
#define GLOBAL_PROC_REF(X) (/proc/##X)
-#endif
-
-#if (DM_VERSION == 515)
-/// fcopy will crash on 515 linux if given a non-existant file, instead of returning 0 like on 514 linux or 515 windows
-/// var case matches documentation for fcopy.
-/world/proc/__fcopy(Src, Dst)
- if (istext(Src) && !fexists(Src))
- return 0
- return fcopy(Src, Dst)
-#define fcopy(Src, Dst) world.__fcopy(Src, Dst)
-
-#endif
diff --git a/code/_experiments.dm b/code/_experiments.dm
index 6e5addb5f992..39c4c45e7eda 100644
--- a/code/_experiments.dm
+++ b/code/_experiments.dm
@@ -3,29 +3,7 @@
// Any flag you see here can be flipped with the `-D` CLI argument.
// For example, if you want to enable EXPERIMENT_MY_COOL_FEATURE, compile with -DEXPERIMENT_MY_COOL_FEATURE
-// EXPERIMENT_515_QDEL_HARD_REFERENCE
-// - Hold a hard reference for qdeleted items, and check ref_count, rather than using refs. Requires 515+.
-
-// EXPERIMENT_515_DONT_CACHE_REF
-// - Avoids `text_ref` caching, aided by improvements to ref() speed in 515.
-
-#if DM_VERSION < 515
-
-// You can't X-macro custom names :(
-#ifdef EXPERIMENT_515_QDEL_HARD_REFERENCE
-#warn EXPERIMENT_515_QDEL_HARD_REFERENCE is only available on 515+
-#undef EXPERIMENT_515_QDEL_HARD_REFERENCE
-#endif
-
-#ifdef EXPERIMENT_515_DONT_CACHE_REF
-#warn EXPERIMENT_515_DONT_CACHE_REF is only available on 515+
-#undef EXPERIMENT_515_DONT_CACHE_REF
-#endif
-
-#elif defined(UNIT_TESTS)
-
-//#define EXPERIMENT_515_QDEL_HARD_REFERENCE
-#define EXPERIMENT_515_DONT_CACHE_REF
+#if defined(UNIT_TESTS)
#endif
diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm
index bf9330c567cc..616c88c47a9d 100644
--- a/code/_globalvars/bitfields.dm
+++ b/code/_globalvars/bitfields.dm
@@ -431,6 +431,7 @@ DEFINE_BITFIELD(toggleable_flags, list(
"MODE_HARDCORE_PERMA" = MODE_HARDCORE_PERMA,
"MODE_DISPOSABLE_MOBS" = MODE_DISPOSABLE_MOBS,
"MODE_BYPASS_JOE" = MODE_BYPASS_JOE,
+ "MODE_DISABLE_JOE_RESPAWN" = MODE_DISABLE_JOE_RESPAWN,
))
DEFINE_BITFIELD(state, list(
diff --git a/code/_globalvars/global_lists.dm b/code/_globalvars/global_lists.dm
index 4dbf46086f02..c23f1fc7931f 100644
--- a/code/_globalvars/global_lists.dm
+++ b/code/_globalvars/global_lists.dm
@@ -276,6 +276,15 @@ GLOBAL_LIST_INIT(typecache_living, typecacheof(/mob/living))
GLOBAL_LIST_INIT(emote_list, init_emote_list())
+/// list of categories for working joes
+GLOBAL_LIST_EMPTY(wj_categories)
+/// dict ("category" : (emotes)) of every wj emote typepath
+GLOBAL_LIST_INIT(wj_emotes, setup_working_joe_emotes())
+/// list of categories for hazard joes
+GLOBAL_LIST_EMPTY(hj_categories)
+/// dict ("category" : (emotes)) of every hj emote typepath
+GLOBAL_LIST_INIT(hj_emotes, setup_hazard_joe_emotes())
+
/proc/cached_params_decode(params_data, decode_proc)
. = GLOB.paramslist_cache[params_data]
if(!.)
@@ -481,6 +490,7 @@ GLOBAL_LIST_EMPTY(timelocks)
GLOBAL_LIST_INIT(available_specialist_sets, list(
"Scout Set",
"Sniper Set",
+ "Anti-materiel Sniper Set",
"Demolitionist Set",
"Heavy Grenadier Set",
"Pyro Set"
@@ -493,6 +503,7 @@ GLOBAL_LIST_INIT(available_specialist_kit_boxes, list(
"Sniper" = 2,
"Scout" = 2,
"Demo" = 2,
+ "Anti-materiel Sniper" = 2,
))
/proc/init_global_referenced_datums()
@@ -517,6 +528,32 @@ GLOBAL_LIST_INIT(available_specialist_kit_boxes, list(
else
.[E.key_third_person] |= E
+/// Setup for Working joe emotes and category list, returns data for wj_emotes
+/proc/setup_working_joe_emotes()
+ var/list/emotes_to_add = list()
+ for(var/datum/emote/living/carbon/human/synthetic/working_joe/emote as anything in subtypesof(/datum/emote/living/carbon/human/synthetic/working_joe))
+ if(!(initial(emote.joe_flag) & WORKING_JOE_EMOTE) || !initial(emote.key) || !initial(emote.say_message))
+ continue
+
+ if(!(initial(emote.category) in GLOB.wj_categories))
+ GLOB.wj_categories += initial(emote.category)
+
+ emotes_to_add += emote
+ return emotes_to_add
+
+/// Setup for Hazard joe emotes and category list, returns data for hj_emotes
+/proc/setup_hazard_joe_emotes()
+ var/list/emotes_to_add = list()
+ for(var/datum/emote/living/carbon/human/synthetic/working_joe/emote as anything in subtypesof(/datum/emote/living/carbon/human/synthetic/working_joe))
+ if(!(initial(emote.joe_flag) & HAZARD_JOE_EMOTE) || !initial(emote.key) || !initial(emote.say_message))
+ continue
+
+ if(!(initial(emote.category) in GLOB.hj_categories))
+ GLOB.hj_categories += initial(emote.category)
+
+ emotes_to_add += emote
+ return emotes_to_add
+
GLOBAL_LIST_EMPTY(topic_tokens)
GLOBAL_PROTECT(topic_tokens)
diff --git a/code/_macros.dm b/code/_macros.dm
index ec4f559f0bfc..075d098e3d50 100644
--- a/code/_macros.dm
+++ b/code/_macros.dm
@@ -67,6 +67,11 @@
#define LAZYREMOVEASSOC(L, K, V) if(L) { if(L[K]) { L[K] -= V; if(!length(L[K])) L -= K; } if(!length(L)) L = null; }
///Accesses an associative list, returns null if nothing is found
#define LAZYACCESSASSOC(L, I, K) L ? L[I] ? L[I][K] ? L[I][K] : null : null : null
+///Performs an insertion on the given lazy list with the given key and value. If the value already exists, a new one will not be made.
+#define LAZYORASSOCLIST(lazy_list, key, value) \
+ LAZYINITLIST(lazy_list); \
+ LAZYINITLIST(lazy_list[key]); \
+ lazy_list[key] |= value;
// Insert an object A into a sorted list using cmp_proc (/code/_helpers/cmp.dm) for comparison.
#define ADD_SORTED(list, A, cmp_proc) if(!list.len) {list.Add(A)} else {list.Insert(FindElementIndex(A, list, cmp_proc), A)}
diff --git a/code/_onclick/click_hold.dm b/code/_onclick/click_hold.dm
index 996f7ed2bf3b..41e2be147d85 100644
--- a/code/_onclick/click_hold.dm
+++ b/code/_onclick/click_hold.dm
@@ -95,11 +95,10 @@
// Add the hovered atom to the trace
LAZYADD(mouse_trace_history, over_obj)
-/client/MouseDrop(datum/over_object, datum/src_location, over_location, src_control, over_control, params)
+/client/MouseDrop(datum/src_object, datum/over_object, src_location, over_location, src_control, over_control, params)
. = ..()
-
- if(src_location)
- SEND_SIGNAL(src_location, COMSIG_ATOM_DROPPED_ON, over_object, src)
-
if(over_object)
- SEND_SIGNAL(over_object, COMSIG_ATOM_DROP_ON, src_location, src)
+ SEND_SIGNAL(over_object, COMSIG_ATOM_DROPPED_ON, src_object, src)
+
+ if(src_object)
+ SEND_SIGNAL(src_object, COMSIG_ATOM_DROP_ON, over_object, src)
diff --git a/code/_onclick/drag_drop.dm b/code/_onclick/drag_drop.dm
index fff5e9200de7..4dcc0d646816 100644
--- a/code/_onclick/drag_drop.dm
+++ b/code/_onclick/drag_drop.dm
@@ -7,6 +7,7 @@
*/
/atom/MouseDrop(atom/over)
if(!usr || !over) return
+
if(!Adjacent(usr) || !over.Adjacent(usr)) return // should stop you from dragging through windows
spawn(0)
diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm
index 0bd2206091ba..505b1876e3af 100644
--- a/code/_onclick/hud/fullscreen.dm
+++ b/code/_onclick/hud/fullscreen.dm
@@ -108,6 +108,9 @@
icon_state = "passage"
layer = FULLSCREEN_CRIT_LAYER
+/atom/movable/screen/fullscreen/crit/dark
+ color = COLOR_GRAY
+
/atom/movable/screen/fullscreen/blind
icon_state = "blackimageoverlay"
layer = FULLSCREEN_BLIND_LAYER
@@ -127,6 +130,9 @@
screen_loc = "WEST,SOUTH to EAST,NORTH"
icon_state = "noise"
+/atom/movable/screen/fullscreen/flash/dark
+ icon_state = "black"
+
/atom/movable/screen/fullscreen/high
icon = 'icons/mob/hud/screen1.dmi'
screen_loc = "WEST,SOUTH to EAST,NORTH"
diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm
index f5f61424daac..7277c74b2fd3 100644
--- a/code/_onclick/hud/hud.dm
+++ b/code/_onclick/hud/hud.dm
@@ -46,7 +46,7 @@
var/atom/movable/screen/toggle_burst
var/atom/movable/screen/unique_action
- var/atom/movable/screen/zone_sel
+ var/atom/movable/screen/zone_sel/zone_sel
var/atom/movable/screen/pull_icon
var/atom/movable/screen/throw_icon
var/atom/movable/screen/oxygen_icon
diff --git a/code/_onclick/hud/rendering/plane_master.dm b/code/_onclick/hud/rendering/plane_master.dm
index 6625120d1514..c4f070bdd842 100644
--- a/code/_onclick/hud/rendering/plane_master.dm
+++ b/code/_onclick/hud/rendering/plane_master.dm
@@ -189,3 +189,10 @@
plane = ESCAPE_MENU_PLANE
appearance_flags = PLANE_MASTER|NO_CLIENT_COLOR
render_relay_plane = RENDER_PLANE_MASTER
+
+/atom/movable/screen/plane_master/displacement
+ name = "displacement plane"
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ plane = DISPLACEMENT_PLATE_RENDER_LAYER
+ render_target = DISPLACEMENT_PLATE_RENDER_TARGET
+ render_relay_plane = null
diff --git a/code/_onclick/hud/rendering/render_plate.dm b/code/_onclick/hud/rendering/render_plate.dm
index 18236c6ee759..cb579eb4ff6a 100644
--- a/code/_onclick/hud/rendering/render_plate.dm
+++ b/code/_onclick/hud/rendering/render_plate.dm
@@ -39,6 +39,10 @@
plane = RENDER_PLANE_GAME
render_relay_plane = RENDER_PLANE_MASTER
+/atom/movable/screen/plane_master/rendering_plate/game_world/Initialize(mapload, datum/hud/hud_owner)
+ . = ..()
+ add_filter("displacer", 1, displacement_map_filter(render_source = DISPLACEMENT_PLATE_RENDER_TARGET, size = 10))
+
///render plate for OOC stuff like ghosts, hud-screen effects, etc
/atom/movable/screen/plane_master/rendering_plate/non_game
name = "non-game rendering plate"
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index edf2d44a0714..17f06987cd3b 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -148,7 +148,6 @@
/atom/movable/screen/zone_sel/update_icon(mob/living/user)
overlays.Cut()
overlays += image('icons/mob/hud/zone_sel.dmi', "[selecting]")
- user.zone_selected = selecting
/atom/movable/screen/zone_sel/clicked(mob/user, list/mods)
if (..())
@@ -210,6 +209,7 @@
selecting = "eyes"
if(old_selecting != selecting)
+ user.zone_selected = selecting
update_icon(user)
return 1
diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm
index e2572e5e2d61..1cf93e998a4e 100644
--- a/code/controllers/configuration/entries/general.dm
+++ b/code/controllers/configuration/entries/general.dm
@@ -640,3 +640,27 @@ This maintains a list of ip addresses that are able to bypass topic filtering.
splitter = "|"
key_mode = KEY_MODE_TEXT_UNALTERED
value_mode = VALUE_MODE_TEXT
+
+/datum/config_entry/number/client_warn_version
+ default = null
+ min_val = 500
+
+/datum/config_entry/number/client_warn_build
+ default = null
+ min_val = 0
+
+/datum/config_entry/string/client_warn_message
+ default = "Your version of BYOND may have issues or be blocked from accessing this server in the future."
+
+/datum/config_entry/flag/client_warn_popup
+
+/datum/config_entry/number/client_error_version
+ default = null
+ min_val = 500
+
+/datum/config_entry/number/client_error_build
+ default = null
+ min_val = 0
+
+/datum/config_entry/string/client_error_message
+ default = "Your version of BYOND is too old, may have issues, and is blocked from accessing this server."
diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm
index e94d6b1aff1d..37c305d59cde 100644
--- a/code/controllers/subsystem/garbage.dm
+++ b/code/controllers/subsystem/garbage.dm
@@ -139,13 +139,6 @@ SUBSYSTEM_DEF(garbage)
pass_counts[i] = 0
fail_counts[i] = 0
-#ifdef EXPERIMENT_515_QDEL_HARD_REFERENCE
-// 1 from the hard reference in the queue, and 1 from the variable used before this
-#define IS_DELETED(datum, _) (refcount(##datum) == 2)
-#else
-#define IS_DELETED(datum, gcd_at_time) (isnull(##datum) || ##datum.gc_destroyed != gcd_at_time)
-#endif
-
/datum/controller/subsystem/garbage/proc/HandleQueue(level = GC_QUEUE_FILTER)
if (level == GC_QUEUE_FILTER)
delslasttick = 0
@@ -162,7 +155,7 @@ SUBSYSTEM_DEF(garbage)
lastlevel = level
- //We do this rather then for(var/refID in queue) because that sort of for loop copies the whole list.
+ //We do this rather then for(var/list/ref_info in queue) because that sort of for loop copies the whole list.
//Normally this isn't expensive, but the gc queue can grow to 40k items, and that gets costly/causes overrun.
for (var/i in 1 to length(queue))
var/list/L = queue[i]
@@ -173,21 +166,15 @@ SUBSYSTEM_DEF(garbage)
continue
var/queued_at_time = L[GC_QUEUE_ITEM_QUEUE_TIME]
-
if(queued_at_time > cut_off_time)
break // Everything else is newer, skip them
count++
-#ifdef EXPERIMENT_515_QDEL_HARD_REFERENCE
var/datum/D = L[GC_QUEUE_ITEM_REF]
-#else
- var/GCd_at_time = L[GC_QUEUE_ITEM_GCD_DESTROYED]
- var/refID = L[GC_QUEUE_ITEM_REF]
- var/datum/D
- D = locate(refID)
-#endif
-
- if (IS_DELETED(D, GCd_at_time)) // So if something else coincidently gets the same ref, it's not deleted by mistake
+
+ // 1 from the hard reference in the queue, and 1 from the variable used before this
+ // If that's all we've got, send er off
+ if (refcount(D) == 2)
++gcedlasttick
++totalgcs
pass_counts[level]++
@@ -221,11 +208,7 @@ SUBSYSTEM_DEF(garbage)
var/type = D.type
var/datum/qdel_item/I = items[type]
- var/message = "## TESTING: GC: -- [text_ref(D)] | [type] was unable to be GC'd --"
-#if DM_VERSION >= 515
- message = "[message] (ref count of [refcount(D)])"
-#endif
- log_world(message)
+ log_world("## TESTING: GC: -- [text_ref(D)] | [type] was unable to be GC'd -- (ref count of [refcount(D)])")
#ifdef TESTING
for(var/c in GLOB.admins) //Using testing() here would fill the logs with ADMIN_VV garbage
@@ -261,8 +244,6 @@ SUBSYSTEM_DEF(garbage)
queue.Cut(1,count+1)
count = 0
-#undef IS_DELETED
-
/datum/controller/subsystem/garbage/proc/Queue(datum/D, level = GC_QUEUE_FILTER)
if (isnull(D))
return
@@ -271,20 +252,11 @@ SUBSYSTEM_DEF(garbage)
return
var/queue_time = world.time
-#ifdef EXPERIMENT_515_QDEL_HARD_REFERENCE
- var/refid = D
-#else
- var/refid = text_ref(D)
-#endif
-
- var/static/uid = 0
- uid = WRAP(uid+1, 1, SHORT_REAL_LIMIT - 1)
if (D.gc_destroyed <= 0)
- D.gc_destroyed = uid
+ D.gc_destroyed = queue_time
var/list/queue = queues[level]
-
- queue[++queue.len] = list(queue_time, refid, D.gc_destroyed) // not += for byond reasons
+ queue[++queue.len] = list(queue_time, D, D.gc_destroyed) // not += for byond reasons
//this is mainly to separate things profile wise.
/datum/controller/subsystem/garbage/proc/HardDelete(datum/D, force)
diff --git a/code/controllers/subsystem/hijack.dm b/code/controllers/subsystem/hijack.dm
index 8ae313587038..6a2f63023ca2 100644
--- a/code/controllers/subsystem/hijack.dm
+++ b/code/controllers/subsystem/hijack.dm
@@ -105,6 +105,7 @@ SUBSYSTEM_DEF(hijack)
if(hijack_status < HIJACK_OBJECTIVES_STARTED)
hijack_status = HIJACK_OBJECTIVES_STARTED
+ SEND_GLOBAL_SIGNAL(COMSIG_GLOB_FUEL_PUMP_UPDATE)
if(current_progress >= required_progress)
if(hijack_status < HIJACK_OBJECTIVES_COMPLETE)
@@ -157,6 +158,7 @@ SUBSYSTEM_DEF(hijack)
if(current_progress >= announce_checkpoint)
announce_progress()
announce_checkpoint += initial(announce_checkpoint)
+ SEND_GLOBAL_SIGNAL(COMSIG_GLOB_FUEL_PUMP_UPDATE)
current_run_progress_additive = 0
current_run_progress_multiplicative = 1
diff --git a/code/controllers/subsystem/minimap.dm b/code/controllers/subsystem/minimap.dm
index 478848906047..ff250625043f 100644
--- a/code/controllers/subsystem/minimap.dm
+++ b/code/controllers/subsystem/minimap.dm
@@ -765,7 +765,7 @@ SUBSYSTEM_DEF(minimaps)
data["canDraw"] = FALSE
data["canViewTacmap"] = TRUE
data["canViewCanvas"] = FALSE
- data["isXeno"] = FALSE
+ data["isxeno"] = FALSE
return data
@@ -781,7 +781,7 @@ SUBSYSTEM_DEF(minimaps)
var/is_xeno = istype(xeno)
var/faction = is_xeno ? xeno.hivenumber : user.faction
- data["isXeno"] = is_xeno
+ data["isxeno"] = is_xeno
data["canViewTacmap"] = is_xeno
data["canViewCanvas"] = faction == FACTION_MARINE || faction == XENO_HIVE_NORMAL
@@ -799,7 +799,7 @@ SUBSYSTEM_DEF(minimaps)
data["canDraw"] = FALSE
data["canViewTacmap"] = FALSE
data["canViewCanvas"] = TRUE
- data["isXeno"] = FALSE
+ data["isxeno"] = FALSE
return data
@@ -811,7 +811,7 @@ SUBSYSTEM_DEF(minimaps)
data["canDraw"] = FALSE
data["canViewTacmap"] = FALSE
data["canViewCanvas"] = TRUE
- data["isXeno"] = TRUE
+ data["isxeno"] = TRUE
return data
diff --git a/code/controllers/subsystem/objectives_controller.dm b/code/controllers/subsystem/objectives_controller.dm
index a858dff07475..38accda46004 100644
--- a/code/controllers/subsystem/objectives_controller.dm
+++ b/code/controllers/subsystem/objectives_controller.dm
@@ -96,6 +96,7 @@ SUBSYSTEM_DEF(objectives)
ai_silent_announcement(message, ":v", TRUE)
ai_silent_announcement(message, ":t", TRUE)
+ log_ares_tech(MAIN_AI_SYSTEM, FALSE, "TECH REPORT", "[round(tree.points, 0.1)] points available.", 0)
tree.total_points_last_sitrep = tree.total_points
next_sitrep = world.time + SITREP_INTERVAL
diff --git a/code/datums/action.dm b/code/datums/action.dm
index 3a597ad262b1..d1768655a2da 100644
--- a/code/datums/action.dm
+++ b/code/datums/action.dm
@@ -191,6 +191,8 @@
var/mob/living/carbon/human/human = owner
if(human.body_position == STANDING_UP)
return TRUE
+ if((HAS_TRAIT(owner, TRAIT_OPPOSABLE_THUMBS)) && !owner.is_mob_incapacitated())
+ return TRUE
/datum/action/item_action/update_button_icon()
button.overlays.Cut()
diff --git a/code/datums/ammo/ammo.dm b/code/datums/ammo/ammo.dm
index 229c10b31e3a..eba72f2594e2 100644
--- a/code/datums/ammo/ammo.dm
+++ b/code/datums/ammo/ammo.dm
@@ -230,6 +230,7 @@
P.generate_bullet(GLOB.ammo_list[bonus_projectiles_type]) //No bonus damage or anything.
P.accuracy = round(P.accuracy * original_P.accuracy/initial(original_P.accuracy)) //if the gun changes the accuracy of the main projectile, it also affects the bonus ones.
original_P.give_bullet_traits(P)
+ P.bonus_projectile_check = 2 //It's a bonus projectile!
var/total_scatter_angle = P.scatter
final_angle += rand(-total_scatter_angle, total_scatter_angle)
diff --git a/code/datums/ammo/bullet/revolver.dm b/code/datums/ammo/bullet/revolver.dm
index 0688e615378e..def0a8e31952 100644
--- a/code/datums/ammo/bullet/revolver.dm
+++ b/code/datums/ammo/bullet/revolver.dm
@@ -7,14 +7,13 @@
/datum/ammo/bullet/revolver
name = "revolver bullet"
headshot_state = HEADSHOT_OVERLAY_MEDIUM
-
- damage = 55
+ damage = 72
penetration = ARMOR_PENETRATION_TIER_1
accuracy = HIT_ACCURACY_TIER_1
/datum/ammo/bullet/revolver/marksman
name = "marksman revolver bullet"
-
+ damage = 55
shrapnel_chance = 0
damage_falloff = 0
accurate_range = 12
diff --git a/code/datums/ammo/bullet/sniper.dm b/code/datums/ammo/bullet/sniper.dm
index 22371972e623..6d0f0792ec53 100644
--- a/code/datums/ammo/bullet/sniper.dm
+++ b/code/datums/ammo/bullet/sniper.dm
@@ -107,19 +107,104 @@
damage = 125
shell_speed = AMMO_SPEED_TIER_6
-/datum/ammo/bullet/sniper/anti_materiel/on_hit_mob(mob/M,obj/projectile/P)
- if((P.projectile_flags & PROJECTILE_BULLSEYE) && M == P.original)
- var/mob/living/L = M
- var/size_damage_mod = 0.8
- if(isxeno(M))
- var/mob/living/carbon/xenomorph/target = M
- if(target.mob_size >= MOB_SIZE_XENO)
- size_damage_mod += 0.6
- if(target.mob_size >= MOB_SIZE_BIG)
- size_damage_mod += 0.6
- L.apply_armoured_damage(damage*size_damage_mod, ARMOR_BULLET, BRUTE, null, penetration)
- // 180% damage to all targets (225), 240% (300) against non-Runner xenos, and 300% against Big xenos (375). -Kaga
- to_chat(P.firer, SPAN_WARNING("Bullseye!"))
+/datum/ammo/bullet/sniper/anti_materiel/on_hit_mob(mob/target_mob,obj/projectile/aimed_projectile)
+
+ var/mob/living/living_target = target_mob
+
+ if((aimed_projectile.projectile_flags & PROJECTILE_BULLSEYE) && target_mob == aimed_projectile.original)
+
+ var/amr_counter = 0
+ var/datum/weakref/old_target = null // This is used to let xenos know when they're no longer targeted.
+
+ var/mob/living/carbon/human/human_firer
+ var/image/focused_fire_marker_temp = image('icons/mob/hud/hud.dmi', target_mob, "hudeye")
+
+ if(istype(aimed_projectile.firer, /mob/living/carbon/human)) // Preps the Focused Fire marker.
+ human_firer = aimed_projectile.firer
+ focused_fire_marker_temp.color = human_firer.assigned_squad?.chat_color
+
+ if(target_mob.icon_size > world.icon_size) // Centers marker on their tile.
+ focused_fire_marker_temp.pixel_x = (target_mob.icon_size / 4)
+
+ if(istype(aimed_projectile.shot_from, /obj/item/weapon/gun/rifle/sniper/XM43E1)) // Calculates the Focus Counter.
+ var/obj/item/weapon/gun/rifle/sniper/XM43E1/amr = aimed_projectile.shot_from
+
+ old_target = amr.focused_fire_target
+
+ if(target_mob == (amr.focused_fire_target?.resolve()))
+ if(amr.focused_fire_counter < 2) // Can stack up to twice.
+ amr.focused_fire_counter += 1
+ else
+ amr.focused_fire_counter = 2
+ else // If it's a new target
+ amr.focused_fire_counter = 0 // Stacks to 0
+ if(human_firer && !(target_mob.is_dead()))
+ human_firer.client?.images -= human_firer.focused_fire_marker // Remove old marker
+ qdel(human_firer.focused_fire_marker)
+ human_firer.focused_fire_marker = focused_fire_marker_temp // Store new marker ref
+ human_firer.client?.images += focused_fire_marker_temp // Add new marker
+
+ amr_counter = amr.focused_fire_counter + 1
+ amr.focused_fire_target = WEAKREF(target_mob)
+
+ var/size_damage_mod = 0.8 // 1.8x vs Non-Xenos (225)
+ var/size_current_health_damage = 0 // % Current Health calculation, only used for Xeno calculations at the moment.
+ var/focused_fire_active = 0 // Whether to try and use focused fire calculations or not, for that kind of target.
+
+ if(isxeno(target_mob))
+ var/mob/living/carbon/xenomorph/target = target_mob
+ size_damage_mod -= 0.2 // Down to 1.6x damage, 200.
+ size_current_health_damage = 0.1 // 1.6x Damage + 10% current health (200 + 10%, 223 vs Runners)
+
+ if(target.mob_size >= MOB_SIZE_XENO && (target.caste_type != XENO_CASTE_DEFENDER))
+ size_current_health_damage += 0.1 // 1.6x Damage + 20% current health
+ focused_fire_active = 1 // Focus Fire Required. Only deals 50% bonus damage on a first Aimed Shot, then 75%, then 100%. Resets with a successful aimed shot on another target.
+
+ if(target.mob_size >= MOB_SIZE_BIG && (target.caste_type != XENO_CASTE_DEFENDER))
+ size_damage_mod -= 0.6 // Down to 1x Damage.
+ size_current_health_damage += 0.1 // 1x Damage + 30% current health.
+ focused_fire_active = 1
+ // Most T3s have around 650 to 700 HP, meaning the health modifier grants a MAXIMUM of around 195-210 damage for a total max of 320-335. This is fully focused (3 shots) and at max HP.
+ // Queen takes around 275 at max health and unfocused, 425 fully focused. Defender only takes 200 damage, even while fortified, but still causes falloff like a Big Xeno.
+ // At low health, does little more than a normal shot. Does WORSE than a normal shot if unfocused and hitting through blockers, all of which stack to reduce it.
+
+ var/final_xeno_damage = ((damage * size_damage_mod) + ((target.health + damage) * size_current_health_damage))
+
+ if(focused_fire_active && amr_counter) // If this is a target that needs to be focus-fired and the gun supports it, reduce bonus damage to 50%, then 75%, then 100%
+ // If amr_counter is 0, then the gun likely doesn't have the tracker functions, so skip this and deal normal damage.
+ final_xeno_damage *= (0.25 + (0.25 * amr_counter))
+
+ living_target.apply_armoured_damage((final_xeno_damage), ARMOR_BULLET, BRUTE, null, penetration)
+
+ else
+ living_target.apply_armoured_damage((damage*size_damage_mod), ARMOR_BULLET, BRUTE, null, penetration)
+
+ // Base 1.8x damage to non-xeno targets (225), 1.6x + 10% current against Runners and Defenders (223), 1.6x + 20% current health against most non-Runner xenos, and +30% current health against Big xenos. -Kaga
+ // This applies after pen reductions. After hitting 1 other thing, it deals 80% damage, or 40% after hitting a dense wall or big xeno.
+
+ if((focused_fire_active || isxeno(target_mob)) && !(target_mob.is_dead()))
+ switch(amr_counter)
+ if(1)
+ to_chat(aimed_projectile.firer, SPAN_WARNING("One hit! You begin to carefully track the target's movements."))
+ if(isxeno(target_mob) && isxeno(old_target?.resolve()))
+ var/mob/living/carbon/xenomorph/old_xeno = old_target.resolve()
+ var/mob/living/carbon/xenomorph/new_xeno = target_mob
+ if((old_xeno.hive == new_xeno.hive) && !(old_xeno.stat)) // Must be in same hive and conscious
+ to_chat(old_xeno,SPAN_XENOLEADER("The feeling of looming danger fades as we sense that another sister has been targeted instead."))
+ if(2)
+ to_chat(aimed_projectile.firer, SPAN_WARNING("Two hits! You're starting to get a good read on the target's patterns."))
+ if(3)
+ to_chat(aimed_projectile.firer, SPAN_WARNING("Bullseye! You're fully focused on the target."))
+ else
+ to_chat(aimed_projectile.firer, SPAN_WARNING("Bullseye!"))
+ else
+ to_chat(aimed_projectile.firer, SPAN_WARNING("Bullseye!"))
+
+/datum/ammo/bullet/sniper/anti_materiel/set_bullet_traits()
+ . = ..()
+ LAZYADD(traits_to_give, list(
+ BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_penetrating/weak)
+ ))
/datum/ammo/bullet/sniper/anti_materiel/vulture
damage = 400 // Fully intended to vaporize anything smaller than a mini cooper
diff --git a/code/datums/ammo/rocket.dm b/code/datums/ammo/rocket.dm
index 7581d434c4b4..722602cada69 100644
--- a/code/datums/ammo/rocket.dm
+++ b/code/datums/ammo/rocket.dm
@@ -275,6 +275,8 @@
/datum/ammo/rocket/custom
name = "custom rocket"
+ accurate_range = 8
+ max_range = 8
/datum/ammo/rocket/custom/proc/prime(atom/atom, obj/projectile/projectile)
var/obj/item/weapon/gun/launcher/rocket/launcher = projectile.shot_from
diff --git a/code/datums/ammo/xeno.dm b/code/datums/ammo/xeno.dm
index 7fec3cf3b9a3..7b5c8ee71257 100644
--- a/code/datums/ammo/xeno.dm
+++ b/code/datums/ammo/xeno.dm
@@ -186,7 +186,7 @@
/datum/ammo/xeno/acid/prae_nade // Used by base prae's acid nade
name = "acid scatter"
- flags_ammo_behavior = AMMO_STOPPED_BY_COVER
+ flags_ammo_behavior = AMMO_ACIDIC|AMMO_XENO|AMMO_STOPPED_BY_COVER
accuracy = HIT_ACCURACY_TIER_5
accurate_range = 32
max_range = 4
diff --git a/code/datums/autocells/explosion.dm b/code/datums/autocells/explosion.dm
index 367567a6d40d..ecc6f9925800 100644
--- a/code/datums/autocells/explosion.dm
+++ b/code/datums/autocells/explosion.dm
@@ -282,6 +282,9 @@ as having entered the turf.
if(QDELETED(E))
return
+ if(power >= 150) //shockwave for anything over 150 power
+ new /obj/effect/shockwave(epicenter, power/60)
+
E.power = power
E.power_falloff = falloff
E.falloff_shape = falloff_shape
diff --git a/code/datums/components/temporary_mute.dm b/code/datums/components/temporary_mute.dm
index 64b3e87809b6..a875287d487e 100644
--- a/code/datums/components/temporary_mute.dm
+++ b/code/datums/components/temporary_mute.dm
@@ -56,7 +56,7 @@
SIGNAL_HANDLER
if(!nolog)
- log_say("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to say the following before their spawn mute ended: [message] (CKEY: [user.key]) (JOB: [user.job])")
+ msg_admin_niche("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to say the following before their spawn mute ended: [message] (CKEY: [user.key]) (JOB: [user.job]) (AREA: [get_area_name(user)])")
if(on_speak_message)
to_chat(parent, SPAN_BOLDNOTICE(on_speak_message))
return COMPONENT_OVERRIDE_SPEAK
@@ -64,7 +64,7 @@
/datum/component/temporary_mute/proc/on_hivemind(mob/user, message)
SIGNAL_HANDLER
- log_say("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to hivemind the following before their spawn mute ended: [message] (CKEY: [user.key]) (JOB: [user.job])")
+ msg_admin_niche("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to hivemind the following before their spawn mute ended: [message] (CKEY: [user.key]) (JOB: [user.job]) (AREA: [get_area_name(user)])")
if(on_speak_message)
to_chat(parent, SPAN_BOLDNOTICE(on_speak_message))
return COMPONENT_OVERRIDE_HIVEMIND_TALK
@@ -78,7 +78,7 @@
if(!param && !istype(current_emote, /datum/emote/custom))
return
- log_say("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to emote the following before their spawn mute ended: [param] (CKEY: [user.key]) (JOB: [user.job])")
+ msg_admin_niche("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to emote the following before their spawn mute ended: [param] (CKEY: [user.key]) (JOB: [user.job]) (AREA: [get_area_name(user)])")
if(on_emote_message)
to_chat(parent, SPAN_BOLDNOTICE(on_emote_message))
return COMPONENT_OVERRIDE_EMOTE
@@ -86,7 +86,7 @@
/datum/component/temporary_mute/proc/on_point(mob/user, atom/target)
SIGNAL_HANDLER
- log_say("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to point at the following before their spawn mute ended: [target] (CKEY: [user.key]) (JOB: [user.job])")
+ msg_admin_niche("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to point at the following before their spawn mute ended: [target] (CKEY: [user.key]) (JOB: [user.job]) (AREA: [get_area_name(user)])")
if(on_emote_message)
to_chat(parent, SPAN_BOLDNOTICE(on_emote_message))
return COMPONENT_OVERRIDE_POINT
diff --git a/code/datums/datum.dm b/code/datums/datum.dm
index 7d497785a72a..3e317ffd601e 100644
--- a/code/datums/datum.dm
+++ b/code/datums/datum.dm
@@ -54,13 +54,6 @@
*/
var/list/cooldowns
-#ifndef EXPERIMENT_515_DONT_CACHE_REF
- /// A cached version of our \ref
- /// The brunt of \ref costs are in creating entries in the string tree (a tree of immutable strings)
- /// This avoids doing that more then once per datum by ensuring ref strings always have a reference to them after they're first pulled
- var/cached_ref
-#endif
-
/// A weak reference to another datum
var/datum/weakref/weak_reference
diff --git a/code/datums/diseases/black_goo.dm b/code/datums/diseases/black_goo.dm
index a5f67c8445be..5d6d96fcc57c 100644
--- a/code/datums/diseases/black_goo.dm
+++ b/code/datums/diseases/black_goo.dm
@@ -148,6 +148,8 @@
human.make_jittery(500)
sleep(30)
if(human && human.loc)
+ if(human.buckled)
+ human.buckled.unbuckle()
if(human.stat == DEAD)
human.revive(TRUE)
human.remove_language(LANGUAGE_ENGLISH) // You lose the ability to understand english. Language processing is handled in the mind not the body.
diff --git a/code/datums/effects/bleeding.dm b/code/datums/effects/bleeding.dm
index 2171580a94db..f56efbb3c69d 100644
--- a/code/datums/effects/bleeding.dm
+++ b/code/datums/effects/bleeding.dm
@@ -71,6 +71,11 @@
if(affected_mob.reagents.get_reagent_amount("thwei"))
blood_loss -= THWEI_BLOOD_REDUCTION
+ if(affected_mob.bodytemperature < T0C && (affected_mob.reagents.get_reagent_amount("cryoxadone") || affected_mob.reagents.get_reagent_amount("clonexadone")))
+ var/obj/structure/machinery/cryo_cell/cryo = affected_mob.loc
+ if(istype(cryo) && cryo.on && cryo.operable())
+ blood_loss -= CRYO_BLOOD_REDUCTION
+
var/mob/living/carbon/human/affected_human = affected_mob
if(istype(affected_human))
if(affected_human.chem_effect_flags & CHEM_EFFECT_NO_BLEEDING)
@@ -95,18 +100,19 @@
if(affected_mob.in_stasis == STASIS_IN_BAG)
return FALSE
- if(affected_mob.bodytemperature < T0C && (affected_mob.reagents && affected_mob.reagents.get_reagent_amount("cryoxadone") || affected_mob.reagents.get_reagent_amount("clonexadone")))
- blood_loss -= CRYO_BLOOD_REDUCTION
-
if(affected_mob.reagents) // Annoying QC check
if(affected_mob.reagents.get_reagent_amount("thwei"))
blood_loss -= THWEI_BLOOD_REDUCTION
+ if(affected_mob.bodytemperature < T0C && (affected_mob.reagents.get_reagent_amount("cryoxadone") || affected_mob.reagents.get_reagent_amount("clonexadone")))
+ blood_loss -= CRYO_BLOOD_REDUCTION
+
var/mob/living/carbon/human/affected_human = affected_mob
if(istype(affected_human))
if(affected_human.chem_effect_flags & CHEM_EFFECT_NO_BLEEDING)
return FALSE
+ blood_loss = max(blood_loss, 0) // Bleeding shouldn't give extra blood even if its only 1 tick
affected_mob.blood_volume = max(affected_mob.blood_volume - blood_loss, 0)
return TRUE
diff --git a/code/datums/elements/bullet_trait/damage_boost.dm b/code/datums/elements/bullet_trait/damage_boost.dm
index eee4a8e80f4b..43d9d1b23377 100644
--- a/code/datums/elements/bullet_trait/damage_boost.dm
+++ b/code/datums/elements/bullet_trait/damage_boost.dm
@@ -28,17 +28,10 @@ GLOBAL_LIST_INIT(damage_boost_vehicles, typecacheof(/obj/vehicle/multitile))
/// A typecache of objs or turfs that, upon being hit, boost the damage of the attached projectile
var/list/damage_boosted_atoms
- //vars for dealing with interaction issues with the Penetrating trait
- var/boosted_hits
- var/last_damage_mult
-
//allows for nuance in Breaching-Resistant interactions
var/active_damage_mult
var/atom_type
- //var for dealing with bonus projectiles
- var/bonus_projectile_check
-
/**
* vars:
* * damage_mult - the damage multiplier to be applied if the bullet hits an atom whose type is in `breaching_objs`
@@ -51,11 +44,8 @@ GLOBAL_LIST_INIT(damage_boost_vehicles, typecacheof(/obj/vehicle/multitile))
src.damage_mult = damage_mult
src.damage_boosted_atoms = damage_boosted_atoms
- src.boosted_hits = 0
- src.last_damage_mult = 1
src.active_damage_mult = 1
src.atom_type = 0
- src.bonus_projectile_check = 0
RegisterSignal(target, list(
COMSIG_BULLET_PRE_HANDLE_OBJ,
@@ -68,17 +58,17 @@ GLOBAL_LIST_INIT(damage_boost_vehicles, typecacheof(/obj/vehicle/multitile))
//add more cases for other interactions (switch doesn't seem to work with istype)
else return 0
-/datum/element/bullet_trait_damage_boost/proc/handle_bullet(obj/projectile/P, atom/A)
+/datum/element/bullet_trait_damage_boost/proc/handle_bullet(obj/projectile/boosted_projectile, atom/hit_atom)
SIGNAL_HANDLER
- atom_type = check_type(A)
+ atom_type = check_type(hit_atom)
switch(atom_type)
if("door")
- var/obj/structure/machinery/door/D = A
- if(D.masterkey_resist)
- if(D.masterkey_mod)
- active_damage_mult = damage_mult * D.masterkey_mod
+ var/obj/structure/machinery/door/hit_door = hit_atom
+ if(hit_door.masterkey_resist)
+ if(hit_door.masterkey_mod)
+ active_damage_mult = damage_mult * hit_door.masterkey_mod
else
active_damage_mult = 1 //no bonus damage
else
@@ -87,12 +77,22 @@ GLOBAL_LIST_INIT(damage_boost_vehicles, typecacheof(/obj/vehicle/multitile))
else
active_damage_mult = damage_mult
- if(boosted_hits > 0)
- if(bonus_projectile_check == P.damage)
- P.damage = P.damage / last_damage_mult
- boosted_hits--
- if(damage_boosted_atoms[A.type])
- P.damage = round(P.damage * active_damage_mult)
- last_damage_mult = active_damage_mult
- boosted_hits++
- bonus_projectile_check = P.damage
+
+ if(boosted_projectile.damage_boosted && ((boosted_projectile.last_atom_signaled?.resolve()) != hit_atom) && (!boosted_projectile.bonus_projectile_check))
+ //If this is after a boosted hit, the last atom that procced this isn't the same as the current target, and this isn't a bonus projectile sharing the same damage_boost
+ if(!boosted_projectile.last_damage_mult) //Make sure stored mult isn't 0
+ boosted_projectile.last_damage_mult = 1
+
+ boosted_projectile.damage = boosted_projectile.damage / boosted_projectile.last_damage_mult //Reduce the damage back to normal
+ boosted_projectile.damage_boosted-- //Mark that damage has been returned to normal.
+
+ if(damage_boosted_atoms[hit_atom.type]) //If hitting a valid atom for damage boost
+ boosted_projectile.damage = round(boosted_projectile.damage * active_damage_mult) //Modify Damage by multiplier
+
+ if (active_damage_mult)
+ boosted_projectile.last_damage_mult = active_damage_mult //Save multiplier for next check
+ else
+ boosted_projectile.last_damage_mult = 1
+
+ boosted_projectile.damage_boosted++ //Mark that a boosted hit occurred.
+ boosted_projectile.last_atom_signaled = WEAKREF(hit_atom) //Save the current triggering atom to the projectile
diff --git a/code/datums/elements/bullet_trait/penetrating/weak.dm b/code/datums/elements/bullet_trait/penetrating/weak.dm
new file mode 100644
index 000000000000..99c94a9c90ba
--- /dev/null
+++ b/code/datums/elements/bullet_trait/penetrating/weak.dm
@@ -0,0 +1,60 @@
+/datum/element/bullet_trait_penetrating/weak
+ // Generic bullet trait vars
+ element_flags = ELEMENT_DETACH|ELEMENT_BESPOKE
+ id_arg_index = 4
+
+ /// For each thing this hits, how much damage it loses normally. This can be modified by what it penetrates later.
+ var/damage_percent_lost_per_hit = 20
+ // XM43E1 AMR: First target takes full damage, each subsequent target takes at least 20% less damage (increased for large mobs and dense turfs), 25 from base 125 damage.
+
+ /// For each thing this hits, how much distance it loses normally.
+ distance_loss_per_hit = 4
+ // XM43E1 AMR: Hits 7 things at most, at point blank, with no additional modifiers. This greatly increases at actual sniping ranges.
+
+ /// How many times more effective turfs are at slowing down the projectile normally, reducing both range and damage.
+ var/turf_hit_slow_mult = 3
+ // XM43E1 AMR: Unable to hit anything through more than 2 walls, less at maximum ranges. Pens 2 walls at 8 tiles or less, 1 at 20 tiles or less, and can't wallbang through normal walls at maximum range.
+ // Also loses 75 damage with each normal wall pen.
+
+/datum/element/bullet_trait_penetrating/weak/Attach(datum/target, distance_loss_per_hit = 4, damage_percent_lost_per_hit = 20, turf_hit_slow_mult = 3)
+ . = ..()
+ if(. == ELEMENT_INCOMPATIBLE)
+ return
+
+ src.damage_percent_lost_per_hit = damage_percent_lost_per_hit
+ src.turf_hit_slow_mult = turf_hit_slow_mult
+
+/datum/element/bullet_trait_penetrating/weak/handle_passthrough_movables(obj/projectile/bullet, atom/movable/hit_movable, did_hit)
+ if(did_hit)
+ var/slow_mult = 1
+ if(ismob(hit_movable))
+ var/mob/mob = hit_movable
+ if(mob.mob_size >= MOB_SIZE_BIG) // Big Xenos (including fortified Defender) can soak hits and greatly reduce penetration.
+ slow_mult = 2 // 8 tiles of range lost per Big hit. At point blank, this comes out to only 3 targets. At sniping ranges, even a single one can stop the bullet dead.
+
+ bullet.distance_travelled += (distance_loss_per_hit * slow_mult)
+
+ bullet.damage -= (damage_percent_lost_per_hit * slow_mult)
+
+ return COMPONENT_BULLET_PASS_THROUGH
+
+
+/datum/element/bullet_trait_penetrating/weak/handle_passthrough_turf(obj/projectile/bullet, turf/closed/wall/hit_wall)
+ var/slow_mult = turf_hit_slow_mult
+
+ // Better penetration against Membranes to still be able to counter Boilers at most ranges. Still loses 4 tiles of range and 25 damage per.
+ if(istype(hit_wall, /turf/closed/wall/resin/membrane))
+ if(istype(hit_wall, /turf/closed/wall/resin/membrane/thick))
+ slow_mult = 1.5
+ else
+ slow_mult = 1
+
+ bullet.distance_travelled += (distance_loss_per_hit * slow_mult)
+
+ bullet.damage *= (1 - (damage_percent_lost_per_hit * slow_mult * 0.01))
+
+ if(!istype(hit_wall))
+ return COMPONENT_BULLET_PASS_THROUGH
+
+ if(!hit_wall.hull)
+ return COMPONENT_BULLET_PASS_THROUGH
diff --git a/code/datums/elements/strippable.dm b/code/datums/elements/strippable.dm
new file mode 100644
index 000000000000..e0daaee74a8c
--- /dev/null
+++ b/code/datums/elements/strippable.dm
@@ -0,0 +1,536 @@
+/// An element for atoms that, when dragged and dropped onto a mob, opens a strip panel.
+/datum/element/strippable
+ element_flags = ELEMENT_BESPOKE | ELEMENT_DETACH
+ id_arg_index = 2
+
+ /// An assoc list of keys to /datum/strippable_item
+ var/list/items
+
+ /// A proc path that returns TRUE/FALSE if we should show the strip panel for this entity.
+ /// If it does not exist, the strip menu will always show.
+ /// Will be called with (mob/user).
+ var/should_strip_proc_path
+
+ /// An existing strip menus
+ var/list/strip_menus
+
+/datum/element/strippable/Attach(datum/target, list/items, should_strip_proc_path)
+ . = ..()
+ if (!isatom(target))
+ return ELEMENT_INCOMPATIBLE
+
+ RegisterSignal(target, COMSIG_ATOM_DROP_ON, PROC_REF(mouse_drop_onto))
+
+ src.items = items
+ src.should_strip_proc_path = should_strip_proc_path
+
+/datum/element/strippable/Detach(datum/source, force)
+ . = ..()
+
+ UnregisterSignal(source, COMSIG_ATOM_DROP_ON)
+
+ if (!isnull(strip_menus))
+ QDEL_NULL(strip_menus[source])
+
+/datum/element/strippable/proc/mouse_drop_onto(datum/source, atom/over, mob/user)
+ SIGNAL_HANDLER
+ if (user == source)
+ return
+
+ if (over == source)
+ return
+
+ var/mob/overmob = over
+ if (!ishuman(overmob))
+ return
+
+ if (!overmob.Adjacent(source))
+ return
+
+ if (!overmob.client)
+ return
+
+ if (overmob.client != user)
+ return
+
+ if (!isnull(should_strip_proc_path) && !call(source, should_strip_proc_path)(overmob))
+ return
+
+ var/datum/strip_menu/strip_menu
+
+ if (isnull(strip_menu))
+ strip_menu = new(source, src)
+ LAZYSET(strip_menus, source, strip_menu)
+
+ INVOKE_ASYNC(strip_menu, PROC_REF(tgui_interact), overmob)
+
+/// A representation of an item that can be stripped down
+/datum/strippable_item
+ /// The STRIPPABLE_ITEM_* key
+ var/key
+
+ /// Should we warn about dangerous clothing?
+ var/warn_dangerous_clothing = TRUE
+
+/// Gets the item from the given source.
+/datum/strippable_item/proc/get_item(atom/source)
+
+/// Tries to equip the item onto the given source.
+/// Returns TRUE/FALSE depending on if it is allowed.
+/// This should be used for checking if an item CAN be equipped.
+/// It should not perform the equipping itself.
+/datum/strippable_item/proc/try_equip(atom/source, obj/item/equipping, mob/user)
+ if ((equipping.flags_item & ITEM_ABSTRACT))
+ return FALSE
+ if ((equipping.flags_item & NODROP))
+ to_chat(user, SPAN_WARNING("You can't put [equipping] on [source], it's stuck to your hand!"))
+ return FALSE
+ if (ishuman(source))
+ var/mob/living/carbon/human/sourcehuman = source
+ if(HAS_TRAIT(sourcehuman, TRAIT_UNSTRIPPABLE) && !sourcehuman.is_mob_incapacitated())
+ to_chat(src, SPAN_DANGER("[sourcehuman] is too strong to force [equipping] onto them!"))
+ return
+ return TRUE
+
+/// Start the equipping process. This is the proc you should yield in.
+/// Returns TRUE/FALSE depending on if it is allowed.
+/datum/strippable_item/proc/start_equip(atom/source, obj/item/equipping, mob/user)
+ source.visible_message(
+ SPAN_NOTICE("[user] tries to put [equipping] on [source]."),
+ SPAN_NOTICE("[user] tries to put [equipping] on you.")
+ )
+
+ if (ismob(source))
+ var/mob/sourcemob = source
+ sourcemob.attack_log += text("\[[time_stamp()]\] [key_name(sourcemob)] is having [equipping] put on them by [key_name(user)]")
+ user.attack_log += text("\[[time_stamp()]\] [key_name(user)] is putting [equipping] on [key_name(sourcemob)]")
+
+ return TRUE
+
+/// The proc that places the item on the source. This should not yield.
+/datum/strippable_item/proc/finish_equip(atom/source, obj/item/equipping, mob/user)
+ SHOULD_NOT_SLEEP(TRUE)
+
+/// Tries to unequip the item from the given source.
+/// Returns TRUE/FALSE depending on if it is allowed.
+/// This should be used for checking if it CAN be unequipped.
+/// It should not perform the unequipping itself.
+/datum/strippable_item/proc/try_unequip(atom/source, mob/user)
+ SHOULD_NOT_SLEEP(TRUE)
+
+ var/obj/item/item = get_item(source)
+ if (isnull(item))
+ return FALSE
+
+ if (user.action_busy && !skillcheck(user, SKILL_POLICE, SKILL_POLICE_SKILLED))
+ to_chat(user, SPAN_WARNING("You can't do this right now."))
+ return FALSE
+
+ if ((item.flags_inventory & CANTSTRIP) || ((item.flags_item & NODROP) && !(item.flags_item & FORCEDROP_CONDITIONAL)) || (item.flags_item & ITEM_ABSTRACT))
+ return FALSE
+
+ if (ishuman(source))
+ var/mob/living/carbon/human/sourcehuman = source
+ if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (sourcehuman.stat == DEAD || sourcehuman.health < HEALTH_THRESHOLD_CRIT) && !sourcehuman.get_target_lock(user.faction_group))
+ to_chat(user, SPAN_WARNING("You can't strip items of a crit or dead member of another faction!"))
+ return FALSE
+
+ if(HAS_TRAIT(sourcehuman, TRAIT_UNSTRIPPABLE) && !sourcehuman.is_mob_incapacitated())
+ to_chat(src, SPAN_DANGER("[sourcehuman] has an unbreakable grip on their equipment!"))
+ return
+
+ return TRUE
+
+/// Start the unequipping process. This is the proc you should yield in.
+/// Returns TRUE/FALSE depending on if it is allowed.
+/datum/strippable_item/proc/start_unequip(atom/source, mob/user)
+ var/obj/item/item = get_item(source)
+ if (isnull(item))
+ return FALSE
+
+ source.visible_message(
+ SPAN_WARNING("[user] tries to remove [source]'s [item]."),
+ SPAN_DANGER("[user] tries to remove your [item].")
+ )
+
+ if (ismob(source))
+ var/mob/sourcemob = source
+ sourcemob.attack_log += text("\[[time_stamp()]\] [key_name(sourcemob)] is being stripped of [item] by [key_name(user)]")
+ user.attack_log += text("\[[time_stamp()]\] [key_name(user)] is stripping [key_name(sourcemob)] of [item]")
+
+ item.add_fingerprint(user)
+
+ return TRUE
+
+/// The proc that unequips the item from the source. This should not yield.
+/datum/strippable_item/proc/finish_unequip(atom/source, mob/user)
+
+/// Returns a STRIPPABLE_OBSCURING_* define to report on whether or not this is obscured.
+/datum/strippable_item/proc/get_obscuring(atom/source)
+ SHOULD_NOT_SLEEP(TRUE)
+ return STRIPPABLE_OBSCURING_NONE
+
+/// Returns the ID of this item's strippable action.
+/// Return `null` if there is no alternate action.
+/// Any return value of this must be in StripMenu.
+/datum/strippable_item/proc/get_alternate_action(atom/source, mob/user)
+ return null
+
+/// Performs an alternative action on this strippable_item.
+/// `has_alternate_action` needs to be TRUE.
+/datum/strippable_item/proc/alternate_action(atom/source, mob/user)
+
+/// Returns whether or not this item should show.
+/datum/strippable_item/proc/should_show(atom/source, mob/user)
+ return TRUE
+
+/// A preset for equipping items onto mob slots
+/datum/strippable_item/mob_item_slot
+ /// The ITEM_SLOT_* to equip to.
+ var/item_slot
+
+/datum/strippable_item/proc/has_no_item_alt_action()
+ return FALSE
+
+/datum/strippable_item/mob_item_slot/get_item(atom/source)
+ if (!ismob(source))
+ return null
+
+ var/mob/mob_source = source
+ return mob_source.get_item_by_slot(key)
+
+/datum/strippable_item/mob_item_slot/try_equip(atom/source, obj/item/equipping, mob/user)
+ . = ..()
+ if (!.)
+ return
+
+ if (!ismob(source))
+ return FALSE
+ if (user.action_busy)
+ to_chat(user, SPAN_WARNING("You can't do this right now."))
+ return FALSE
+ if (!equipping.mob_can_equip(
+ source,
+ key
+ ))
+ to_chat(user, SPAN_WARNING("\The [equipping] doesn't fit in that place!"))
+ return FALSE
+ if(equipping.flags_item & WIELDED)
+ equipping.unwield(user)
+ return TRUE
+
+/datum/strippable_item/mob_item_slot/start_equip(atom/source, obj/item/equipping, mob/user)
+ . = ..()
+ if (!.)
+ return
+
+ if (!ismob(source))
+ return FALSE
+
+ var/time_to_strip = HUMAN_STRIP_DELAY
+ var/mob/sourcemob = source
+
+ if (ishuman(sourcemob) && ishuman(user))
+ var/mob/living/carbon/human/sourcehuman = sourcemob
+ var/mob/living/carbon/human/userhuman = user
+ time_to_strip = userhuman.get_strip_delay(userhuman, sourcehuman)
+
+ if (!do_after(user, time_to_strip, INTERRUPT_ALL, BUSY_ICON_FRIENDLY, source, INTERRUPT_MOVED, BUSY_ICON_FRIENDLY))
+ return FALSE
+
+ if (!equipping.mob_can_equip(
+ sourcemob,
+ key
+ ))
+ return FALSE
+
+ if (!user.temp_drop_inv_item(equipping))
+ return FALSE
+
+ return TRUE
+
+/datum/strippable_item/mob_item_slot/finish_equip(atom/source, obj/item/equipping, mob/user)
+ if (!ismob(source))
+ return FALSE
+
+ var/mob/sourcemob = source
+ sourcemob.equip_to_slot_if_possible(equipping, key)
+
+/datum/strippable_item/mob_item_slot/get_obscuring(atom/source)
+ return FALSE
+
+/datum/strippable_item/mob_item_slot/start_unequip(atom/source, mob/user)
+ . = ..()
+ if (!.)
+ return
+
+ return start_unequip_mob(get_item(source), source, user)
+
+/datum/strippable_item/mob_item_slot/finish_unequip(atom/source, mob/user)
+ var/obj/item/item = get_item(source)
+ if (isnull(item))
+ return FALSE
+
+ if (!ismob(source))
+ return FALSE
+
+ return finish_unequip_mob(item, source, user)
+
+/// A utility function for `/datum/strippable_item`s to start unequipping an item from a mob.
+/datum/strippable_item/mob_item_slot/proc/start_unequip_mob(obj/item/item, mob/living/carbon/human/source, mob/living/carbon/human/user)
+ var/time_to_strip = HUMAN_STRIP_DELAY
+
+ if (istype(source) && istype(user))
+ time_to_strip = user.get_strip_delay(user, source)
+
+ if (!do_after(user, time_to_strip, INTERRUPT_ALL, BUSY_ICON_HOSTILE, source, INTERRUPT_MOVED, BUSY_ICON_HOSTILE))
+ return FALSE
+
+ return TRUE
+
+/// A utility function for `/datum/strippable_item`s to finish unequipping an item from a mob.
+/datum/strippable_item/mob_item_slot/proc/finish_unequip_mob(obj/item/item, mob/source, mob/user)
+ if (!source.drop_inv_item_on_ground(item, force = (item.flags_item & FORCEDROP_CONDITIONAL))) //force if we can drop the item in this case
+ return FALSE
+
+ if (ismob(source))
+ var/mob/sourcemob = source
+ sourcemob.attack_log += text("\[[time_stamp()]\] [key_name(sourcemob)] has been stripped of [item] by [key_name(user)]")
+ user.attack_log += text("\[[time_stamp()]\] [key_name(user)] has been stripped of [key_name(sourcemob)] of [item]")
+
+ // Updates speed in case stripped speed affecting item
+ source.recalculate_move_delay = TRUE
+
+/// A representation of the stripping UI
+/datum/strip_menu
+ /// The owner who has the element /datum/element/strippable
+ var/atom/movable/owner
+
+ /// The strippable element itself
+ var/datum/element/strippable/strippable
+
+ /// A lazy list of user mobs to a list of strip menu keys that they're interacting with
+ var/list/interactions
+
+/datum/strip_menu/New(atom/movable/owner, datum/element/strippable/strippable)
+ . = ..()
+ src.owner = owner
+ src.strippable = strippable
+
+/datum/strip_menu/Destroy()
+ owner = null
+ strippable = null
+
+ return ..()
+
+/datum/strip_menu/tgui_interact(mob/user, datum/tgui/ui)
+ . = ..()
+ ui = SStgui.try_update_ui(user, src, ui)
+ if (!ui)
+ ui = new(user, src, "StripMenu")
+ ui.open()
+
+
+/datum/strip_menu/ui_assets(mob/user)
+ return list(
+ get_asset_datum(/datum/asset/simple/inventory),
+ )
+
+/datum/strip_menu/ui_data(mob/user)
+ var/list/data = list()
+
+ var/list/items = list()
+
+ for (var/strippable_key in strippable.items)
+ var/datum/strippable_item/item_data = strippable.items[strippable_key]
+
+ if (!item_data.should_show(owner, user))
+ continue
+
+ var/list/result
+
+ if(strippable_key in LAZYACCESS(interactions, user))
+ LAZYSET(result, "interacting", TRUE)
+
+ var/obscuring = item_data.get_obscuring(owner)
+ if (obscuring != STRIPPABLE_OBSCURING_NONE)
+ LAZYSET(result, "obscured", obscuring)
+ items[strippable_key] = result
+ continue
+
+ var/obj/item/item = item_data.get_item(owner)
+ if (isnull(item))
+ if (item_data.has_no_item_alt_action())
+ LAZYINITLIST(result)
+ result["no_item_action"] = item_data.get_alternate_action(owner, user)
+ items[strippable_key] = result
+ continue
+
+ LAZYINITLIST(result)
+
+ result["icon"] = icon2base64(icon(item.icon, item.icon_state, frame = 1))
+ result["name"] = item.name
+ result["alternate"] = item_data.get_alternate_action(owner, user)
+
+ items[strippable_key] = result
+
+ data["items"] = items
+
+ // While most `\the`s are implicit, this one is not.
+ // In this case, `\The` would otherwise be used.
+ // This doesn't match with what it's used for, which is to say "Stripping the alien drone",
+ // as opposed to "Stripping The alien drone".
+ // Human names will still show without "the", as they are proper nouns.
+ data["name"] = "\the [owner]"
+
+ return data
+
+/datum/strip_menu/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
+ . = ..()
+ if (.)
+ return
+
+ . = TRUE
+
+ var/mob/user = ui.user
+
+ switch (action)
+ if ("equip")
+ var/key = params["key"]
+ var/datum/strippable_item/strippable_item = strippable.items[key]
+
+ if (isnull(strippable_item))
+ return
+
+ if (!strippable_item.should_show(owner, user))
+ return
+
+ if (strippable_item.get_obscuring(owner) == STRIPPABLE_OBSCURING_COMPLETELY)
+ return
+
+ var/item = strippable_item.get_item(owner)
+ if (!isnull(item))
+ return
+
+ var/obj/item/held_item = user.get_held_item()
+ if (isnull(held_item))
+ return
+
+ if (!strippable_item.try_equip(owner, held_item, user))
+ return
+
+ LAZYORASSOCLIST(interactions, user, key)
+
+ // Yielding call
+ var/should_finish = strippable_item.start_equip(owner, held_item, user)
+
+ LAZYREMOVEASSOC(interactions, user, key)
+
+ if (!should_finish)
+ return
+
+ if (QDELETED(src) || QDELETED(owner))
+ return
+
+ // They equipped an item in the meantime
+ if (!isnull(strippable_item.get_item(owner)))
+ return
+
+ if (!user.Adjacent(owner))
+ return
+
+ strippable_item.finish_equip(owner, held_item, user)
+ if ("strip")
+ var/key = params["key"]
+ var/datum/strippable_item/strippable_item = strippable.items[key]
+
+ if (isnull(strippable_item))
+ return
+
+ if (!strippable_item.should_show(owner, user))
+ return
+
+ if (strippable_item.get_obscuring(owner) == STRIPPABLE_OBSCURING_COMPLETELY)
+ return
+
+ var/item = strippable_item.get_item(owner)
+ if (isnull(item))
+ return
+
+ if (!strippable_item.try_unequip(owner, user))
+ return
+
+ LAZYORASSOCLIST(interactions, user, key)
+
+ var/should_unequip = strippable_item.start_unequip(owner, user)
+
+ LAZYREMOVEASSOC(interactions, user, key)
+
+ // Yielding call
+ if (!should_unequip)
+ return
+
+ if (QDELETED(src) || QDELETED(owner))
+ return
+
+ // They changed the item in the meantime
+ if (strippable_item.get_item(owner) != item)
+ return
+
+ if (!user.Adjacent(owner))
+ return
+
+ strippable_item.finish_unequip(owner, user)
+ if ("alt")
+ var/key = params["key"]
+ var/datum/strippable_item/strippable_item = strippable.items[key]
+
+ if (isnull(strippable_item))
+ return
+
+ if (!strippable_item.should_show(owner, user))
+ return
+
+ if (strippable_item.get_obscuring(owner) == STRIPPABLE_OBSCURING_COMPLETELY)
+ return
+
+ var/item = strippable_item.get_item(owner)
+ if (isnull(item) && !strippable_item.has_no_item_alt_action())
+ return
+
+ if (isnull(strippable_item.get_alternate_action(owner, user)))
+ return
+
+ LAZYORASSOCLIST(interactions, user, key)
+
+ // Potentially yielding
+ strippable_item.alternate_action(owner, user)
+
+ LAZYREMOVEASSOC(interactions, user, key)
+
+/datum/strip_menu/ui_host(mob/user)
+ return owner
+
+/datum/strip_menu/ui_status(mob/user, datum/ui_state/state)
+ . = ..()
+
+ if (isliving(user))
+ var/mob/living/living_user = user
+
+ if (
+ . == UI_UPDATE \
+ && user.stat == CONSCIOUS \
+ && living_user.body_position == LYING_DOWN \
+ && user.Adjacent(owner)
+ )
+ return UI_INTERACTIVE
+
+/// Creates an assoc list of keys to /datum/strippable_item
+/proc/create_strippable_list(types)
+ var/list/strippable_items = list()
+
+ for (var/strippable_type in types)
+ var/datum/strippable_item/strippable_item = new strippable_type
+ strippable_items[strippable_item.key] = strippable_item
+
+ return strippable_items
diff --git a/code/datums/emergency_calls/cmb.dm b/code/datums/emergency_calls/cmb.dm
index feb31cf0fe16..bbe2e161842a 100644
--- a/code/datums/emergency_calls/cmb.dm
+++ b/code/datums/emergency_calls/cmb.dm
@@ -54,7 +54,7 @@
print_backstory(mob)
- addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)
/datum/emergency_call/cmb/print_backstory(mob/living/carbon/human/M)
@@ -160,7 +160,7 @@
print_backstory(mob)
- addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)
/datum/emergency_call/cmb/anchorpoint/print_backstory(mob/living/carbon/human/M)
diff --git a/code/datums/emergency_calls/deathsquad.dm b/code/datums/emergency_calls/deathsquad.dm
index 66e9a377a8bc..649f40c8cb83 100644
--- a/code/datums/emergency_calls/deathsquad.dm
+++ b/code/datums/emergency_calls/deathsquad.dm
@@ -88,84 +88,44 @@
//################################################################################################
// Marine commandos - USCM Deathsquad. Event only
/datum/emergency_call/marsoc
- name = "Marine Raider Strike Team (!DEATHSQUAD!)"
+ name = "Marine Raider Operatives (!DEATHSQUAD!)"
mob_max = 8
mob_min = 5
probability = 0
shuttle_id = MOBILE_SHUTTLE_ID_ERT2
home_base = /datum/lazy_template/ert/weyland_station
name_of_spawn = /obj/effect/landmark/ert_spawns/distress_pmc
+ var/leader_preset = /datum/equipment_preset/uscm/marsoc/sl
+ var/member_preset = /datum/equipment_preset/uscm/marsoc
-/datum/emergency_call/marsoc/create_member(datum/mind/M, turf/override_spawn_loc)
+/datum/emergency_call/marsoc/create_member(datum/mind/player, turf/override_spawn_loc)
var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point()
if(!istype(spawn_loc))
return //Didn't find a useable spawn point.
- var/mob/living/carbon/human/H = new(spawn_loc)
- M.transfer_to(H, TRUE)
+ var/mob/living/carbon/human/member = new(spawn_loc)
+ player.transfer_to(member, TRUE)
- if(!leader && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(H.client, JOB_SQUAD_LEADER, time_required_for_job)) //First one spawned is always the leader.
- leader = H
- to_chat(H, SPAN_WARNING(FONT_SIZE_BIG("You are a Marine Raider Team Leader, better than all the rest.")))
- arm_equipment(H, /datum/equipment_preset/uscm/marsoc/sl, TRUE, TRUE)
+ if(!leader && HAS_FLAG(member.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(member.client, JOB_SQUAD_LEADER, time_required_for_job)) //First one spawned is always the leader.
+ leader = member
+ to_chat(member, SPAN_WARNING(FONT_SIZE_BIG("You are a Marine Raider Team Leader, better than all the rest.")))
+ arm_equipment(member, leader_preset, TRUE, TRUE)
else
- to_chat(H, SPAN_WARNING(FONT_SIZE_BIG("You are an elite Marine Raider Operative, the best of the best.")))
- arm_equipment(H, /datum/equipment_preset/uscm/marsoc, TRUE, TRUE)
- to_chat(H, SPAN_BOLDNOTICE("You are absolutely loyal to High Command and must follow their directives."))
- to_chat(H, SPAN_BOLDNOTICE("Execute the mission assigned to you with extreme prejudice!"))
+ to_chat(member, SPAN_WARNING(FONT_SIZE_BIG("You are an elite Marine Raider Operative, the best of the best.")))
+ arm_equipment(member, member_preset, TRUE, TRUE)
+ to_chat(member, SPAN_BOLDNOTICE("You are absolutely loyal to High Command and must follow their directives."))
+ to_chat(member, SPAN_BOLDNOTICE("Execute the mission assigned to you with extreme prejudice!"))
return
-/datum/emergency_call/marsoc_covert
+/datum/emergency_call/marsoc/covert
name = "Marine Raider Operatives (!DEATHSQUAD! Covert)"
- mob_max = 8
- mob_min = 5
- probability = 0
- shuttle_id = MOBILE_SHUTTLE_ID_ERT2
- name_of_spawn = /obj/effect/landmark/ert_spawns/distress_pmc
- home_base = /datum/lazy_template/ert/weyland_station
-
-/datum/emergency_call/marsoc_covert/create_member(datum/mind/M)
-
- var/turf/spawn_loc = get_spawn_point()
-
- if(!istype(spawn_loc))
- return //Didn't find a useable spawn point.
-
- var/mob/living/carbon/human/H = new(spawn_loc)
- M.transfer_to(H, TRUE)
- if(!leader && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(H.client, JOB_SQUAD_LEADER, time_required_for_job)) //First one spawned is always the leader.
- leader = H
- to_chat(H, SPAN_WARNING(FONT_SIZE_BIG("You are a Marine Raider Team Leader, better than all the rest.")))
- arm_equipment(H, /datum/equipment_preset/uscm/marsoc/sl/covert, TRUE, TRUE)
- else
- to_chat(H, SPAN_WARNING(FONT_SIZE_BIG("You are an elite Marine Raider, the best of the best.")))
- arm_equipment(H, /datum/equipment_preset/uscm/marsoc/covert, TRUE, TRUE)
- to_chat(H, SPAN_BOLDNOTICE("You are absolutely loyal to High Command and must follow their directives."))
- to_chat(H, SPAN_BOLDNOTICE("Execute the mission assigned to you with extreme prejudice!"))
- return
+ leader_preset = /datum/equipment_preset/uscm/marsoc/sl/covert
+ member_preset = /datum/equipment_preset/uscm/marsoc/covert
/datum/emergency_call/marsoc/low_threat
name = "Marine Raider Operatives"
-
-/datum/emergency_call/marsoc/low_threat/create_member(datum/mind/MIND)
-
- var/turf/spawn_loc = get_spawn_point()
-
- if(!istype(spawn_loc))
- return //Didn't find a useable spawn point.
-
- var/mob/living/carbon/human/player = new(spawn_loc)
- MIND.transfer_to(player, TRUE)
- if(!leader && HAS_FLAG(player.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(player.client, JOB_SQUAD_LEADER, time_required_for_job)) //First one spawned is always the leader.
- leader = player
- to_chat(player, SPAN_WARNING(FONT_SIZE_BIG("You are a Marine Raider Team Leader, better than all the rest.")))
- arm_equipment(player, /datum/equipment_preset/uscm/marsoc/low_threat/sl, TRUE, TRUE)
- else
- to_chat(player, SPAN_WARNING(FONT_SIZE_BIG("You are an elite Marine Raider, the best of the best.")))
- arm_equipment(player, /datum/equipment_preset/uscm/marsoc/low_threat, TRUE, TRUE)
- to_chat(player, SPAN_BOLDNOTICE("You are absolutely loyal to High Command and must follow their directives."))
- to_chat(player, SPAN_BOLDNOTICE("Execute the mission assigned to you with extreme prejudice!"))
- return
+ leader_preset = /datum/equipment_preset/uscm/marsoc/low_threat/sl
+ member_preset = /datum/equipment_preset/uscm/marsoc/low_threat
diff --git a/code/datums/emergency_calls/ert_stations.dm b/code/datums/emergency_calls/ert_stations.dm
index 3e7874572365..312ceeaf9eed 100644
--- a/code/datums/emergency_calls/ert_stations.dm
+++ b/code/datums/emergency_calls/ert_stations.dm
@@ -12,3 +12,6 @@
/datum/lazy_template/ert/weyland_station
map_name = "weyland_ert_station"
+
+/datum/lazy_template/ert/pizza_station
+ map_name = "pizza_ert_station"
diff --git a/code/datums/emergency_calls/inspection.dm b/code/datums/emergency_calls/inspection.dm
index 031a9f210761..e473466f4fb8 100644
--- a/code/datums/emergency_calls/inspection.dm
+++ b/code/datums/emergency_calls/inspection.dm
@@ -258,7 +258,7 @@
print_backstory(mob)
- addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)
/datum/emergency_call/inspection_cmb/print_backstory(mob/living/carbon/human/M)
@@ -341,4 +341,4 @@
print_backstory(mob)
- addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)
diff --git a/code/datums/emergency_calls/pizza.dm b/code/datums/emergency_calls/pizza.dm
index a2c312887dc9..a0d710f455f9 100644
--- a/code/datums/emergency_calls/pizza.dm
+++ b/code/datums/emergency_calls/pizza.dm
@@ -8,6 +8,7 @@
objectives = "Make sure you get a tip!"
shuttle_id = MOBILE_SHUTTLE_ID_ERT_SMALL
name_of_spawn = /obj/effect/landmark/ert_spawns/distress_pizza
+ home_base = /datum/lazy_template/ert/pizza_station
probability = 1
/datum/emergency_call/pizza/create_member(datum/mind/M, turf/override_spawn_loc)
diff --git a/code/datums/emergency_calls/xeno_cultists.dm b/code/datums/emergency_calls/xeno_cultists.dm
index f112511b5e22..5a69c4002105 100644
--- a/code/datums/emergency_calls/xeno_cultists.dm
+++ b/code/datums/emergency_calls/xeno_cultists.dm
@@ -34,4 +34,4 @@
arm_equipment(H, /datum/equipment_preset/other/xeno_cultist, TRUE, TRUE)
print_backstory(H)
- addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), H, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), H, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS)
diff --git a/code/datums/entities/player.dm b/code/datums/entities/player.dm
index f30c01b3128b..aefa81672b54 100644
--- a/code/datums/entities/player.dm
+++ b/code/datums/entities/player.dm
@@ -455,15 +455,19 @@ BSQL_PROTECT_DATUM(/datum/entity/player)
LAZYSET(stats, S.stat_id, S)
/datum/entity/player/proc/load_byond_account_age()
- var/datum/http_request/request = new()
- request.prepare(RUSTG_HTTP_METHOD_GET, "https://www.byond.com/members/[ckey]?format=text")
- request.execute_blocking()
- var/datum/http_response/response = request.into_response()
- if(response.errored)
+ var/list/http_request = world.Export("http://byond.com/members/[ckey]?format=text")
+ if(!http_request)
+ log_admin("Could not check BYOND account age for [ckey] - no response from server.")
+ return
+
+ var/body = file2text(http_request["CONTENT"])
+ if(!body)
+ log_admin("Could not check BYOND account age for [ckey] - invalid response.")
return
var/static/regex/regex = regex("joined = \"(\\d{4}-\\d{2}-\\d{2})\"")
- if(!regex.Find(response.body))
+ if(!regex.Find(body))
+ log_admin("Could not check BYOND account age for [ckey] - no valid date in response.")
return
byond_account_age = regex.group[1]
diff --git a/code/datums/factions/uscm.dm b/code/datums/factions/uscm.dm
index 0a9b0cff40b9..a19faba32d81 100644
--- a/code/datums/factions/uscm.dm
+++ b/code/datums/factions/uscm.dm
@@ -22,7 +22,8 @@
if(JOB_XO) marine_rk = "xo"
if(JOB_CO) marine_rk = "co"
if(JOB_GENERAL) marine_rk = "general"
- if(JOB_PILOT) marine_rk = "po"
+ if(JOB_CAS_PILOT) marine_rk = "gp"
+ if(JOB_DROPSHIP_PILOT) marine_rk = "dp"
if(JOB_INTEL) marine_rk = "io"
if(JOB_DROPSHIP_CREW_CHIEF) marine_rk = "dcc"
if(JOB_CREWMAN) marine_rk = "tc"
@@ -85,8 +86,10 @@
border_rk = "command"
if(JOB_INTEL)
marine_rk = "io"
- if(JOB_PILOT)
- marine_rk = "po"
+ if(JOB_CAS_PILOT)
+ marine_rk = "gp"
+ if(JOB_DROPSHIP_PILOT)
+ marine_rk = "dp"
if(JOB_DROPSHIP_CREW_CHIEF)
marine_rk = "dcc"
if(JOB_CHIEF_POLICE)
diff --git a/code/datums/keybinding/human.dm b/code/datums/keybinding/human.dm
index 6d7037eac398..810ee828880b 100644
--- a/code/datums/keybinding/human.dm
+++ b/code/datums/keybinding/human.dm
@@ -120,11 +120,18 @@
if(.)
return
+ // Get the user's marine helmet (if they're wearing one)
var/mob/living/carbon/human/human_user = user.mob
- var/obj/item/clothing/head/helmet/marine/marine_helmet = human_user?.head
- var/cycled_hud = marine_helmet?.cycle_huds(human_user)
+ var/obj/item/clothing/head/helmet/marine/marine_helmet = human_user.head
+ if(!istype(marine_helmet))
+ // If their hat isn't a marine helmet, or is null, return.
+ return
+
+ // Cycle the HUD on the helmet.
+ var/cycled_hud = marine_helmet.cycle_huds(human_user)
+ // Update the helmet's 'cycle hud' action button
var/datum/action/item_action/cycle_helmet_huds/cycle_action = locate() in marine_helmet.actions
- cycle_action.set_action_overlay(cycled_hud)
+ cycle_action?.set_action_overlay(cycled_hud)
return TRUE
diff --git a/code/datums/keybinding/mob.dm b/code/datums/keybinding/mob.dm
index b2bf989a7aaf..100f546ba590 100644
--- a/code/datums/keybinding/mob.dm
+++ b/code/datums/keybinding/mob.dm
@@ -73,7 +73,22 @@
user.mob.drop_held_item(I)
return TRUE
-/datum/keybinding/mob/target_head_cycle
+// Parent type of the bodypart targeting keybinds
+/datum/keybinding/mob/target
+
+/datum/keybinding/mob/target/down(client/user)
+ . = ..()
+ if(. || !user.mob)
+ return
+
+ user.mob.select_body_zone(get_target_zone(user))
+ return TRUE
+
+/// Returns the body zone which should be targeted when pressing this keybind.
+/datum/keybinding/mob/target/proc/get_target_zone(client/user)
+ return
+
+/datum/keybinding/mob/target/head_cycle
hotkey_keys = list("Numpad8")
classic_keys = list("Numpad8")
name = "target_head_cycle"
@@ -81,14 +96,16 @@
description = "Pressing this key targets the head, and continued presses will cycle to the eyes and mouth. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETCYCLEHEAD_DOWN
-/datum/keybinding/mob/target_head_cycle/down(client/user)
- . = ..()
- if(.)
- return
- user.mob.a_select_zone("head", user)
- return TRUE
+/datum/keybinding/mob/target/head_cycle/get_target_zone(client/user)
+ switch(user.mob.zone_selected)
+ if("head")
+ return "eyes"
+ if("eyes")
+ return "mouth"
+ else // including if("mouth")
+ return "head"
-/datum/keybinding/mob/target_r_arm
+/datum/keybinding/mob/target/r_arm
hotkey_keys = list("Numpad4")
classic_keys = list("Numpad4")
name = "target_r_arm"
@@ -96,14 +113,12 @@
description = "Pressing this key targets the right arm. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETRIGHTARM_DOWN
-/datum/keybinding/mob/target_r_arm/down(client/user)
- . = ..()
- if(.)
- return
- user.mob.a_select_zone("rarm", user)
- return TRUE
+/datum/keybinding/mob/target/r_arm/get_target_zone(client/user)
+ if(user.mob.zone_selected == "r_arm")
+ return "r_hand"
+ return "r_arm"
-/datum/keybinding/mob/target_body_chest
+/datum/keybinding/mob/target/body_chest
hotkey_keys = list("Numpad5")
classic_keys = list("Numpad5")
name = "target_body_chest"
@@ -111,14 +126,10 @@
description = "Pressing this key targets the body. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETBODYCHEST_DOWN
-/datum/keybinding/mob/target_body_chest/down(client/user)
- . = ..()
- if(.)
- return
- user.mob.a_select_zone("chest", user)
- return TRUE
+/datum/keybinding/mob/target/body_chest/get_target_zone(client/user)
+ return "chest"
-/datum/keybinding/mob/target_left_arm
+/datum/keybinding/mob/target/left_arm
hotkey_keys = list("Numpad6")
classic_keys = list("Numpad6")
name = "target_left_arm"
@@ -126,14 +137,12 @@
description = "Pressing this key targets the body. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETLEFTARM_DOWN
-/datum/keybinding/mob/target_left_arm/down(client/user)
- . = ..()
- if(.)
- return
- user.mob.a_select_zone("larm", user)
- return TRUE
+/datum/keybinding/mob/target/left_arm/get_target_zone(client/user)
+ if(user.mob.zone_selected == "l_arm")
+ return "l_hand"
+ return "l_arm"
-/datum/keybinding/mob/target_right_leg
+/datum/keybinding/mob/target/right_leg
hotkey_keys = list("Numpad1")
classic_keys = list("Numpad1")
name = "target_right_leg"
@@ -141,14 +150,12 @@
description = "Pressing this key targets the right leg. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETRIGHTLEG_DOWN
-/datum/keybinding/mob/target_right_leg/down(client/user)
- . = ..()
- if(.)
- return
- user.mob.a_select_zone("rleg", user)
- return TRUE
+/datum/keybinding/mob/target/right_leg/get_target_zone(client/user)
+ if(user.mob.zone_selected == "r_leg")
+ return "r_foot"
+ return "r_leg"
-/datum/keybinding/mob/target_body_groin
+/datum/keybinding/mob/target/body_groin
hotkey_keys = list("Numpad2")
classic_keys = list("Numpad2")
name = "target_body_groin"
@@ -156,14 +163,10 @@
description = "Pressing this key targets the groin. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETBODYGROIN_DOWN
-/datum/keybinding/mob/target_body_groin/down(client/user)
- . = ..()
- if(.)
- return
- user.mob.a_select_zone("groin", user)
- return TRUE
+/datum/keybinding/mob/target/body_groin/get_target_zone(client/user)
+ return "groin"
-/datum/keybinding/mob/target_left_leg
+/datum/keybinding/mob/target/left_leg
hotkey_keys = list("Numpad3")
classic_keys = list("Numpad3")
name = "target_left_leg"
@@ -171,14 +174,12 @@
description = "Pressing this key targets the left leg. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETLEFTLEG_DOWN
-/datum/keybinding/mob/target_left_leg/down(client/user)
- . = ..()
- if(.)
- return
- user.mob.a_select_zone("lleg", user)
- return TRUE
+/datum/keybinding/mob/target/left_leg/get_target_zone(client/user)
+ if(user.mob.zone_selected == "l_leg")
+ return "l_foot"
+ return "l_leg"
-/datum/keybinding/mob/target_next
+/datum/keybinding/mob/target/next
hotkey_keys = list("Numpad7")
classic_keys = list("Numpad7")
name = "target_next"
@@ -186,14 +187,10 @@
description = "Pressing this key targets the next body part, cycling forward through all of them. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETNEXT_DOWN
-/datum/keybinding/mob/target_next/down(client/user)
- . = ..()
- if(.)
- return
- user.mob.a_select_zone("next", user)
- return TRUE
+/datum/keybinding/mob/target/next/get_target_zone(client/user)
+ return next_in_list(user.mob.zone_selected, DEFENSE_ZONES_LIVING)
-/datum/keybinding/mob/target_prev
+/datum/keybinding/mob/target/prev
hotkey_keys = list("Numpad9")
classic_keys = list("Numpad9")
name = "target_prev"
@@ -201,12 +198,8 @@
description = "Pressing this key targets the previous body part, cycling backward through all of them. This will impact where you hit people, and can be used for surgery."
keybind_signal = COMSIG_KB_MOB_TARGETPREV_DOWN
-/datum/keybinding/mob/target_prev/down(client/user)
- . = ..()
- if(.)
- return
- user.mob.a_select_zone("prev", user)
- return TRUE
+/datum/keybinding/mob/target/prev/get_target_zone(client/user)
+ return prev_in_list(user.mob.zone_selected, DEFENSE_ZONES_LIVING)
/datum/keybinding/mob/prevent_movement
hotkey_keys = list("Ctrl", "Alt")
diff --git a/code/datums/map_config.dm b/code/datums/map_config.dm
index 9bcf4d677b6e..fc527f07a9e0 100644
--- a/code/datums/map_config.dm
+++ b/code/datums/map_config.dm
@@ -83,18 +83,20 @@
/datum/equipment_preset/synth/survivor/medical_synth,
/datum/equipment_preset/synth/survivor/emt_synth,
/datum/equipment_preset/synth/survivor/scientist_synth,
+ /datum/equipment_preset/synth/survivor/archaeologist_synth,
/datum/equipment_preset/synth/survivor/engineer_synth,
- /datum/equipment_preset/synth/survivor/janitor_synth,
/datum/equipment_preset/synth/survivor/chef_synth,
/datum/equipment_preset/synth/survivor/teacher_synth,
+ /datum/equipment_preset/synth/survivor/surveyor_synth,
/datum/equipment_preset/synth/survivor/freelancer_synth,
/datum/equipment_preset/synth/survivor/trucker_synth,
/datum/equipment_preset/synth/survivor/bartender_synth,
- /datum/equipment_preset/synth/survivor/detective_synth,
+ /datum/equipment_preset/synth/survivor/atc_synth,
/datum/equipment_preset/synth/survivor/cmb_synth,
/datum/equipment_preset/synth/survivor/wy/security_synth,
/datum/equipment_preset/synth/survivor/wy/protection_synth,
/datum/equipment_preset/synth/survivor/wy/corporate_synth,
+ /datum/equipment_preset/synth/survivor/icc_synth,
/datum/equipment_preset/synth/survivor/radiation_synth,
)
diff --git a/code/datums/mob_hud.dm b/code/datums/mob_hud.dm
index b7b5544777b3..5e57b8f5616c 100644
--- a/code/datums/mob_hud.dm
+++ b/code/datums/mob_hud.dm
@@ -185,7 +185,7 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list(
//Factions
/datum/mob_hud/faction
- hud_icons = list(FACTION_HUD, ORDER_HUD)
+ hud_icons = list(FACTION_HUD, ORDER_HUD, HOLOCARD_HUD)
var/faction_to_check = FACTION_MARINE
/datum/mob_hud/faction/add_to_single_hud(mob/user, mob/target)
@@ -209,7 +209,7 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list(
faction_to_check = FACTION_PMC
/datum/mob_hud/faction/observer
- hud_icons = list(FACTION_HUD, ORDER_HUD, HUNTER_CLAN)
+ hud_icons = list(FACTION_HUD, ORDER_HUD, HUNTER_CLAN, HOLOCARD_HUD)
///////// MOB PROCS //////////////////////////////:
@@ -753,7 +753,13 @@ GLOBAL_DATUM(hud_icon_hudfocus, /image)
holder.overlays += GLOB.hud_icon_hudfocus
hud_list[ORDER_HUD] = holder
+/mob/proc/hud_set_holocard()
+ return
+// HOLOCARD HUD
+/mob/living/carbon/human/hud_set_holocard()
+ var/image/holder = hud_list[HOLOCARD_HUD]
+ holder.icon_state = holo_card_color ? "holo_card_[holo_card_color]" : "hudblank"
// Xeno "hostile" HUD
/mob/living/carbon/human/proc/update_xeno_hostile_hud()
diff --git a/code/datums/skills/uscm.dm b/code/datums/skills/uscm.dm
index 8a6d2fd2c8c2..1e0dedf5dd05 100644
--- a/code/datums/skills/uscm.dm
+++ b/code/datums/skills/uscm.dm
@@ -292,6 +292,7 @@ COMMAND STAFF
SKILL_LEADERSHIP = SKILL_LEAD_EXPERT,
SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED,
SKILL_MEDICAL = SKILL_MEDICAL_MEDIC,
+ SKILL_SURGERY = SKILL_SURGERY_NOVICE,
SKILL_POLICE = SKILL_POLICE_FLASH,
SKILL_FIREMAN = SKILL_FIREMAN_TRAINED,
SKILL_VEHICLE = SKILL_VEHICLE_SMALL,
diff --git a/code/datums/supply_packs/spec_ammo.dm b/code/datums/supply_packs/spec_ammo.dm
index f0eb5ab9cea2..889d2e25b8af 100644
--- a/code/datums/supply_packs/spec_ammo.dm
+++ b/code/datums/supply_packs/spec_ammo.dm
@@ -109,8 +109,6 @@
containername = "M42A Incendiary Magazine Crate"
group = "Weapons Specialist Ammo"
-//XM43E1 - Disabled during testing per request.
-/*
/datum/supply_packs/ammo_amr_marksman
name = "XM43E1 anti-materiel rifle marksman magazines crate (x5)"
contains = list(
@@ -122,9 +120,9 @@
)
cost = 30
containertype = /obj/structure/closet/crate/ammo
- containername = "XM43E1 Anti-Materiel Magazine Crate"
- group = "Specialist Ammo"
-*/
+ containername = "XM43E1 Marksman Magazine Crate"
+ group = "Weapons Specialist Ammo"
+
//M4RA
/datum/supply_packs/ammo_scout_mix
diff --git a/code/defines/procs/announcement.dm b/code/defines/procs/announcement.dm
index 1963506431f3..2ebba6a774e8 100644
--- a/code/defines/procs/announcement.dm
+++ b/code/defines/procs/announcement.dm
@@ -162,5 +162,5 @@
to_chat_spaced(T, html = "[SPAN_ANNOUNCEMENT_HEADER(title)]
[SPAN_ANNOUNCEMENT_BODY(message)]", type = MESSAGE_TYPE_RADIO)
if(isobserver(T) && !(T.client?.prefs?.toggles_sound & SOUND_OBSERVER_ANNOUNCEMENTS))
- return
+ continue
playsound_client(T.client, sound_to_play, T, vol = 45)
diff --git a/code/game/area/BigRed.dm b/code/game/area/BigRed.dm
index 57e062195a3c..8675655fe949 100644
--- a/code/game/area/BigRed.dm
+++ b/code/game/area/BigRed.dm
@@ -1,4 +1,5 @@
//Areas for BigRed - Minijar
+// old icon state no longer in use. ("hydro","heads_quarters")
/area/bigred
can_build_special = TRUE
powernet_name = "ground"
@@ -251,44 +252,50 @@
name = "\improper Corporate Saferoom"
icon_state = "vault"
-/area/bigred/uground/lambda_labs/
- minimap_color = MINIMAP_AREA_RESEARCH_CAVE
-/area/bigred/uground/lambda_labs/airlock
- name = "\improper Lambda Labs Airlock"
- icon_state = "decontamination"
-
-/area/bigred/uground/lambda_labs/lobby
- name = "\improper Lambda Labs Reception"
- icon_state = "bluenew"
-
-/area/bigred/uground/lambda_labs/office
- name = "\improper Lambda Labs Administration"
- icon_state = "heads_quarters"
+// Lambda areas below:
-/area/bigred/uground/lambda_labs/laser_lab
- name = "\improper Lambda Laser Laboratory"
- icon_state = "toxmisc"
+// Laboratory proper
+/area/bigredv2/caves/lambda
+ ceiling = CEILING_UNDERGROUND_METAL_BLOCK_CAS
+ ceiling_muffle = FALSE
+ ambience_exterior = AMBIENCE_ALMAYER
+ sound_environment = SOUND_ENVIRONMENT_ROOM
+ soundscape_playlist = list()
+ minimap_color = MINIMAP_AREA_RESEARCH
-/area/bigred/uground/lambda_labs/hydro_office
- name = "\improper Lambda Labs Bio-Dome"
- icon_state = "hydro"
+/area/bigredv2/caves/lambda/virology
+ name = "\improper Lambda Virology"
+ icon_state = "lam_virology"
-/area/bigred/uground/lambda_labs/hydro_lab
- name = "\improper Lambda Labs Hydrophonics"
- icon_state = "garden"
+/area/bigredv2/caves/lambda/research
+ name = "\improper Lambda Research"
+ icon_state = "lam_research"
-/area/bigred/uground/lambda_labs/fridge
- name = "\improper Lambda Labs Refrigeration"
- icon_state = "kitchen"
+/area/bigredv2/caves/lambda/breakroom
+ name = "\improper Lambda Breakroom"
+ icon_state = "lam_break"
-/area/bigred/uground/lambda_labs/maintenance
- name = "\improper Unknown Area"
- icon_state = "yellow"
+/area/bigredv2/caves/lambda/xenobiology
+ name = "\improper Lambda Xenobiology"
+ icon_state = "lam_xeno"
-/area/bigred/uground/lambda_labs/maintenance2
- name = "\improper Unknown Area"
- icon_state = "blue"
+// cave around the laboratory.
+/area/bigredv2/caves_lambda
+ name = "\improper Lambda Lab Caves"
+ icon_state = "caves_lambda"
+ ceiling = CEILING_UNDERGROUND_BLOCK_CAS
+ sound_environment = SOUND_ENVIRONMENT_AUDITORIUM
+ ceiling_muffle = FALSE
+ ambience_exterior = AMBIENCE_CAVE
+ soundscape_playlist = SCAPE_PL_CAVE
+ base_muffle = MUFFLE_HIGH
+// serve for the security checkpoint.
+/area/bigredv2/outside/lambda_cave_cas
+ name = "\improper Lambda Lockdown Caves Entrance"
+ icon_state = "decontamination"
+ ceiling = CEILING_UNDERGROUND_ALLOW_CAS
+ minimap_color = MINIMAP_AREA_SEC
//Big Red V2
/area/bigredv2
@@ -551,29 +558,6 @@
icon_state = "party"
ceiling = CEILING_METAL
-/area/bigredv2/caves/lambda
- ceiling = CEILING_UNDERGROUND_METAL_BLOCK_CAS
- ceiling_muffle = FALSE
- ambience_exterior = AMBIENCE_ALMAYER
- sound_environment = SOUND_ENVIRONMENT_ROOM
- soundscape_playlist = list()
-
-/area/bigredv2/caves/lambda/virology
- name = "\improper Lambda Virology"
- icon_state = "lam_virology"
-
-/area/bigredv2/caves/lambda/research
- name = "\improper Lambda Research"
- icon_state = "lam_research"
-
-/area/bigredv2/caves/lambda/breakroom
- name = "\improper Lambda Breakroom"
- icon_state = "lam_break"
-
-/area/bigredv2/caves/lambda/xenobiology
- name = "\improper Lambda Xenobiology"
- icon_state = "lam_xeno"
-
/area/bigredv2/outside/general_offices
name = "\improper General Offices"
icon_state = "storage"
@@ -630,16 +614,6 @@
soundscape_playlist = SCAPE_PL_CAVE
base_muffle = MUFFLE_HIGH
-/area/bigredv2/caves_lambda
- name = "\improper Lambda Lab Caves"
- icon_state = "caves_lambda"
- ceiling = CEILING_UNDERGROUND_BLOCK_CAS
- sound_environment = SOUND_ENVIRONMENT_AUDITORIUM
- ceiling_muffle = FALSE
- ambience_exterior = AMBIENCE_CAVE
- soundscape_playlist = SCAPE_PL_CAVE
- base_muffle = MUFFLE_HIGH
-
/area/bigredv2/caves_north
name = "\improper Northern Caves"
icon_state = "caves_north"
@@ -688,8 +662,3 @@
name = "\improper Filtration Lockdown Caves Entrance"
icon_state = "garden"
ceiling = CEILING_UNDERGROUND_ALLOW_CAS
-
-/area/bigredv2/outside/lambda_cave_cas
- name = "\improper Lambda Lockdown Caves Entrance"
- icon_state = "garden"
- ceiling = CEILING_UNDERGROUND_ALLOW_CAS
diff --git a/code/game/area/LV624.dm b/code/game/area/LV624.dm
index 613703a0be6e..464067e827d3 100644
--- a/code/game/area/LV624.dm
+++ b/code/game/area/LV624.dm
@@ -37,6 +37,7 @@
name ="\improper Western Jungle"
icon_state = "west"
//ambience = list('sound/ambience/jungle_amb1.ogg')
+ is_resin_allowed = FALSE
/area/lv624/ground/jungle/west_jungle/ceiling
ceiling = CEILING_GLASS
diff --git a/code/game/area/admin_level.dm b/code/game/area/admin_level.dm
index 1724f2fdeea3..49bbc43c0b9c 100644
--- a/code/game/area/admin_level.dm
+++ b/code/game/area/admin_level.dm
@@ -113,6 +113,10 @@
name = "UPP Station"
icon_state = "green"
+/area/adminlevel/ert_station/pizza_station
+ name = "Pizza Galaxy"
+ icon_state = "red"
+
/area/adminlevel/ert_station/clf_station
name = "CLF Station"
icon_state = "white"
diff --git a/code/game/area/almayer.dm b/code/game/area/almayer.dm
index c3898283cbbb..b75baccd7353 100644
--- a/code/game/area/almayer.dm
+++ b/code/game/area/almayer.dm
@@ -366,8 +366,12 @@
name = "\improper Upper Deck Aft Hallway"
icon_state = "aft"
-/area/almayer/hallways/upper/stern_hallway
- name = "\improper Upper Deck Stern Hallway"
+/area/almayer/hallways/upper/fore_hallway
+ name = "\improper Upper Deck Fore Hallway"
+ icon_state = "stern"
+
+/area/almayer/hallways/upper/midship_hallway
+ name = "\improper Upper Deck Midship Hallway"
icon_state = "stern"
/area/almayer/hallways/upper/port
@@ -425,6 +429,18 @@
/area/almayer/maint/upper/u_m_s
name = "\improper Upper Deck Starboard-Midship Maintenance"
+/area/almayer/maint/upper/u_f_p
+ name = "\improper Upper Deck Port-Fore Maintenance"
+
+/area/almayer/maint/upper/u_f_s
+ name = "\improper Upper Deck Starboard-Fore Maintenance"
+
+/area/almayer/maint/upper/u_a_p
+ name = "\improper Upper Deck Port-Aft Maintenance"
+
+/area/almayer/maint/upper/u_a_s
+ name = "\improper Upper Deck Starboard-Aft Maintenance"
+
// hull areas
/area/almayer/maint/hull
diff --git a/code/game/gamemodes/cm_initialize.dm b/code/game/gamemodes/cm_initialize.dm
index 30e179949be5..400acdcb122a 100644
--- a/code/game/gamemodes/cm_initialize.dm
+++ b/code/game/gamemodes/cm_initialize.dm
@@ -385,34 +385,49 @@ Additional game mode variables.
available_xenos[larva_option] = list(hive)
if(!available_xenos.len || (instant_join && !available_xenos_non_ssd.len))
- if(!xeno_candidate.client || !xeno_candidate.client.prefs || !(xeno_candidate.client.prefs.be_special & BE_ALIEN_AFTER_DEATH))
- to_chat(xeno_candidate, SPAN_WARNING("There aren't any available xenomorphs or burrowed larvae. You can try getting spawned as a chestburster larva by toggling your Xenomorph candidacy in Preferences -> Toggle SpecialRole Candidacy."))
+ if(!xeno_candidate.client?.prefs || !(xeno_candidate.client.prefs.be_special & BE_ALIEN_AFTER_DEATH))
+ to_chat(xeno_candidate, SPAN_WARNING("There aren't any available xenomorphs or burrowed larvae. \
+ You can try getting spawned as a chestburster larva by toggling your Xenomorph candidacy in \
+ Preferences -> Toggle SpecialRole Candidacy."))
return FALSE
to_chat(xeno_candidate, SPAN_WARNING("There aren't any available xenomorphs or burrowed larvae."))
- // Give the player a cached message of their queue status if they are an observer
+ if(!isobserver(xeno_candidate))
+ return FALSE
var/mob/dead/observer/candidate_observer = xeno_candidate
- if(istype(candidate_observer))
- if(candidate_observer.larva_queue_cached_message)
- to_chat(xeno_candidate, SPAN_XENONOTICE(candidate_observer.larva_queue_cached_message))
- return FALSE
- // No cache, lets check now then
- message_alien_candidates(get_alien_candidates(), dequeued = 0, cache_only = TRUE)
- if(candidate_observer.larva_queue_cached_message)
- var/datum/hive_status/cur_hive
- for(var/hive_num in GLOB.hive_datum)
- cur_hive = GLOB.hive_datum[hive_num]
- for(var/mob_name in cur_hive.banished_ckeys)
- if(cur_hive.banished_ckeys[mob_name] == xeno_candidate.ckey)
- candidate_observer.larva_queue_cached_message += "\nNOTE: You are banished from the [cur_hive] and you may not rejoin unless the Queen re-admits you or dies. Your queue number won't update until there is a hive you aren't banished from."
- break
- to_chat(xeno_candidate, SPAN_XENONOTICE(candidate_observer.larva_queue_cached_message))
- return FALSE
+ // If an observing mod wants to join as a xeno, disable their larva protection so that they can enter the queue.
+ if(check_client_rights(candidate_observer.client, R_MOD, FALSE))
+ candidate_observer.admin_larva_protection = FALSE
- // We aren't in queue yet, lets teach them about the queue then
- candidate_observer.larva_queue_cached_message = "You are currently awaiting assignment in the larva queue. The ordering is based on your time of death or the time you joined. When you have been dead long enough and are not inactive, you will periodically receive messages where you are in the queue relative to other currently valid xeno candidates. Your current position will shift as others change their preferences or go inactive, but your relative position compared to all observers is the same. Note: Playing as a facehugger or in the thunderdome will not alter your time of death. This means you won't lose your relative place in queue if you step away, disconnect, play as a facehugger, or play in the thunderdome."
- to_chat(xeno_candidate, SPAN_XENONOTICE(candidate_observer.larva_queue_cached_message))
+ // Give the player a cached message of their queue status if they are an observer
+ if(candidate_observer.larva_queue_cached_message)
+ to_chat(candidate_observer, SPAN_XENONOTICE(candidate_observer.larva_queue_cached_message))
+ return FALSE
+
+ // No cache, lets check now then
+ message_alien_candidates(get_alien_candidates(), dequeued = 0, cache_only = TRUE)
+
+ // If we aren't in the queue yet, let's teach them about the queue
+ if(!candidate_observer.larva_queue_cached_message)
+ candidate_observer.larva_queue_cached_message = "You are currently awaiting assignment in the larva queue. \
+ The ordering is based on your time of death or the time you joined. When you have been dead long enough and are not inactive, \
+ you will periodically receive messages where you are in the queue relative to other currently valid xeno candidates. \
+ Your current position will shift as others change their preferences or go inactive, but your relative position compared to all observers is the same. \
+ Note: Playing as a facehugger or in the thunderdome will not alter your time of death. \
+ This means you won't lose your relative place in queue if you step away, disconnect, play as a facehugger, or play in the thunderdome."
+ to_chat(candidate_observer, SPAN_XENONOTICE(candidate_observer.larva_queue_cached_message))
+ return FALSE
+
+ var/datum/hive_status/cur_hive
+ for(var/hive_num in GLOB.hive_datum)
+ cur_hive = GLOB.hive_datum[hive_num]
+ for(var/mob_name in cur_hive.banished_ckeys)
+ if(cur_hive.banished_ckeys[mob_name] == candidate_observer.ckey)
+ candidate_observer.larva_queue_cached_message += "\nNOTE: You are banished from the [cur_hive] and you may not rejoin unless \
+ the Queen re-admits you or dies. Your queue number won't update until there is a hive you aren't banished from."
+ break
+ to_chat(candidate_observer, SPAN_XENONOTICE(candidate_observer.larva_queue_cached_message))
return FALSE
var/mob/living/carbon/xenomorph/new_xeno
@@ -672,9 +687,9 @@ Additional game mode variables.
return TRUE
/// Pick and setup a queen spawn from landmarks, then spawns the player there alongside any required setup
-/datum/game_mode/proc/pick_queen_spawn(datum/mind/ghost_mind, hivenumber = XENO_HIVE_NORMAL)
+/datum/game_mode/proc/pick_queen_spawn(mob/player, hivenumber = XENO_HIVE_NORMAL)
RETURN_TYPE(/turf)
-
+ var/datum/mind/ghost_mind = player.mind
var/mob/living/original = ghost_mind.current
var/datum/hive_status/hive = GLOB.hive_datum[hivenumber]
if(hive.living_xeno_queen || !original || !original.client)
@@ -695,6 +710,9 @@ Additional game mode variables.
spawn_list_map[spawn_name] = T
var/selected_spawn = tgui_input_list(original, "Where do you want you and your hive to spawn?", "Queen Spawn", spawn_list_map, QUEEN_SPAWN_TIMEOUT, theme="hive_status")
+ if(hive.living_xeno_queen)
+ to_chat(original, SPAN_XENOANNOUNCE("You have taken too long to pick a spawn location, a queen has already evolved before you."))
+ player.send_to_lobby()
if(!selected_spawn)
selected_spawn = pick(spawn_list_map)
to_chat(original, SPAN_XENOANNOUNCE("You have taken too long to pick a spawn location, one has been chosen for you."))
@@ -1006,10 +1024,14 @@ Additional game mode variables.
to_chat(joe_candidate, SPAN_WARNING("You are not whitelisted! You may apply on the forums to be whitelisted as a synth."))
return
- if((joe_candidate.ckey in joes) && !MODE_HAS_TOGGLEABLE_FLAG(MODE_BYPASS_JOE))
- if(show_warning)
- to_chat(joe_candidate, SPAN_WARNING("You already were a Working Joe this round!"))
- return
+ if(MODE_HAS_TOGGLEABLE_FLAG(MODE_DISABLE_JOE_RESPAWN) && (joe_candidate.ckey in joes)) // No joe respawns if already a joe before
+ to_chat(joe_candidate, SPAN_WARNING("Working Joe respawns are disabled!"))
+ return FALSE
+
+ var/deathtime = world.time - joe_candidate.timeofdeath
+ if((deathtime < JOE_JOIN_DEAD_TIME && (joe_candidate.ckey in joes)) && !MODE_HAS_TOGGLEABLE_FLAG(MODE_BYPASS_JOE))
+ to_chat(joe_candidate, SPAN_WARNING("You have been dead for [DisplayTimeText(deathtime)]. You need to wait [DisplayTimeText(JOE_JOIN_DEAD_TIME - deathtime)] before rejoining as a Working Joe!"))
+ return FALSE
// council doesn't count towards this conditional.
if(joe_job.get_whitelist_status(joe_candidate.client) == WHITELIST_NORMAL)
diff --git a/code/game/gamemodes/colonialmarines/colonialmarines.dm b/code/game/gamemodes/colonialmarines/colonialmarines.dm
index ca0f34e64a7b..a66403fc00f5 100644
--- a/code/game/gamemodes/colonialmarines/colonialmarines.dm
+++ b/code/game/gamemodes/colonialmarines/colonialmarines.dm
@@ -332,7 +332,7 @@
if(HS.living_xeno_queen && !should_block_game_interaction(HS.living_xeno_queen.loc))
//Some Queen is alive, we shouldn't end the game yet
return
- if (HS.totalXenos <= 3)
+ if(length(HS.totalXenos) <= 3)
round_finished = MODE_INFESTATION_M_MAJOR
else
round_finished = MODE_INFESTATION_M_MINOR
diff --git a/code/game/gamemodes/colonialmarines/whiskey_outpost.dm b/code/game/gamemodes/colonialmarines/whiskey_outpost.dm
index d216ba762a3e..c5b25d3e1538 100644
--- a/code/game/gamemodes/colonialmarines/whiskey_outpost.dm
+++ b/code/game/gamemodes/colonialmarines/whiskey_outpost.dm
@@ -20,7 +20,7 @@
/datum/job/command/bridge/whiskey = JOB_SO,
/datum/job/command/tank_crew/whiskey = JOB_CREWMAN,
/datum/job/command/police/whiskey = JOB_POLICE,
- /datum/job/command/pilot/whiskey = JOB_PILOT,
+ /datum/job/command/pilot/whiskey = JOB_CAS_PILOT,
/datum/job/logistics/requisition/whiskey = JOB_CHIEF_REQUISITION,
/datum/job/civilian/professor/whiskey = JOB_CMO,
/datum/job/civilian/doctor/whiskey = JOB_DOCTOR,
diff --git a/code/game/gamemodes/colonialmarines/xenovsxeno.dm b/code/game/gamemodes/colonialmarines/xenovsxeno.dm
index 79754a6fff84..d287709d5516 100644
--- a/code/game/gamemodes/colonialmarines/xenovsxeno.dm
+++ b/code/game/gamemodes/colonialmarines/xenovsxeno.dm
@@ -154,7 +154,7 @@
var/mob/living/carbon/xenomorph/larva/L = new(xeno_turf, null, hivenumber)
ghost_mind.transfer_to(L)
-/datum/game_mode/xenovs/pick_queen_spawn(datum/mind/ghost_mind, hivenumber = XENO_HIVE_NORMAL)
+/datum/game_mode/xenovs/pick_queen_spawn(mob/player, hivenumber = XENO_HIVE_NORMAL)
. = ..()
if(!.) return
// Spawn additional hive structures
diff --git a/code/game/jobs/job/antag/xeno/queen.dm b/code/game/jobs/job/antag/xeno/queen.dm
index 5702f9b1a671..144f8e42e6ad 100644
--- a/code/game/jobs/job/antag/xeno/queen.dm
+++ b/code/game/jobs/job/antag/xeno/queen.dm
@@ -9,8 +9,8 @@
/datum/job/antag/xenos/queen/set_spawn_positions(count)
return spawn_positions
-/datum/job/antag/xenos/queen/transform_to_xeno(mob/new_player/NP, hive_index)
- SSticker.mode.pick_queen_spawn(NP.mind, hive_index)
+/datum/job/antag/xenos/queen/transform_to_xeno(mob/living/carbon/human/human_to_transform, hive_index)
+ SSticker.mode.pick_queen_spawn(human_to_transform, hive_index)
/datum/job/antag/xenos/queen/announce_entry_message(mob/new_queen, account, whitelist_status)
to_chat(new_queen, "You are now the alien queen!")
diff --git a/code/game/jobs/job/command/auxiliary/cas_pilot.dm b/code/game/jobs/job/command/auxiliary/cas_pilot.dm
new file mode 100644
index 000000000000..083766576ad4
--- /dev/null
+++ b/code/game/jobs/job/command/auxiliary/cas_pilot.dm
@@ -0,0 +1,24 @@
+/datum/job/command/pilot/cas_pilot
+ title = JOB_CAS_PILOT
+ total_positions = 1
+ spawn_positions = 1
+ allow_additional = TRUE
+ scaled = TRUE
+ supervisors = "the auxiliary support officer"
+ flags_startup_parameters = ROLE_ADD_TO_DEFAULT
+ gear_preset = /datum/equipment_preset/uscm_ship/gp
+ entry_message_body = "Your job is to fly, protect, and maintain the ship's gunship. While you are an officer, your authority is limited to the dropship, where you have authority over the enlisted personnel."
+
+/datum/job/command/pilot/whiskey
+ total_positions = 2
+ spawn_positions = 2
+
+// Dropship Roles is both DP, GP and DCC combined to not force people to backtrack
+AddTimelock(/datum/job/command/pilot/cas_pilot, list(
+ JOB_DROPSHIP_ROLES = 2 HOURS
+))
+
+/obj/effect/landmark/start/pilot/cas_pilot
+ name = JOB_CAS_PILOT
+ icon_state = "po_spawn"
+ job = /datum/job/command/pilot/cas_pilot
diff --git a/code/game/jobs/job/command/auxiliary/crew_chief.dm b/code/game/jobs/job/command/auxiliary/crew_chief.dm
index 0770bcd60ffa..2608d8847966 100644
--- a/code/game/jobs/job/command/auxiliary/crew_chief.dm
+++ b/code/game/jobs/job/command/auxiliary/crew_chief.dm
@@ -10,7 +10,8 @@
entry_message_body = "Your job is to assist the pilot officer maintain the ship's dropship. You have authority only on the dropship, but you are expected to maintain order, as not to disrupt the pilot."
AddTimelock(/datum/job/command/crew_chief, list(
- JOB_SQUAD_ROLES = 5 HOURS
+ JOB_SQUAD_ROLES = 5 HOURS,
+ JOB_MEDIC_ROLES = 1 HOURS
))
/obj/effect/landmark/start/crew_chief
diff --git a/code/game/jobs/job/command/auxiliary/dropship_pilot.dm b/code/game/jobs/job/command/auxiliary/dropship_pilot.dm
new file mode 100644
index 000000000000..2fda9a680094
--- /dev/null
+++ b/code/game/jobs/job/command/auxiliary/dropship_pilot.dm
@@ -0,0 +1,20 @@
+/datum/job/command/pilot/dropship_pilot
+ title = JOB_DROPSHIP_PILOT
+ total_positions = 1
+ spawn_positions = 1
+ allow_additional = TRUE
+ scaled = TRUE
+ supervisors = "the auxiliary support officer"
+ flags_startup_parameters = ROLE_ADD_TO_DEFAULT
+ gear_preset = /datum/equipment_preset/uscm_ship/dp
+ entry_message_body = "Your job is to fly, protect, and maintain the ship's transport dropship. While you are an officer, your authority is limited to the dropship, where you have authority over the enlisted personnel. If you are not piloting, there is an autopilot fallback for command, but don't leave the dropship without reason."
+
+// Dropship Roles is both DP, GP and DCC combined to not force people to backtrack
+AddTimelock(/datum/job/command/pilot/dropship_pilot, list(
+ JOB_DROPSHIP_ROLES = 2 HOURS
+))
+
+/obj/effect/landmark/start/pilot/dropship_pilot
+ name = JOB_DROPSHIP_PILOT
+ icon_state = "po_spawn"
+ job = /datum/job/command/pilot/dropship_pilot
diff --git a/code/game/jobs/job/command/auxiliary/pilot.dm b/code/game/jobs/job/command/auxiliary/pilot.dm
deleted file mode 100644
index 1a7a7c21d5a0..000000000000
--- a/code/game/jobs/job/command/auxiliary/pilot.dm
+++ /dev/null
@@ -1,20 +0,0 @@
-/datum/job/command/pilot
- title = JOB_PILOT
- total_positions = 2
- spawn_positions = 2
- allow_additional = TRUE
- scaled = TRUE
- supervisors = "the auxiliary support officer"
- flags_startup_parameters = ROLE_ADD_TO_DEFAULT
- gear_preset = /datum/equipment_preset/uscm_ship/po
- entry_message_body = "Your job is to fly, protect, and maintain the ship's dropship. While you are an officer, your authority is limited to the dropship, where you have authority over the enlisted personnel. If you are not piloting, there is an autopilot fallback for command, but don't leave the dropship without reason."
-
-// Dropship Roles is both PO and DCC combined to not force people to backtrack
-AddTimelock(/datum/job/command/pilot, list(
- JOB_DROPSHIP_ROLES = 2 HOURS
-))
-
-/obj/effect/landmark/start/pilot
- name = JOB_PILOT
- icon_state = "po_spawn"
- job = /datum/job/command/pilot
diff --git a/code/game/machinery/ARES/ARES_interface.dm b/code/game/machinery/ARES/ARES_interface.dm
index dd99240b2550..6cc7c220fd04 100644
--- a/code/game/machinery/ARES/ARES_interface.dm
+++ b/code/game/machinery/ARES/ARES_interface.dm
@@ -183,6 +183,17 @@
logged_orders += list(current_order)
data["records_requisition"] = logged_orders
+ var/list/logged_techs = list()
+ for(var/datum/ares_record/tech/tech_unlock as anything in datacore.records_tech)
+ var/list/current_tech = list()
+ current_tech["time"] = tech_unlock.time
+ current_tech["details"] = tech_unlock.details
+ current_tech["user"] = tech_unlock.user
+ current_tech["tier_changer"] = tech_unlock.is_tier
+ current_tech["ref"] = "\ref[tech_unlock]"
+ logged_techs += list(current_tech)
+ data["records_tech"] = logged_techs
+
var/list/logged_convos = list()
var/list/active_convo = list()
var/active_ref
@@ -203,6 +214,8 @@
data["active_ref"] = active_ref
data["conversations"] = logged_convos
+ data["security_vents"] = link.get_ares_vents()
+
return data
/obj/structure/machinery/computer/ares_console/ui_status(mob/user, datum/ui_state/state)
@@ -216,19 +229,19 @@
. = ..()
if(.)
return
-
- playsound(src, "keyboard_alt", 15, 1)
- var/mob/living/carbon/human/operator = ui.user
+ var/mob/user = ui.user
+ var/playsound = TRUE
switch (action)
if("go_back")
if(!last_menu)
- return to_chat(operator, SPAN_WARNING("Error, no previous page detected."))
+ return to_chat(user, SPAN_WARNING("Error, no previous page detected."))
var/temp_holder = current_menu
current_menu = last_menu
last_menu = temp_holder
if("login")
+ var/mob/living/carbon/human/operator = user
var/obj/item/card/id/idcard = operator.get_active_hand()
if(istype(idcard))
authentication = get_ares_access(idcard)
@@ -239,7 +252,7 @@
authentication = get_ares_access(idcard)
last_login = idcard.registered_name
else
- to_chat(operator, SPAN_WARNING("You require an ID card to access this terminal!"))
+ to_chat(user, SPAN_WARNING("You require an ID card to access this terminal!"))
playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
return FALSE
if(authentication)
@@ -247,14 +260,14 @@
current_menu = "main"
if("sudo")
- var/new_user = tgui_input_text(operator, "Enter Sudo Username", "Sudo User", encode = FALSE)
+ var/new_user = tgui_input_text(user, "Enter Sudo Username", "Sudo User", encode = FALSE)
if(new_user)
if(new_user == sudo_holder)
last_login = sudo_holder
sudo_holder = null
return FALSE
if(new_user == last_login)
- to_chat(operator, SPAN_WARNING("Already remote logged in as this user."))
+ to_chat(user, SPAN_WARNING("Already remote logged in as this user."))
playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
return FALSE
sudo_holder = last_login
@@ -317,6 +330,12 @@
if("page_deleted_1to1")
last_menu = current_menu
current_menu = "deleted_talks"
+ if("page_tech")
+ last_menu = current_menu
+ current_menu = "tech_log"
+ if("page_core_sec")
+ last_menu = current_menu
+ current_menu = "core_security"
// -- Delete Button -- //
if("delete_record")
@@ -345,6 +364,10 @@
new_title = "[record.title] at [record.time]"
new_details = "[record.details] Launched by [record.user]."
datacore.records_bombardment -= record
+ if(ARES_RECORD_TECH)
+ new_title = "[record.title] at [record.time]"
+ new_details = record.details
+ datacore.records_tech -= record
new_delete.details = new_details
new_delete.user = last_login
@@ -370,9 +393,9 @@
datacore.records_talking -= conversation
if("message_ares")
- var/message = tgui_input_text(operator, "What do you wish to say to ARES?", "ARES Message", encode = FALSE)
+ var/message = tgui_input_text(user, "What do you wish to say to ARES?", "ARES Message", encode = FALSE)
if(message)
- message_ares(message, operator, params["active_convo"])
+ message_ares(message, user, params["active_convo"])
if("read_record")
var/datum/ares_record/deleted_talk/conversation = locate(params["record"])
@@ -385,36 +408,36 @@
// -- Emergency Buttons -- //
if("general_quarters")
if(!COOLDOWN_FINISHED(datacore, ares_quarters_cooldown))
- to_chat(operator, SPAN_WARNING("It has not been long enough since the last General Quarters call!"))
+ to_chat(user, SPAN_WARNING("It has not been long enough since the last General Quarters call!"))
playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
return FALSE
if(GLOB.security_level < SEC_LEVEL_RED)
set_security_level(SEC_LEVEL_RED, no_sound = TRUE, announce = FALSE)
shipwide_ai_announcement("ATTENTION! GENERAL QUARTERS. ALL HANDS, MAN YOUR BATTLESTATIONS.", MAIN_AI_SYSTEM, 'sound/effects/GQfullcall.ogg')
- log_game("[key_name(operator)] has called for general quarters via ARES.")
- message_admins("[key_name_admin(operator)] has called for general quarters via ARES.")
+ log_game("[key_name(user)] has called for general quarters via ARES.")
+ message_admins("[key_name_admin(user)] has called for general quarters via ARES.")
log_ares_security("General Quarters", "[last_login] has called for general quarters via ARES.")
COOLDOWN_START(datacore, ares_quarters_cooldown, 10 MINUTES)
. = TRUE
if("evacuation_start")
if(GLOB.security_level < SEC_LEVEL_RED)
- to_chat(operator, SPAN_WARNING("The ship must be under red alert in order to enact evacuation procedures."))
+ to_chat(user, SPAN_WARNING("The ship must be under red alert in order to enact evacuation procedures."))
playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
return FALSE
if(SShijack.evac_admin_denied)
- to_chat(operator, SPAN_WARNING("The USCM has placed a lock on deploying the evacuation pods."))
+ to_chat(user, SPAN_WARNING("The USCM has placed a lock on deploying the evacuation pods."))
playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
return FALSE
if(!SShijack.initiate_evacuation())
- to_chat(operator, SPAN_WARNING("You are unable to initiate an evacuation procedure right now!"))
+ to_chat(user, SPAN_WARNING("You are unable to initiate an evacuation procedure right now!"))
playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
return FALSE
- log_game("[key_name(operator)] has called for an emergency evacuation via ARES.")
- message_admins("[key_name_admin(operator)] has called for an emergency evacuation via ARES.")
+ log_game("[key_name(user)] has called for an emergency evacuation via ARES.")
+ message_admins("[key_name_admin(user)] has called for an emergency evacuation via ARES.")
log_ares_security("Initiate Evacuation", "[last_login] has called for an emergency evacuation via ARES.")
. = TRUE
@@ -422,27 +445,27 @@
if(!SSticker.mode)
return FALSE //Not a game mode?
if(world.time < DISTRESS_TIME_LOCK)
- to_chat(operator, SPAN_WARNING("You have been here for less than six minutes... what could you possibly have done!"))
+ to_chat(user, SPAN_WARNING("You have been here for less than six minutes... what could you possibly have done!"))
playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
return FALSE
if(!COOLDOWN_FINISHED(datacore, ares_distress_cooldown))
- to_chat(operator, SPAN_WARNING("The distress launcher is cooling down!"))
+ to_chat(user, SPAN_WARNING("The distress launcher is cooling down!"))
playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
return FALSE
if(GLOB.security_level == SEC_LEVEL_DELTA)
- to_chat(operator, SPAN_WARNING("The ship is already undergoing self destruct procedures!"))
+ to_chat(user, SPAN_WARNING("The ship is already undergoing self destruct procedures!"))
playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
return FALSE
if(GLOB.security_level < SEC_LEVEL_RED)
- to_chat(operator, SPAN_WARNING("The ship must be under red alert to launch a distress beacon!"))
+ to_chat(user, SPAN_WARNING("The ship must be under red alert to launch a distress beacon!"))
playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
return FALSE
for(var/client/admin in GLOB.admins)
if((R_ADMIN|R_MOD) & admin.admin_holder.rights)
playsound_client(admin,'sound/effects/sos-morse-code.ogg',10)
- SSticker.mode.request_ert(operator, TRUE)
- to_chat(operator, SPAN_NOTICE("A distress beacon request has been sent to USCM High Command."))
+ SSticker.mode.request_ert(user, TRUE)
+ to_chat(user, SPAN_NOTICE("A distress beacon request has been sent to USCM High Command."))
COOLDOWN_START(datacore, ares_distress_cooldown, COOLDOWN_COMM_REQUEST)
return TRUE
@@ -450,28 +473,50 @@
if(!SSticker.mode)
return FALSE //Not a game mode?
if(world.time < NUCLEAR_TIME_LOCK)
- to_chat(operator, SPAN_WARNING("It is too soon to request Nuclear Ordnance!"))
+ to_chat(user, SPAN_WARNING("It is too soon to request Nuclear Ordnance!"))
playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
return FALSE
if(!COOLDOWN_FINISHED(datacore, ares_nuclear_cooldown))
- to_chat(operator, SPAN_WARNING("The ordnance request frequency is garbled, wait for reset!"))
+ to_chat(user, SPAN_WARNING("The ordnance request frequency is garbled, wait for reset!"))
playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
return FALSE
if(GLOB.security_level == SEC_LEVEL_DELTA || SSticker.mode.is_in_endgame)
- to_chat(operator, SPAN_WARNING("The mission has failed catastrophically, what do you want a nuke for?!"))
+ to_chat(user, SPAN_WARNING("The mission has failed catastrophically, what do you want a nuke for?!"))
playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
return FALSE
- var/reason = tgui_input_text(operator, "Please enter reason nuclear ordnance is required.", "Reason for Nuclear Ordnance")
+ var/reason = tgui_input_text(user, "Please enter reason nuclear ordnance is required.", "Reason for Nuclear Ordnance")
if(!reason)
return FALSE
for(var/client/admin in GLOB.admins)
if((R_ADMIN|R_MOD) & admin.admin_holder.rights)
playsound_client(admin,'sound/effects/sos-morse-code.ogg',10)
- message_admins("[key_name(operator)] has requested use of Nuclear Ordnance (via ARES)! Reason: [reason] [CC_MARK(operator)] (APPROVE) (DENY) [ADMIN_JMP_USER(operator)] [CC_REPLY(operator)]")
- to_chat(operator, SPAN_NOTICE("A nuclear ordnance request has been sent to USCM High Command for the following reason: [reason]"))
+ message_admins("[key_name(user)] has requested use of Nuclear Ordnance (via ARES)! Reason: [reason] [CC_MARK(user)] (APPROVE) (DENY) [ADMIN_JMP_USER(user)] [CC_REPLY(user)]")
+ to_chat(user, SPAN_NOTICE("A nuclear ordnance request has been sent to USCM High Command for the following reason: [reason]"))
log_ares_security("Nuclear Ordnance Request", "[last_login] has sent a request for nuclear ordnance for the following reason: [reason]")
if(ares_can_interface())
ai_silent_announcement("[last_login] has sent a request for nuclear ordnance to USCM High Command.", ".V")
ai_silent_announcement("Reason given: [reason].", ".V")
COOLDOWN_START(datacore, ares_nuclear_cooldown, COOLDOWN_COMM_DESTRUCT)
return TRUE
+
+ if("trigger_vent")
+ playsound = FALSE
+ var/obj/structure/pipes/vents/pump/no_boom/gas/sec_vent = locate(params["vent"])
+ if(!istype(sec_vent) || sec_vent.welded)
+ to_chat(user, SPAN_WARNING("ERROR: Gas release failure."))
+ playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
+ return FALSE
+ if(!COOLDOWN_FINISHED(sec_vent, vent_trigger_cooldown))
+ to_chat(user, SPAN_WARNING("ERROR: Insufficient gas reserve for this vent."))
+ playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
+ return FALSE
+ to_chat(user, SPAN_WARNING("Initiating gas release from [sec_vent.vent_tag]."))
+ playsound(src, 'sound/machines/chime.ogg', 15, 1)
+ COOLDOWN_START(sec_vent, vent_trigger_cooldown, COOLDOWN_ARES_VENT)
+ ares_apollo_talk("Nerve Gas release imminent from [sec_vent.vent_tag].")
+ log_ares_security("Nerve Gas Release", "[last_login] released Nerve Gas from Vent '[sec_vent.vent_tag]'.")
+ sec_vent.create_gas(VENT_GAS_CN20_XENO, 6, 5 SECONDS)
+ log_admin("[key_name(user)] released nerve gas from Vent '[sec_vent.vent_tag]' via ARES.")
+
+ if(playsound)
+ playsound(src, "keyboard_alt", 15, 1)
diff --git a/code/game/machinery/ARES/ARES_interface_admin.dm b/code/game/machinery/ARES/ARES_interface_admin.dm
index e388c0eb453d..586b01a51af9 100644
--- a/code/game/machinery/ARES/ARES_interface_admin.dm
+++ b/code/game/machinery/ARES/ARES_interface_admin.dm
@@ -160,6 +160,17 @@
logged_orders += list(current_order)
data["records_requisition"] = logged_orders
+ var/list/logged_techs = list()
+ for(var/datum/ares_record/tech/tech_unlock as anything in datacore.records_tech)
+ var/list/current_tech = list()
+ current_tech["time"] = tech_unlock.time
+ current_tech["details"] = tech_unlock.details
+ current_tech["user"] = tech_unlock.user
+ current_tech["tier_changer"] = tech_unlock.is_tier
+ current_tech["ref"] = "\ref[tech_unlock]"
+ logged_techs += list(current_tech)
+ data["records_tech"] = logged_techs
+
var/list/logged_convos = list()
var/list/active_convo = list()
var/active_ref
@@ -220,6 +231,8 @@
logged_access += list(current_ticket)
data["access_tickets"] = logged_access
+ data["security_vents"] = get_ares_vents()
+
return data
@@ -307,6 +320,12 @@
if("page_deleted_1to1")
admin_interface.last_menu = admin_interface.current_menu
admin_interface.current_menu = "deleted_talks"
+ if("page_tech")
+ admin_interface.last_menu = admin_interface.current_menu
+ admin_interface.current_menu = "tech_log"
+ if("page_core_sec")
+ admin_interface.last_menu = admin_interface.current_menu
+ admin_interface.current_menu = "core_security"
if("page_access_management")
admin_interface.last_menu = admin_interface.current_menu
admin_interface.current_menu = "access_management"
@@ -477,3 +496,21 @@
ares_apollo_talk("Priority [ticket.ticket_type] [ticket.ticket_id] has been [choice] by [MAIN_AI_SYSTEM].")
to_chat(user, SPAN_NOTICE("[ticket.ticket_type] [ticket.ticket_id] marked as [choice]."))
return TRUE
+
+ if("trigger_vent")
+ var/obj/structure/pipes/vents/pump/no_boom/gas/sec_vent = locate(params["vent"])
+ if(!istype(sec_vent) || sec_vent.welded)
+ to_chat(user, SPAN_WARNING("ERROR: Gas release failure."))
+ playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
+ return FALSE
+ if(!COOLDOWN_FINISHED(sec_vent, vent_trigger_cooldown))
+ to_chat(user, SPAN_WARNING("ERROR: Insufficient gas reserve for this vent."))
+ playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
+ return FALSE
+ to_chat(user, SPAN_WARNING("Initiating gas release from [sec_vent.vent_tag]."))
+ playsound(src, 'sound/machines/chime.ogg', 15, 1)
+ COOLDOWN_START(sec_vent, vent_trigger_cooldown, COOLDOWN_ARES_VENT)
+ ares_apollo_talk("Nerve Gas release imminent from [sec_vent.vent_tag].")
+ log_ares_security("Nerve Gas Release", "[MAIN_AI_SYSTEM] released Nerve Gas from Vent '[sec_vent.vent_tag]'.")
+ sec_vent.create_gas(VENT_GAS_CN20_XENO, 6, 5 SECONDS)
+ log_admin("[key_name(user)] released nerve gas from Vent '[sec_vent.vent_tag]' via ARES.")
diff --git a/code/game/machinery/ARES/ARES_interface_apollo.dm b/code/game/machinery/ARES/ARES_interface_apollo.dm
index c1c936676dc5..48fcad588574 100644
--- a/code/game/machinery/ARES/ARES_interface_apollo.dm
+++ b/code/game/machinery/ARES/ARES_interface_apollo.dm
@@ -141,6 +141,8 @@
requesting_access += access_ticket.ticket_name
data["access_tickets"] = logged_access
+ data["security_vents"] = link.get_ares_vents()
+
return data
/obj/structure/machinery/computer/working_joe/ui_status(mob/user, datum/ui_state/state)
@@ -211,6 +213,9 @@
if("page_maintenance")
last_menu = current_menu
current_menu = "maint_claim"
+ if("page_core_gas")
+ last_menu = current_menu
+ current_menu = "core_security_gas"
if("toggle_sound")
notify_sounds = !notify_sounds
@@ -413,6 +418,25 @@
playsound_client(id_owner?.client, 'sound/machines/pda_ping.ogg', src, 25, 0)
return TRUE
+ if("trigger_vent")
+ playsound = FALSE
+ var/obj/structure/pipes/vents/pump/no_boom/gas/sec_vent = locate(params["vent"])
+ if(!istype(sec_vent) || sec_vent.welded)
+ to_chat(operator, SPAN_WARNING("ERROR: Gas release failure."))
+ playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
+ return FALSE
+ if(!COOLDOWN_FINISHED(sec_vent, vent_trigger_cooldown))
+ to_chat(operator, SPAN_WARNING("ERROR: Insufficient gas reserve for this vent."))
+ playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
+ return FALSE
+ to_chat(operator, SPAN_WARNING("Initiating gas release from [sec_vent.vent_tag]."))
+ playsound(src, 'sound/machines/chime.ogg', 15, 1)
+ COOLDOWN_START(sec_vent, vent_trigger_cooldown, COOLDOWN_ARES_VENT)
+ ares_apollo_talk("Nerve Gas release imminent from [sec_vent.vent_tag].")
+ log_ares_security("Nerve Gas Release", "[last_login] released Nerve Gas from Vent '[sec_vent.vent_tag]'.")
+ sec_vent.create_gas(VENT_GAS_CN20_XENO, 6, 5 SECONDS)
+ log_admin("[key_name(operator)] released nerve gas from Vent '[sec_vent.vent_tag]' via ARES.")
+
if(playsound)
playsound(src, "keyboard_alt", 15, 1)
diff --git a/code/game/machinery/ARES/ARES_procs.dm b/code/game/machinery/ARES/ARES_procs.dm
index 90616add6d25..05f110ec1a0c 100644
--- a/code/game/machinery/ARES/ARES_procs.dm
+++ b/code/game/machinery/ARES/ARES_procs.dm
@@ -29,6 +29,10 @@ GLOBAL_LIST_INIT(maintenance_categories, list(
var/datum/ares_datacore/datacore
var/list/obj/structure/machinery/computer/working_joe/ticket_computers = list()
+ /// Linked security gas vents.
+ var/list/linked_vents = list()
+ /// The tag number for generated vent labels, if none is manually set.
+ var/tag_num = 1
/// Working Joe stuff
var/list/tickets_maintenance = list()
@@ -50,6 +54,23 @@ GLOBAL_LIST_INIT(maintenance_categories, list(
alert.delink()
..()
+/datum/ares_link/proc/get_ares_vents()
+ var/list/security_vents = list()
+ var/datum/ares_link/link = GLOB.ares_link
+ for(var/obj/structure/pipes/vents/pump/no_boom/gas/vent in link.linked_vents)
+ if(!vent.vent_tag)
+ vent.vent_tag = "Security Vent #[link.tag_num]"
+ link.tag_num++
+
+ var/list/current_vent = list()
+ var/is_available = COOLDOWN_FINISHED(vent, vent_trigger_cooldown)
+ current_vent["vent_tag"] = vent.vent_tag
+ current_vent["ref"] = "\ref[vent]"
+ current_vent["available"] = is_available
+ security_vents += list(current_vent)
+ return security_vents
+
+
/* BELOW ARE IN AdminAres.dm
/datum/ares_link/tgui_interact(mob/user, datum/tgui/ui)
/datum/ares_link/ui_data(mob/user)
@@ -80,6 +101,8 @@ GLOBAL_LIST_INIT(maintenance_categories, list(
var/list/records_security = list()
/// Holds all (/datum/ares_record/flight)s
var/list/records_flight = list()
+ /// Holds all (/datum/ares_record/tech)s
+ var/list/records_tech = list()
/// Is nuke request usable or not?
var/nuke_available = TRUE
@@ -142,11 +165,11 @@ GLOBAL_LIST_INIT(maintenance_categories, list(
var/datum/ares_datacore/datacore = GLOB.ares_datacore
datacore.records_bioscan.Add(new /datum/ares_record/bioscan(title, input))
-/proc/log_ares_bombardment(user_name, ob_name, coordinates)
+/proc/log_ares_bombardment(user_name, ob_name, message)
if(!ares_can_log())
return FALSE
var/datum/ares_datacore/datacore = GLOB.ares_datacore
- datacore.records_bombardment.Add(new /datum/ares_record/bombardment(ob_name, "Bombardment fired at [coordinates].", user_name))
+ datacore.records_bombardment.Add(new /datum/ares_record/bombardment(ob_name, message, user_name))
/proc/log_ares_announcement(title, message)
if(!ares_can_log())
@@ -177,6 +200,16 @@ GLOBAL_LIST_INIT(maintenance_categories, list(
return FALSE
var/datum/ares_datacore/datacore = GLOB.ares_datacore
datacore.records_flight.Add(new /datum/ares_record/flight(details, user_name))
+
+/proc/log_ares_tech(user_name, tier_tech = FALSE, title, details, point_cost, current_points)
+ if(!ares_can_log())
+ return FALSE
+ var/new_details = "[title] - [details]"
+ if(point_cost)
+ new_details += " - Used [point_cost] INT of [current_points]."
+ var/datum/ares_datacore/datacore = GLOB.ares_datacore
+ datacore.records_tech.Add(new /datum/ares_record/tech(title, new_details, user_name, tier_tech))
+
// ------ End ARES Logging Procs ------ //
// ------ ARES Interface Procs ------ //
diff --git a/code/game/machinery/ARES/ARES_records.dm b/code/game/machinery/ARES/ARES_records.dm
index e8dc11fa3995..5bfe50dce068 100644
--- a/code/game/machinery/ARES/ARES_records.dm
+++ b/code/game/machinery/ARES/ARES_records.dm
@@ -58,6 +58,18 @@
src.details = details
src.user = user
+/datum/ares_record/tech
+ record_name = ARES_RECORD_TECH
+ /// If this tech unlock changed the tier.
+ var/is_tier = FALSE
+
+/datum/ares_record/tech/New(title, details, user, tier_tech)
+ time = worldtime2text()
+ src.title = title
+ src.details = details
+ src.user = user
+ is_tier = tier_tech
+
/datum/ares_record/deletion
record_name = ARES_RECORD_DELETED
diff --git a/code/game/machinery/ARES/apollo_pda.dm b/code/game/machinery/ARES/apollo_pda.dm
index 69e774cf0da3..e447bb6f7ee7 100644
--- a/code/game/machinery/ARES/apollo_pda.dm
+++ b/code/game/machinery/ARES/apollo_pda.dm
@@ -166,6 +166,8 @@
requesting_access += access_ticket.ticket_name
data["access_tickets"] = logged_access
+ data["security_vents"] = link.get_ares_vents()
+
return data
/obj/item/device/working_joe_pda/ui_status(mob/user, datum/ui_state/state)
@@ -237,6 +239,9 @@
if("page_maintenance")
last_menu = current_menu
current_menu = "maint_claim"
+ if("page_core_gas")
+ last_menu = current_menu
+ current_menu = "core_security_gas"
if("toggle_sound")
notify_sounds = !notify_sounds
@@ -439,6 +444,25 @@
playsound_client(id_owner?.client, 'sound/machines/pda_ping.ogg', src, 25, 0)
return TRUE
+ if("trigger_vent")
+ playsound = FALSE
+ var/obj/structure/pipes/vents/pump/no_boom/gas/sec_vent = locate(params["vent"])
+ if(!istype(sec_vent) || sec_vent.welded)
+ to_chat(operator, SPAN_WARNING("ERROR: Gas release failure."))
+ playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
+ return FALSE
+ if(!COOLDOWN_FINISHED(sec_vent, vent_trigger_cooldown))
+ to_chat(operator, SPAN_WARNING("ERROR: Insufficient gas reserve for this vent."))
+ playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
+ return FALSE
+ to_chat(operator, SPAN_WARNING("Initiating gas release from [sec_vent.vent_tag]."))
+ playsound(src, 'sound/machines/chime.ogg', 15, 1)
+ COOLDOWN_START(sec_vent, vent_trigger_cooldown, COOLDOWN_ARES_VENT)
+ ares_apollo_talk("Nerve Gas release imminent from [sec_vent.vent_tag].")
+ log_ares_security("Nerve Gas Release", "[last_login] released Nerve Gas from Vent '[sec_vent.vent_tag]'.")
+ sec_vent.create_gas(VENT_GAS_CN20_XENO, 6, 5 SECONDS)
+ log_admin("[key_name(operator)] released nerve gas from Vent '[sec_vent.vent_tag]' via ARES.")
+
if(playsound)
var/sound = pick('sound/machines/pda_button1.ogg', 'sound/machines/pda_button2.ogg')
playsound(src, sound, 15, TRUE)
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index cf7a0a6bc1a8..97a25bf7d20a 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -79,7 +79,7 @@
recipe.resources[material] = I.matter[material] //Doesn't take more if it's just a sheet or something. Get what you put in.
else
recipe.resources[material] = round(I.matter[material]*1.25) // More expensive to produce than they are to recycle.
- qdel(I)
+ QDEL_NULL(I)
//Create parts for lathe.
for(var/component in components)
diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm
index 46050d2705b3..1f82d28dbbf8 100644
--- a/code/game/machinery/bots/bots.dm
+++ b/code/game/machinery/bots/bots.dm
@@ -84,9 +84,9 @@
if(hasvar(W,"force") && hasvar(W,"damtype"))
switch(W.damtype)
if("fire")
- src.health -= W.force * fire_dam_coeff
+ health -= W.force * W.demolition_mod * fire_dam_coeff
if("brute")
- src.health -= W.force * brute_dam_coeff
+ health -= W.force * W.demolition_mod * brute_dam_coeff
..()
healthcheck()
else
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index d8919967dd65..948d83e76148 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -10,7 +10,6 @@
var/list/network = list(CAMERA_NET_MILITARY)
var/c_tag = null
- var/c_tag_order = 999
var/status = 1
anchored = TRUE
var/panel_open = FALSE // 0 = Closed / 1 = Open
@@ -70,7 +69,7 @@ GLOBAL_LIST_EMPTY_TYPED(all_cameras, /obj/structure/machinery/camera)
var/area/my_area = get_area(src)
if(my_area)
for(var/obj/structure/machinery/camera/autoname/current_camera in GLOB.machines)
- if(current_camera == src)
+ if(current_camera == src)
continue
var/area/current_camera_area = get_area(current_camera)
if(current_camera_area.type != my_area.type)
@@ -300,6 +299,22 @@ GLOBAL_LIST_EMPTY_TYPED(all_cameras, /obj/structure/machinery/camera)
return 1
return 0
+/obj/structure/machinery/camera/correspondent
+ network = list(CAMERA_NET_CORRESPONDENT)
+ invisibility = INVISIBILITY_ABSTRACT
+ invuln = TRUE
+ unslashable = TRUE
+ unacidable = TRUE
+ colony_camera_mapload = FALSE
+ var/obj/item/device/camera/broadcasting/linked_broadcasting
+
+/obj/structure/machinery/camera/correspondent/Initialize(mapload, obj/item/device/camera/broadcasting/camera_item)
+ . = ..()
+ if(!camera_item)
+ return INITIALIZE_HINT_QDEL
+ c_tag = camera_item.get_broadcast_name()
+ linked_broadcasting = camera_item
+
/obj/structure/machinery/camera/mortar
alpha = 0
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm
index 103e3f709afe..a1d7f00cf94a 100644
--- a/code/game/machinery/camera/presets.dm
+++ b/code/game/machinery/camera/presets.dm
@@ -97,7 +97,7 @@
/obj/structure/machinery/camera/autoname/almayer/containment/ares
name = "ares core camera"
- network = list(CAMERA_NET_ALMAYER, CAMERA_NET_ARES)
+ network = list(CAMERA_NET_ARES)
//used by the landing camera dropship equipment. Do not place them right under where the dropship lands.
//Should place them near each corner of your LZs.
diff --git a/code/game/machinery/colony_floodlights.dm b/code/game/machinery/colony_floodlights.dm
index 13478381e38e..0267c7e95487 100644
--- a/code/game/machinery/colony_floodlights.dm
+++ b/code/game/machinery/colony_floodlights.dm
@@ -281,6 +281,27 @@
else if(!is_lit)
. += SPAN_INFO("It doesn't seem powered.")
+/obj/structure/machinery/colony_floodlight/ex_act(severity)
+ switch(severity)
+ if(0 to EXPLOSION_THRESHOLD_LOW)
+ if(prob(25))
+ set_damaged()
+ return
+ if(EXPLOSION_THRESHOLD_LOW to EXPLOSION_THRESHOLD_MEDIUM)
+ if(prob(50))
+ set_damaged()
+ return
+ if(EXPLOSION_THRESHOLD_MEDIUM to INFINITY)
+ set_damaged()
+ return
+
+/obj/structure/machinery/colony_floodlight/proc/set_damaged()
+ playsound(src, "glassbreak", 70, 1)
+ damaged = TRUE
+ if(is_lit)
+ set_light(0)
+ update_icon()
+
/obj/structure/machinery/colony_floodlight/proc/toggle_light()
is_lit = !is_lit
if(!damaged)
diff --git a/code/game/machinery/computer/camera_console.dm b/code/game/machinery/computer/camera_console.dm
index f36719a8453e..cd0ee780f478 100644
--- a/code/game/machinery/computer/camera_console.dm
+++ b/code/game/machinery/computer/camera_console.dm
@@ -202,10 +202,48 @@
name = "Ship Security Cameras"
network = list(CAMERA_NET_ALMAYER)
-/obj/structure/machinery/computer/cameras/wooden_tv/prop
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast
name = "Television Set"
desc = "An old TV hooked up to a video cassette recorder, you can even use it to time shift WOW."
- network = null
+ network = list(CAMERA_NET_CORRESPONDENT)
+ var/obj/item/device/camera/broadcasting/broadcastingcamera = null
+
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast/Destroy()
+ broadcastingcamera = null
+ return ..()
+
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast/ui_state(mob/user)
+ return GLOB.default_state
+
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast/ui_act(action, params)
+ . = ..()
+ if(action != "switch_camera")
+ return
+ broadcastingcamera = null
+ if (!istype(current, /obj/structure/machinery/camera/correspondent))
+ return
+ var/obj/structure/machinery/camera/correspondent/corr_cam = current
+ if (!corr_cam.linked_broadcasting)
+ return
+ broadcastingcamera = corr_cam.linked_broadcasting
+ RegisterSignal(broadcastingcamera, COMSIG_BROADCAST_GO_LIVE, PROC_REF(go_back_live))
+ RegisterSignal(broadcastingcamera, COMSIG_PARENT_QDELETING, PROC_REF(clear_camera))
+
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast/ui_close(mob/user)
+ . = ..()
+ if (!current && broadcastingcamera)
+ clear_camera()
+
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast/proc/clear_camera()
+ SIGNAL_HANDLER
+ UnregisterSignal(broadcastingcamera, list(COMSIG_BROADCAST_GO_LIVE, COMSIG_PARENT_QDELETING))
+ broadcastingcamera = null
+
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast/proc/go_back_live(obj/item/device/camera/broadcasting/broadcastingcamera)
+ SIGNAL_HANDLER
+ if (current.c_tag == broadcastingcamera.get_broadcast_name())
+ current = broadcastingcamera.linked_cam
+ SEND_SIGNAL(src, COMSIG_CAMERA_SET_TARGET, broadcastingcamera.linked_cam, broadcastingcamera.linked_cam.view_range, broadcastingcamera.linked_cam.view_range)
/obj/structure/machinery/computer/cameras/wooden_tv/ot
name = "Mortar Monitoring Set"
diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm
index afcc9686cff5..5a328386c95d 100644
--- a/code/game/machinery/cryo.dm
+++ b/code/game/machinery/cryo.dm
@@ -1,4 +1,8 @@
#define HEAT_CAPACITY_HUMAN 100 //249840 J/K, for a 72 kg person.
+#define DEATH_STAGE_NONE 0
+#define DEATH_STAGE_EARLY 1
+#define DEATH_STAGE_WARNING 2
+#define DEATH_STAGE_CRITICAL 3
/obj/structure/machinery/cryo_cell
name = "cryo cell"
@@ -19,6 +23,7 @@
var/mob/living/carbon/occupant = null
var/obj/item/reagent_container/glass/beaker = null
+ var/occupant_death_stage = DEATH_STAGE_NONE
/obj/structure/machinery/cryo_cell/Initialize()
. = ..()
@@ -28,19 +33,18 @@
QDEL_NULL(beaker)
. = ..()
-
/obj/structure/machinery/cryo_cell/process()
if(!on)
updateUsrDialog()
return
if(occupant)
- if(occupant.stat != DEAD)
- process_occupant()
- else
+ var/mob/living/carbon/human/human_occupant = occupant
+ if(occupant.stat == DEAD && (!istype(human_occupant) || human_occupant.undefibbable))
go_out(TRUE, TRUE) //Whether auto-eject is on or not, we don't permit literal deadbeats to hang around.
- playsound(src.loc, 'sound/machines/ping.ogg', 25, 1)
- visible_message("[icon2html(src, viewers(src))] [SPAN_WARNING("\The [src] pings: Patient is dead!")]")
+ display_message("Patient is dead!", warning = TRUE)
+ else
+ process_occupant()
updateUsrDialog()
return TRUE
@@ -116,13 +120,14 @@
data["beakerContents"] = beakerContents
return data
-/obj/structure/machinery/cryo_cell/ui_act(action, list/params)
+/obj/structure/machinery/cryo_cell/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
. = ..()
if(.)
return
switch(action)
if("power")
on = !on
+ update_use_power(on ? USE_POWER_ACTIVE : USE_POWER_IDLE)
update_icon()
. = TRUE
if("eject")
@@ -143,7 +148,8 @@
if("notice")
release_notice = !release_notice
. = TRUE
- updateUsrDialog()
+
+ updateUsrDialog(ui.user)
/obj/structure/machinery/cryo_cell/attackby(obj/item/W, mob/living/user)
if(istype(W, /obj/item/reagent_container/glass))
@@ -158,34 +164,59 @@
beaker = W
var/reagentnames = ""
- for(var/datum/reagent/R in beaker.reagents.reagent_list)
- reagentnames += ";[R.name]"
+ for(var/datum/reagent/cur_reagent in beaker.reagents.reagent_list)
+ reagentnames += ";[cur_reagent.name]"
- msg_admin_niche("[key_name(user)] put \a [beaker] into \the [src], containing [reagentnames] at ([src.loc.x],[src.loc.y],[src.loc.z]) [ADMIN_JMP(src.loc)].", 1)
+ msg_admin_niche("[key_name(user)] put \a [beaker] into [src], containing [reagentnames] at ([src.loc.x],[src.loc.y],[src.loc.z]) [ADMIN_JMP(src.loc)].", 1)
if(user.drop_inv_item_to_loc(W, src))
- user.visible_message("[user] adds \a [W] to \the [src]!", "You add \a [W] to \the [src]!")
+ user.visible_message("[user] adds \a [W] to [src]!", "You add \a [W] to [src]!")
else if(istype(W, /obj/item/grab))
- if(isxeno(user)) return
- var/obj/item/grab/G = W
- if(!ismob(G.grabbed_thing))
+ if(isxeno(user))
+ return
+ var/obj/item/grab/grabber = W
+ if(!ismob(grabber.grabbed_thing))
return
- var/mob/M = G.grabbed_thing
- put_mob(M)
+ var/mob/grabbed_mob = grabber.grabbed_thing
+ put_mob(grabbed_mob)
- updateUsrDialog()
+ updateUsrDialog(user)
+/obj/structure/machinery/cryo_cell/power_change(area/master_area)
+ . = ..()
+ if((occupant || on) && operable())
+ update_use_power(USE_POWER_ACTIVE)
+ update_icon()
/obj/structure/machinery/cryo_cell/update_icon()
icon_state = initial(icon_state)
- icon_state = "[icon_state]-[on ? "on" : "off"]-[occupant ? "occupied" : "empty"]"
+ var/is_on = on && operable()
+ icon_state = "[icon_state]-[is_on ? "on" : "off"]-[occupant ? "occupied" : "empty"]"
/obj/structure/machinery/cryo_cell/proc/process_occupant()
- if(occupant)
- if(occupant.stat == DEAD)
- return
- occupant.bodytemperature += 2*(temperature - occupant.bodytemperature)
- occupant.bodytemperature = max(occupant.bodytemperature, temperature) // this is so ugly i'm sorry for doing it i'll fix it later i promise
+ if(!occupant)
+ return
+ if(!operable())
+ return
+
+ occupant.bodytemperature += 2*(temperature - occupant.bodytemperature)
+ occupant.bodytemperature = max(occupant.bodytemperature, temperature) // this is so ugly i'm sorry for doing it i'll fix it later i promise
+
+ // Warnings if dead
+ if(occupant.stat == DEAD && ishuman(occupant))
+ var/mob/living/carbon/human/human_occupant = occupant
+ var/old_state = occupant_death_stage
+ if(world.time > occupant.timeofdeath + human_occupant.revive_grace_period - 1 MINUTES)
+ occupant_death_stage = DEATH_STAGE_CRITICAL
+ else if(world.time > occupant.timeofdeath + human_occupant.revive_grace_period - 2.5 MINUTES)
+ occupant_death_stage = DEATH_STAGE_WARNING
+ else
+ occupant_death_stage = DEATH_STAGE_EARLY
+ if(old_state != occupant_death_stage)
+ display_message("Patient is critical!", warning = TRUE)
+
+ // Passive healing if alive and cold enough
+ if(occupant.stat != DEAD)
occupant.recalculate_move_delay = TRUE
occupant.set_stat(UNCONSCIOUS)
if(occupant.bodytemperature < T0C)
@@ -202,22 +233,39 @@
var/heal_brute = occupant.getBruteLoss() ? min(1, 20/occupant.getBruteLoss()) : 0
var/heal_fire = occupant.getFireLoss() ? min(1, 20/occupant.getFireLoss()) : 0
occupant.heal_limb_damage(heal_brute,heal_fire)
- var/has_cryo = occupant.reagents.get_reagent_amount("cryoxadone") >= 1
- var/has_clonexa = occupant.reagents.get_reagent_amount("clonexadone") >= 1
- var/has_cryo_medicine = has_cryo || has_clonexa
- if(beaker && !has_cryo_medicine)
- beaker.reagents.trans_to(occupant, 1, 10)
- beaker.reagents.reaction(occupant)
- if(!occupant.getBruteLoss(TRUE) && !occupant.getFireLoss(TRUE) && !occupant.getCloneLoss() && autoeject) //release the patient automatically when brute and burn are handled on non-robotic limbs
- display_message("external wounds are")
+
+ // Chemical healing if cryo meds are involved
+ if(beaker && occupant.reagents && beaker.reagents)
+ var/occupant_has_cryo_meds = occupant.reagents.get_reagent_amount("cryoxadone") >= 1 || occupant.reagents.get_reagent_amount("clonexadone") >= 1
+ var/beaker_has_cryo_meds = beaker.reagents.get_reagent_amount("cryoxadone") >= 1 || beaker.reagents.get_reagent_amount("clonexadone") >= 1
+
+ // To administer, either the occupant has cryo meds and the beaker doesn't or vice versa (not both)
+ var/can_administer = (occupant_has_cryo_meds ^ beaker_has_cryo_meds) && length(beaker.reagents.reagent_list)
+ if(can_administer && occupant_has_cryo_meds)
+ // If its the case of the occupant has cryo meds and not the beaker, we need to pace out the dosage
+ // So lets make sure they don't already have some of the beaker drugs
+ for(var/datum/reagent/cur_beaker_reagent in beaker.reagents.reagent_list)
+ for(var/datum/reagent/cur_occupant_reagent in occupant.reagents.reagent_list)
+ if(cur_beaker_reagent.id == cur_occupant_reagent.id)
+ can_administer = FALSE
+ break
+
+ if(can_administer)
+ beaker.reagents.trans_to(occupant, 5)
+ beaker.reagents.reaction(occupant, permeable_in_mobs = FALSE)
+
+ if(autoeject)
+ //release the patient automatically when brute and burn are handled on non-robotic limbs
+ if(!occupant.getBruteLoss(TRUE) && !occupant.getFireLoss(TRUE) && !occupant.getCloneLoss())
+ display_message("Patient's external wounds are healed.")
go_out(TRUE)
return
- if(occupant.health >= 100 && autoeject)
- display_message("external wounds are")
+ if(occupant.health >= occupant.maxHealth)
+ display_message("Patient's external wounds are healed.")
go_out(TRUE)
return
-/obj/structure/machinery/cryo_cell/proc/go_out(auto_eject = null, dead = null)
+/obj/structure/machinery/cryo_cell/proc/go_out(auto_eject = FALSE, dead = FALSE)
if(!(occupant))
return
if(occupant.client)
@@ -235,66 +283,72 @@
if(occupant.bodytemperature < 261 && occupant.bodytemperature >= 70)
occupant.bodytemperature = 261
occupant.recalculate_move_delay = TRUE
- occupant = null
if(auto_eject) //Turn off and announce if auto-ejected because patient is recovered or dead.
on = FALSE
if(release_notice) //If auto-release notices are on as it should be, let the doctors know what's up
- playsound(src.loc, 'sound/machines/ping.ogg', 100, 14)
- var/reason = "Reason for release: Patient recovery."
+ var/reason = "Reason for release: Patient recovery."
if(dead)
- reason = "Reason for release: Patient death."
- ai_silent_announcement("Patient [occupant] has been automatically released from \the [src] at: [get_area(occupant)]. [reason]", MED_FREQ)
+ reason = "Reason for release: Patient death."
+ ai_silent_announcement("Patient [occupant] has been automatically released from [src] at: [sanitize_area((get_area(occupant))?.name)]. [reason]", ":m")
+ occupant = null
update_use_power(USE_POWER_IDLE)
update_icon()
return
-/obj/structure/machinery/cryo_cell/proc/put_mob(mob/living/carbon/M as mob)
+/obj/structure/machinery/cryo_cell/proc/put_mob(mob/living/carbon/cur_mob)
if(inoperable())
to_chat(usr, SPAN_DANGER("The cryo cell is not functioning."))
return
- if(!istype(M) || isxeno(M))
- to_chat(usr, SPAN_DANGER("The cryo cell cannot handle such a lifeform!"))
+ if(!istype(cur_mob) || isxeno(cur_mob))
+ to_chat(usr, SPAN_DANGER("The cryo cell cannot handle such a lifeform!"))
return
if(occupant)
- to_chat(usr, SPAN_DANGER("The cryo cell is already occupied!"))
+ to_chat(usr, SPAN_DANGER("The cryo cell is already occupied!"))
return
- if(M.abiotic())
+ if(cur_mob.abiotic())
to_chat(usr, SPAN_DANGER("Subject may not have abiotic items on."))
return
- if(do_after(usr, 20, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC))
- to_chat(usr, SPAN_NOTICE("You move [M.name] inside the cryo cell."))
- M.forceMove(src)
- if(M.health >= -100 && (M.health <= 0 || M.sleeping))
- to_chat(M, SPAN_NOTICE("You feel cold liquid surround you. Your skin starts to freeze up."))
- occupant = M
+ if(do_after(usr, 2 SECONDS, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC))
+ visible_message(SPAN_NOTICE("[usr] moves [usr == cur_mob ? "" : "[cur_mob] "]inside the cryo cell."))
+ cur_mob.forceMove(src)
+ if(cur_mob.health >= HEALTH_THRESHOLD_DEAD && (cur_mob.health <= 0 || cur_mob.sleeping))
+ to_chat(cur_mob, SPAN_NOTICE("You feel cold liquid surround you. Your skin starts to freeze up."))
+ occupant = cur_mob
+ occupant_death_stage = DEATH_STAGE_NONE
update_use_power(USE_POWER_ACTIVE)
update_icon()
return TRUE
-/obj/structure/machinery/cryo_cell/proc/display_message(msg)
- playsound(src.loc, 'sound/machines/ping.ogg', 25, 1)
- visible_message("[icon2html(src, viewers(src))] [SPAN_NOTICE("\The [src] pings: Patient's " + msg + " healed.")]")
+/obj/structure/machinery/cryo_cell/proc/display_message(msg, silent = FALSE, warning = FALSE)
+ if(!silent)
+ if(warning)
+ playsound(loc, 'sound/machines/twobeep.ogg', 40)
+ else
+ playsound(loc, 'sound/machines/ping.ogg', 25, 1)
+ visible_message("[icon2html(src, viewers(src))] [SPAN_NOTICE("[src] [warning ? "beeps" : "pings"]: [msg]")]")
/obj/structure/machinery/cryo_cell/verb/move_eject()
set name = "Eject occupant"
set category = "Object"
set src in oview(1)
if(usr == occupant)//If the user is inside the tube...
- if(usr.stat == 2)//and he's not dead....
+ if(usr.stat == DEAD)//and he's not dead....
return
- if(alert(usr, "Would you like to activate the ejection sequence of the cryo cell? Healing may be in progress.", "Confirm", "Yes", "No") == "Yes")
+ if(tgui_alert(usr, "Would you like to activate the ejection sequence of the cryo cell? Healing may be in progress.", "Confirm", list("Yes", "No")) == "Yes")
to_chat(usr, SPAN_NOTICE("Cryo cell release sequence activated. This will take thirty seconds."))
- visible_message(SPAN_WARNING ("The cryo cell's tank starts draining as its ejection lights blare!"))
- sleep(300)
- if(!src || !usr || !occupant || (occupant != usr)) //Check if someone's released/replaced/bombed him already
- return
- go_out()//and release him from the eternal prison.
- else
- if(usr.stat != 0)
- return
- go_out()
- return
+ visible_message(SPAN_WARNING("The cryo cell's tank starts draining as its ejection lights blare!"))
+ addtimer(CALLBACK(src, PROC_REF(finish_eject), usr), 30 SECONDS, TIMER_UNIQUE|TIMER_NO_HASH_WAIT)
+ else
+ if(usr.stat != CONSCIOUS)
+ return
+ go_out()
+
+/obj/structure/machinery/cryo_cell/proc/finish_eject(mob/original)
+ //Check if someone's released/replaced/bombed him already
+ if(QDELETED(src) || QDELETED(original) || !occupant || occupant != original)
+ return
+ go_out()//and release him from the eternal prison.
/obj/structure/machinery/cryo_cell/verb/move_inside()
set name = "Move Inside"
@@ -309,8 +363,8 @@
//clickdrag code - "resist to get out" code is in living_verbs.dm
/obj/structure/machinery/cryo_cell/MouseDrop_T(mob/target, mob/user)
. = ..()
- var/mob/living/H = user
- if(!istype(H) || target != user) //cant make others get in. grab-click for this
+ var/mob/living/living_mob = user
+ if(!istype(living_mob) || target != user) //cant make others get in. grab-click for this
return
put_mob(target)
@@ -324,3 +378,8 @@
/datum/data/function/proc/display()
return
+
+#undef DEATH_STAGE_NONE
+#undef DEATH_STAGE_EARLY
+#undef DEATH_STAGE_WARNING
+#undef DEATH_STAGE_CRITICAL
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index 69c2c897e276..1793b87c72ae 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -342,6 +342,7 @@ GLOBAL_LIST_INIT(frozen_items, list(SQUAD_MARINE_1 = list(), SQUAD_MARINE_2 = li
set_name = "Scout Set"
if(SKILL_SPEC_SNIPER)
set_name = "Sniper Set"
+ GLOB.available_specialist_sets += "Anti-materiel Sniper Set"
if(set_name && !GLOB.available_specialist_sets.Find(set_name))
GLOB.available_specialist_sets += set_name
diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm
index 687882d9d7ae..7907c9f28985 100644
--- a/code/game/machinery/deployable.dm
+++ b/code/game/machinery/deployable.dm
@@ -51,11 +51,11 @@
else
switch(W.damtype)
if("fire")
- src.health -= W.force * 0.75
+ health -= W.force * W.demolition_mod * 0.75
if("brute")
- src.health -= W.force * 0.5
- if (src.health <= 0)
- src.explode()
+ health -= W.force * W.demolition_mod * 0.5
+ if (health <= 0)
+ explode()
..()
/obj/structure/machinery/deployable/barrier/ex_act(severity)
diff --git a/code/game/machinery/doors/multi_tile.dm b/code/game/machinery/doors/multi_tile.dm
index 0de099801b49..1e7fcbf40155 100644
--- a/code/game/machinery/doors/multi_tile.dm
+++ b/code/game/machinery/doors/multi_tile.dm
@@ -262,14 +262,14 @@
var/datum/door_controller/single/control = linked_dropship.door_control.door_controllers[direction]
if (control.status != SHUTTLE_DOOR_BROKEN)
return ..()
- if(!skillcheck(user, SKILL_ENGINEER, SKILL_ENGINEER_ENGI))
+ if(!skillcheck(user, SKILL_ENGINEER, SKILL_ENGINEER_ENGI) && !skillcheck(user, SKILL_PILOT, SKILL_PILOT_TRAINED))
to_chat(user, SPAN_WARNING("You don't seem to understand how to restore a remote connection to [src]."))
return
if(user.action_busy)
return
to_chat(user, SPAN_WARNING("You begin to restore the remote connection to [src]."))
- if(!do_after(user, 5 SECONDS, INTERRUPT_ALL, BUSY_ICON_BUILD))
+ if(!do_after(user, (skillcheck(user, SKILL_ENGINEER, SKILL_ENGINEER_ENGI) ? 5 SECONDS : 8 SECONDS), INTERRUPT_ALL, BUSY_ICON_BUILD))
to_chat(user, SPAN_WARNING("You fail to restore a remote connection to [src]."))
return
unlock(TRUE)
diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm
deleted file mode 100644
index df6be1a44b14..000000000000
--- a/code/game/machinery/doors/poddoor.dm
+++ /dev/null
@@ -1,341 +0,0 @@
-
-/obj/structure/machinery/door/poddoor
- name = "\improper Podlock"
- desc = "That looks like it doesn't open easily."
- icon = 'icons/obj/structures/doors/rapid_pdoor.dmi'
- icon_state = "pdoor1"
- var/base_icon_state = "pdoor"
- id = 1
- dir = NORTH
- unslashable = TRUE
- health = 0
- layer = PODDOOR_CLOSED_LAYER
- open_layer = PODDOOR_OPEN_LAYER
- closed_layer = PODDOOR_CLOSED_LAYER
-
-/obj/structure/machinery/door/poddoor/Initialize()
- . = ..()
- if(density)
- set_opacity(1)
- else
- set_opacity(0)
- update_icon()
-
-/obj/structure/machinery/door/poddoor/update_icon()
- if(density)
- icon_state = "[base_icon_state]1"
- else
- icon_state = "[base_icon_state]0"
-
-/obj/structure/machinery/door/poddoor/Collided(atom/movable/AM)
- if(!density)
- return ..()
- else
- return 0
-
-/obj/structure/machinery/door/poddoor/attackby(obj/item/W, mob/user)
- add_fingerprint(user)
- if(!W.pry_capable)
- return
- if(density && (stat & NOPOWER) && !operating && !unacidable)
- spawn(0)
- operating = 1
- flick("[base_icon_state]c0", src)
- icon_state = "[base_icon_state]0"
- set_opacity(0)
- sleep(15)
- density = FALSE
- operating = 0
-
-/obj/structure/machinery/door/poddoor/attack_alien(mob/living/carbon/xenomorph/X)
- if((stat & NOPOWER) && density && !operating && !unacidable)
- INVOKE_ASYNC(src, PROC_REF(pry_open), X)
- return XENO_ATTACK_ACTION
-
-/obj/structure/machinery/door/poddoor/proc/pry_open(mob/living/carbon/xenomorph/X, time = 4 SECONDS)
- X.visible_message(SPAN_DANGER("[X] begins prying [src] open."),\
- SPAN_XENONOTICE("You start prying [src] open."), max_distance = 3)
-
- playsound(loc, 'sound/effects/metal_creaking.ogg', 25, TRUE)
-
- if(!do_after(X, time, INTERRUPT_ALL, BUSY_ICON_HOSTILE, src, INTERRUPT_ALL))
- to_chat(X, "You stop prying [src] open.")
- return
-
- X.visible_message(SPAN_DANGER("[X] pries open [src]."), \
- SPAN_XENONOTICE("You pry open [src]."), max_distance = 3)
-
- open()
- return TRUE
-
-
-/obj/structure/machinery/door/poddoor/try_to_activate_door(mob/user)
- return
-
-/obj/structure/machinery/door/poddoor/open()
- if(operating) //doors can still open when emag-disabled
- return
-
- if(!opacity)
- return TRUE
-
- operating = TRUE
-
- playsound(loc, 'sound/machines/blastdoor.ogg', 20, 0)
- flick("[base_icon_state]c0", src)
- icon_state = "[base_icon_state]0"
- set_opacity(0)
-
- addtimer(CALLBACK(src, PROC_REF(finish_open)), openspeed)
- return TRUE
-
-/obj/structure/machinery/door/poddoor/close()
- if(operating)
- return
- if(opacity == initial(opacity))
- return
-
- operating = TRUE
- playsound(loc, 'sound/machines/blastdoor.ogg', 20, 0)
-
- layer = closed_layer
- flick("[base_icon_state]c1", src)
- icon_state = "[base_icon_state]1"
- density = TRUE
- set_opacity(initial(opacity))
-
- addtimer(CALLBACK(src, PROC_REF(finish_close)), openspeed)
- return
-
-/obj/structure/machinery/door/poddoor/finish_close()
- operating = FALSE
-
-/obj/structure/machinery/door/poddoor/two_tile/open()
- if(operating) //doors can still open when emag-disabled
- return
-
- operating = TRUE
- start_opening()
-
- addtimer(CALLBACK(src, PROC_REF(open_fully)), openspeed)
- return TRUE
-
-/obj/structure/machinery/door/poddoor/two_tile/proc/start_opening()
- flick("[base_icon_state]c0", src)
- icon_state = "[base_icon_state]0"
- set_opacity(0)
- f1.set_opacity(0)
- f2.set_opacity(0)
-
-/obj/structure/machinery/door/poddoor/two_tile/four_tile/start_opening()
- f3.set_opacity(0)
- f4.set_opacity(0)
- ..()
-
-/obj/structure/machinery/door/poddoor/two_tile/proc/open_fully()
- density = FALSE
- f1.density = FALSE
- f2.density = FALSE
-
- if(operating == 1) //emag again
- operating = 0
- if(autoclose)
- addtimer(CALLBACK(src, PROC_REF(autoclose)), 15 SECONDS)
-
-/obj/structure/machinery/door/poddoor/two_tile/four_tile/open_fully()
- f3.density = FALSE
- f4.density = FALSE
- ..()
-
-/obj/structure/machinery/door/poddoor/two_tile/close()
- if(operating)
- return
- start_closing()
- addtimer(CALLBACK(src, PROC_REF(close_fully)), openspeed)
- return
-
-/obj/structure/machinery/door/poddoor/two_tile/proc/start_closing()
- operating = 1
- flick("[base_icon_state]c1", src)
- icon_state = "[base_icon_state]1"
-
- density = TRUE
- f1.density = TRUE
- f2.density = TRUE
-
-/obj/structure/machinery/door/poddoor/two_tile/four_tile/start_closing()
- f3.density = TRUE
- f4.density = TRUE
- ..()
-
-/obj/structure/machinery/door/poddoor/two_tile/proc/close_fully()
- set_opacity(initial(opacity))
- f1.set_opacity(initial(opacity))
- f2.set_opacity(initial(opacity))
- operating = 0
-
-/obj/structure/machinery/door/poddoor/two_tile/four_tile/close_fully()
- f3.set_opacity(initial(opacity))
- f4.set_opacity(initial(opacity))
- ..()
-
-/obj/structure/machinery/door/poddoor/two_tile
- dir = EAST
- icon = 'icons/obj/structures/doors/1x2blast_hor.dmi'
- var/obj/structure/machinery/door/poddoor/filler_object/f1
- var/obj/structure/machinery/door/poddoor/filler_object/f2
-
-/obj/structure/machinery/door/poddoor/two_tile/opened
- density = FALSE
-
-/obj/structure/machinery/door/poddoor/two_tile/Initialize()
- . = ..()
- f1 = new/obj/structure/machinery/door/poddoor/filler_object (loc)
- f2 = new/obj/structure/machinery/door/poddoor/filler_object (get_step(src,dir))
- f1.density = density
- f2.density = density
- f1.set_opacity(opacity)
- f2.set_opacity(opacity)
-
-/obj/structure/machinery/door/poddoor/two_tile/Destroy()
- QDEL_NULL(f1)
- QDEL_NULL(f2)
- return ..()
-
-/obj/structure/machinery/door/poddoor/two_tile/vertical
- dir = NORTH
- icon = 'icons/obj/structures/doors/1x2blast_vert.dmi'
-
-/obj/structure/machinery/door/poddoor/two_tile/vertical/open
- density = FALSE
-
-/obj/structure/machinery/door/poddoor/two_tile/four_tile
- icon = 'icons/obj/structures/doors/1x4blast_hor.dmi'
- var/obj/structure/machinery/door/poddoor/filler_object/f3
- var/obj/structure/machinery/door/poddoor/filler_object/f4
-
-/obj/structure/machinery/door/poddoor/two_tile/four_tile/open
- density = FALSE
-
-/obj/structure/machinery/door/poddoor/two_tile/four_tile/Initialize()
- . = ..()
- f3 = new/obj/structure/machinery/door/poddoor/filler_object (get_step(f2,dir))
- f4 = new/obj/structure/machinery/door/poddoor/filler_object (get_step(f3,dir))
- f3.density = density
- f4.density = density
- f3.set_opacity(opacity)
- f4.set_opacity(opacity)
-
-/obj/structure/machinery/door/poddoor/two_tile/four_tile/Destroy()
- QDEL_NULL(f3)
- QDEL_NULL(f4)
- return ..()
-
-/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical
- dir = NORTH
- icon = 'icons/obj/structures/doors/1x4blast_vert.dmi'
-
-/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical/opened
- density = FALSE
-
-/obj/structure/machinery/door/poddoor/filler_object
- name = ""
- icon = null
- icon_state = ""
- unslashable = TRUE
- unacidable = TRUE
-
-/obj/structure/machinery/door/poddoor/two_tile/four_tile/secure
- icon = 'icons/obj/structures/doors/1x4blast_hor_secure.dmi'
- openspeed = 17
- unslashable = TRUE
- unacidable = TRUE
-
-/obj/structure/machinery/door/poddoor/two_tile/four_tile/secure/opened
- density = FALSE
-
-/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical/secure
- icon = 'icons/obj/structures/doors/1x4blast_vert_secure.dmi'
- openspeed = 17
- unslashable = TRUE
- unacidable = TRUE
-
-/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical/secure/open
- density = FALSE
-
-/obj/structure/machinery/door/poddoor/two_tile/secure
- icon = 'icons/obj/structures/doors/1x2blast_hor.dmi'
- openspeed = 17
- unslashable = TRUE
- unacidable = TRUE
-
-/obj/structure/machinery/door/poddoor/two_tile/vertical/secure
- icon = 'icons/obj/structures/doors/1x2blast_vert.dmi'
- openspeed = 17
- unacidable = TRUE
-
-/obj/structure/machinery/door/poddoor/almayer
- icon = 'icons/obj/structures/doors/blastdoors_shutters.dmi'
- openspeed = 4 //shorter open animation.
- var/vehicle_resistant = FALSE
- tiles_with = list(
- /obj/structure/window/framed/almayer,
- /obj/structure/machinery/door/airlock,
- )
-
-/obj/structure/machinery/door/poddoor/almayer/Initialize()
- . = ..()
- return INITIALIZE_HINT_LATELOAD
-
-/obj/structure/machinery/door/poddoor/almayer/LateInitialize()
- . = ..()
- relativewall_neighbours()
-
-/obj/structure/machinery/door/poddoor/almayer/open
- density = FALSE
-
-/obj/structure/machinery/door/poddoor/almayer/blended
- icon_state = "almayer_pdoor1"
- base_icon_state = "almayer_pdoor"
-
-/obj/structure/machinery/door/poddoor/almayer/blended/open
- density = FALSE
-
-/obj/structure/machinery/door/poddoor/almayer/blended/white
- icon_state = "w_almayer_pdoor1"
- base_icon_state = "w_almayer_pdoor"
-
-/obj/structure/machinery/door/poddoor/almayer/blended/white/open
- density = FALSE
-
-/obj/structure/machinery/door/poddoor/almayer/blended/aicore
- icon_state = "aidoor1"
- base_icon_state = "aidoor"
-
-/obj/structure/machinery/door/poddoor/almayer/blended/aicore/open
- density = FALSE
-
-/obj/structure/machinery/door/poddoor/almayer/blended/white_aicore
- icon_state = "w_aidoor1"
- base_icon_state = "w_aidoor"
-
-/obj/structure/machinery/door/poddoor/almayer/blended/white_aicore/open
- density = FALSE
-
-/obj/structure/machinery/door/poddoor/almayer/locked
- unslashable = TRUE
- unacidable = TRUE
-
-/obj/structure/machinery/door/poddoor/almayer/locked/attackby(obj/item/C as obj, mob/user as mob)
- if(HAS_TRAIT(C, TRAIT_TOOL_CROWBAR))
- return
- ..()
-
-/obj/structure/machinery/door/poddoor/almayer/closed
- density = TRUE
- opacity = TRUE
-
-/obj/structure/machinery/door/poddoor/almayer/planet_side_blastdoor
- density = TRUE
- opacity = TRUE
- vehicle_resistant = TRUE
diff --git a/code/game/machinery/doors/poddoor/almayer.dm b/code/game/machinery/doors/poddoor/almayer.dm
new file mode 100644
index 000000000000..2b296412df7d
--- /dev/null
+++ b/code/game/machinery/doors/poddoor/almayer.dm
@@ -0,0 +1,65 @@
+/obj/structure/machinery/door/poddoor/almayer
+ icon = 'icons/obj/structures/doors/blastdoors_shutters.dmi'
+ openspeed = 4 //shorter open animation.
+ var/vehicle_resistant = FALSE
+ tiles_with = list(
+ /obj/structure/window/framed/almayer,
+ /obj/structure/machinery/door/airlock,
+ )
+
+/obj/structure/machinery/door/poddoor/almayer/Initialize()
+ . = ..()
+ return INITIALIZE_HINT_LATELOAD
+
+/obj/structure/machinery/door/poddoor/almayer/LateInitialize()
+ . = ..()
+ relativewall_neighbours()
+
+/obj/structure/machinery/door/poddoor/almayer/open
+ density = FALSE
+
+/obj/structure/machinery/door/poddoor/almayer/blended
+ icon_state = "almayer_pdoor1"
+ base_icon_state = "almayer_pdoor"
+
+/obj/structure/machinery/door/poddoor/almayer/blended/open
+ density = FALSE
+
+/obj/structure/machinery/door/poddoor/almayer/blended/white
+ icon_state = "w_almayer_pdoor1"
+ base_icon_state = "w_almayer_pdoor"
+
+/obj/structure/machinery/door/poddoor/almayer/blended/white/open
+ density = FALSE
+
+/obj/structure/machinery/door/poddoor/almayer/blended/aicore
+ icon_state = "aidoor1"
+ base_icon_state = "aidoor"
+
+/obj/structure/machinery/door/poddoor/almayer/blended/aicore/open
+ density = FALSE
+
+/obj/structure/machinery/door/poddoor/almayer/blended/white_aicore
+ icon_state = "w_aidoor1"
+ base_icon_state = "w_aidoor"
+
+/obj/structure/machinery/door/poddoor/almayer/blended/white_aicore/open
+ density = FALSE
+
+/obj/structure/machinery/door/poddoor/almayer/locked
+ unslashable = TRUE
+ unacidable = TRUE
+
+/obj/structure/machinery/door/poddoor/almayer/locked/attackby(obj/item/C as obj, mob/user as mob)
+ if(HAS_TRAIT(C, TRAIT_TOOL_CROWBAR))
+ return
+ ..()
+
+/obj/structure/machinery/door/poddoor/almayer/closed
+ density = TRUE
+ opacity = TRUE
+
+/obj/structure/machinery/door/poddoor/almayer/planet_side_blastdoor
+ density = TRUE
+ opacity = TRUE
+ vehicle_resistant = TRUE
diff --git a/code/game/machinery/doors/poddoor/poddoor.dm b/code/game/machinery/doors/poddoor/poddoor.dm
new file mode 100644
index 000000000000..84bc8d91cd69
--- /dev/null
+++ b/code/game/machinery/doors/poddoor/poddoor.dm
@@ -0,0 +1,117 @@
+/obj/structure/machinery/door/poddoor
+ name = "\improper Podlock"
+ desc = "That looks like it doesn't open easily."
+ icon = 'icons/obj/structures/doors/rapid_pdoor.dmi'
+ icon_state = "pdoor1"
+ var/base_icon_state = "pdoor"
+ id = 1
+ dir = NORTH
+ unslashable = TRUE
+ health = 0
+ layer = PODDOOR_CLOSED_LAYER
+ open_layer = PODDOOR_OPEN_LAYER
+ closed_layer = PODDOOR_CLOSED_LAYER
+
+/obj/structure/machinery/door/poddoor/Initialize()
+ . = ..()
+ if(density)
+ set_opacity(1)
+ else
+ set_opacity(0)
+ update_icon()
+
+/obj/structure/machinery/door/poddoor/update_icon()
+ if(density)
+ icon_state = "[base_icon_state]1"
+ else
+ icon_state = "[base_icon_state]0"
+
+/obj/structure/machinery/door/poddoor/Collided(atom/movable/AM)
+ if(!density)
+ return ..()
+ else
+ return 0
+
+/obj/structure/machinery/door/poddoor/attackby(obj/item/W, mob/user)
+ add_fingerprint(user)
+ if(!W.pry_capable)
+ return
+ if(density && (stat & NOPOWER) && !operating && !unacidable)
+ spawn(0)
+ operating = 1
+ flick("[base_icon_state]c0", src)
+ icon_state = "[base_icon_state]0"
+ set_opacity(0)
+ sleep(15)
+ density = FALSE
+ operating = 0
+
+/obj/structure/machinery/door/poddoor/attack_alien(mob/living/carbon/xenomorph/X)
+ if((stat & NOPOWER) && density && !operating && !unacidable)
+ INVOKE_ASYNC(src, PROC_REF(pry_open), X)
+ return XENO_ATTACK_ACTION
+
+/obj/structure/machinery/door/poddoor/proc/pry_open(mob/living/carbon/xenomorph/X, time = 4 SECONDS)
+ X.visible_message(SPAN_DANGER("[X] begins prying [src] open."),\
+ SPAN_XENONOTICE("You start prying [src] open."), max_distance = 3)
+
+ playsound(loc, 'sound/effects/metal_creaking.ogg', 25, TRUE)
+
+ if(!do_after(X, time, INTERRUPT_ALL, BUSY_ICON_HOSTILE, src, INTERRUPT_ALL))
+ to_chat(X, "You stop prying [src] open.")
+ return
+
+ X.visible_message(SPAN_DANGER("[X] pries open [src]."), \
+ SPAN_XENONOTICE("You pry open [src]."), max_distance = 3)
+
+ open()
+ return TRUE
+
+
+/obj/structure/machinery/door/poddoor/try_to_activate_door(mob/user)
+ return
+
+/obj/structure/machinery/door/poddoor/open()
+ if(operating) //doors can still open when emag-disabled
+ return
+
+ if(!opacity)
+ return TRUE
+
+ operating = TRUE
+
+ playsound(loc, 'sound/machines/blastdoor.ogg', 20, 0)
+ flick("[base_icon_state]c0", src)
+ icon_state = "[base_icon_state]0"
+ set_opacity(0)
+
+ addtimer(CALLBACK(src, PROC_REF(finish_open)), openspeed)
+ return TRUE
+
+/obj/structure/machinery/door/poddoor/close()
+ if(operating)
+ return
+ if(opacity == initial(opacity))
+ return
+
+ operating = TRUE
+ playsound(loc, 'sound/machines/blastdoor.ogg', 20, 0)
+
+ layer = closed_layer
+ flick("[base_icon_state]c1", src)
+ icon_state = "[base_icon_state]1"
+ density = TRUE
+ set_opacity(initial(opacity))
+
+ addtimer(CALLBACK(src, PROC_REF(finish_close)), openspeed)
+ return
+
+/obj/structure/machinery/door/poddoor/finish_close()
+ operating = FALSE
+
+/obj/structure/machinery/door/poddoor/filler_object
+ name = ""
+ icon = null
+ icon_state = ""
+ unslashable = TRUE
+ unacidable = TRUE
diff --git a/code/game/machinery/doors/shutters.dm b/code/game/machinery/doors/poddoor/shutters/shutters.dm
similarity index 100%
rename from code/game/machinery/doors/shutters.dm
rename to code/game/machinery/doors/poddoor/shutters/shutters.dm
diff --git a/code/game/machinery/doors/poddoor/two_tile.dm b/code/game/machinery/doors/poddoor/two_tile.dm
new file mode 100644
index 000000000000..f04435bbe2ae
--- /dev/null
+++ b/code/game/machinery/doors/poddoor/two_tile.dm
@@ -0,0 +1,156 @@
+/obj/structure/machinery/door/poddoor/two_tile
+ dir = EAST
+ icon = 'icons/obj/structures/doors/1x2blast_hor.dmi'
+ var/obj/structure/machinery/door/poddoor/filler_object/f1
+ var/obj/structure/machinery/door/poddoor/filler_object/f2
+
+/obj/structure/machinery/door/poddoor/two_tile/opened
+ density = FALSE
+
+/obj/structure/machinery/door/poddoor/two_tile/Initialize()
+ . = ..()
+ f1 = new/obj/structure/machinery/door/poddoor/filler_object (loc)
+ f2 = new/obj/structure/machinery/door/poddoor/filler_object (get_step(src,dir))
+ f1.density = density
+ f2.density = density
+ f1.set_opacity(opacity)
+ f2.set_opacity(opacity)
+
+/obj/structure/machinery/door/poddoor/two_tile/Destroy()
+ QDEL_NULL(f1)
+ QDEL_NULL(f2)
+ return ..()
+
+/obj/structure/machinery/door/poddoor/two_tile/open()
+ if(operating) //doors can still open when emag-disabled
+ return
+
+ operating = TRUE
+ start_opening()
+
+ addtimer(CALLBACK(src, PROC_REF(open_fully)), openspeed)
+ return TRUE
+
+/obj/structure/machinery/door/poddoor/two_tile/proc/start_opening()
+ flick("[base_icon_state]c0", src)
+ icon_state = "[base_icon_state]0"
+ set_opacity(0)
+ f1.set_opacity(0)
+ f2.set_opacity(0)
+
+/obj/structure/machinery/door/poddoor/two_tile/four_tile/start_opening()
+ f3.set_opacity(0)
+ f4.set_opacity(0)
+ ..()
+
+/obj/structure/machinery/door/poddoor/two_tile/proc/open_fully()
+ density = FALSE
+ f1.density = FALSE
+ f2.density = FALSE
+
+ if(operating == 1) //emag again
+ operating = 0
+ if(autoclose)
+ addtimer(CALLBACK(src, PROC_REF(autoclose)), 15 SECONDS)
+
+/obj/structure/machinery/door/poddoor/two_tile/four_tile/open_fully()
+ f3.density = FALSE
+ f4.density = FALSE
+ ..()
+
+/obj/structure/machinery/door/poddoor/two_tile/close()
+ if(operating)
+ return
+ start_closing()
+ addtimer(CALLBACK(src, PROC_REF(close_fully)), openspeed)
+ return
+
+/obj/structure/machinery/door/poddoor/two_tile/proc/start_closing()
+ operating = 1
+ flick("[base_icon_state]c1", src)
+ icon_state = "[base_icon_state]1"
+
+ density = TRUE
+ f1.density = TRUE
+ f2.density = TRUE
+
+/obj/structure/machinery/door/poddoor/two_tile/four_tile/start_closing()
+ f3.density = TRUE
+ f4.density = TRUE
+ ..()
+
+/obj/structure/machinery/door/poddoor/two_tile/proc/close_fully()
+ set_opacity(initial(opacity))
+ f1.set_opacity(initial(opacity))
+ f2.set_opacity(initial(opacity))
+ operating = 0
+
+/obj/structure/machinery/door/poddoor/two_tile/four_tile/close_fully()
+ f3.set_opacity(initial(opacity))
+ f4.set_opacity(initial(opacity))
+ ..()
+
+/obj/structure/machinery/door/poddoor/two_tile/vertical
+ dir = NORTH
+ icon = 'icons/obj/structures/doors/1x2blast_vert.dmi'
+
+/obj/structure/machinery/door/poddoor/two_tile/vertical/open
+ density = FALSE
+
+/obj/structure/machinery/door/poddoor/two_tile/four_tile
+ icon = 'icons/obj/structures/doors/1x4blast_hor.dmi'
+ var/obj/structure/machinery/door/poddoor/filler_object/f3
+ var/obj/structure/machinery/door/poddoor/filler_object/f4
+
+/obj/structure/machinery/door/poddoor/two_tile/four_tile/open
+ density = FALSE
+
+/obj/structure/machinery/door/poddoor/two_tile/four_tile/Initialize()
+ . = ..()
+ f3 = new/obj/structure/machinery/door/poddoor/filler_object (get_step(f2,dir))
+ f4 = new/obj/structure/machinery/door/poddoor/filler_object (get_step(f3,dir))
+ f3.density = density
+ f4.density = density
+ f3.set_opacity(opacity)
+ f4.set_opacity(opacity)
+
+/obj/structure/machinery/door/poddoor/two_tile/four_tile/Destroy()
+ QDEL_NULL(f3)
+ QDEL_NULL(f4)
+ return ..()
+
+/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical
+ dir = NORTH
+ icon = 'icons/obj/structures/doors/1x4blast_vert.dmi'
+
+/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical/opened
+ density = FALSE
+
+/obj/structure/machinery/door/poddoor/two_tile/four_tile/secure
+ icon = 'icons/obj/structures/doors/1x4blast_hor_secure.dmi'
+ openspeed = 17
+ unslashable = TRUE
+ unacidable = TRUE
+
+/obj/structure/machinery/door/poddoor/two_tile/four_tile/secure/opened
+ density = FALSE
+
+/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical/secure
+ icon = 'icons/obj/structures/doors/1x4blast_vert_secure.dmi'
+ openspeed = 17
+ unslashable = TRUE
+ unacidable = TRUE
+
+/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical/secure/open
+ density = FALSE
+
+/obj/structure/machinery/door/poddoor/two_tile/secure
+ icon = 'icons/obj/structures/doors/1x2blast_hor.dmi'
+ openspeed = 17
+ unslashable = TRUE
+ unacidable = TRUE
+
+/obj/structure/machinery/door/poddoor/two_tile/vertical/secure
+ icon = 'icons/obj/structures/doors/1x2blast_vert.dmi'
+ openspeed = 17
+ unacidable = TRUE
diff --git a/code/game/machinery/kitchen/gibber.dm b/code/game/machinery/kitchen/gibber.dm
index 3fa96ca0bc3a..4b68b397116e 100644
--- a/code/game/machinery/kitchen/gibber.dm
+++ b/code/game/machinery/kitchen/gibber.dm
@@ -105,15 +105,28 @@
to_chat(user, SPAN_WARNING("You need a better grip to do that!"))
return
- if(victim.abiotic(1))
+ if(victim.abiotic(TRUE))
to_chat(user, SPAN_WARNING("Subject may not have abiotic items on."))
return
user.visible_message(SPAN_DANGER("[user] starts to put [victim] into the gibber!"))
add_fingerprint(user)
+ ///If synth is getting gibbed, we will 'soft gib' them, but this is still pretty LRP so let admin know.
+ if(issynth(victim) && ishuman_strict(user) && !occupant)
+ var/turf/turf_ref = get_turf(user)
+ var/area/area = get_area(user)
+ message_admins("ALERT: [user] ([user.key]) is trying to shove [victim] in a gibber! (They are a synth, so this will delimb them) ([victim.key]) in [area.name] [ADMIN_JMP(turf_ref)]")
+ log_attack("[key_name(user)] tried to delimb [victim] using a gibber ([victim.key]) in [area.name]")
+ to_chat(user, SPAN_DANGER("What are you doing..."))
+ if(do_after(user, 30 SECONDS, INTERRUPT_ALL, BUSY_ICON_HOSTILE && grabbed && grabbed.grabbed_thing && !occupant))
+ user.visible_message(SPAN_DANGER("[user] stuffs [victim] into the gibber!"))
+ victim.forceMove(src)
+ occupant = victim
+ update_icon()
+
///If someone's being LRP and doing funny chef shit, this lets admins know. This *shouldn't* flag preds, though.
- if(ishuman(victim) && ishuman_strict(user) && !occupant)
+ else if(ishuman(victim) && ishuman_strict(user) && !occupant)
var/turf/turf_ref = get_turf(user)
var/area/area = get_area(user)
message_admins("ALERT: [user] ([user.key]) is trying to gib [victim] ([victim.key]) in [area.name] [ADMIN_JMP(turf_ref)]")
@@ -142,18 +155,23 @@
add_fingerprint(usr)
return
-/obj/structure/machinery/gibber/proc/go_out()
+/obj/structure/machinery/gibber/proc/go_out(launch = FALSE)
if (!occupant)
- return
+ return FALSE
for(var/obj/O in src)
O.forceMove(loc)
if (occupant.client)
occupant.client.eye = occupant.client.mob
occupant.client.perspective = MOB_PERSPECTIVE
occupant.forceMove(loc)
+ if(launch)
+ // yeet them out of the gibber
+ visible_message(SPAN_DANGER("[occupant] suddenly is launched out of the [src]!"))
+ var/turf/Tx = locate(x - 3, y, z)
+ occupant.throw_atom(Tx, 3, SPEED_FAST, src, TRUE)
occupant = null
update_icon()
- return
+ return TRUE
/obj/structure/machinery/gibber/proc/startgibbing(mob/user as mob)
@@ -162,13 +180,18 @@
if(!occupant)
visible_message(SPAN_DANGER("You hear a loud metallic grinding sound."))
return
+ var/synthetic = issynth(occupant)
use_power(1000)
- visible_message(SPAN_DANGER("You hear a loud squelchy grinding sound."))
- operating = 1
+ if(synthetic)
+ visible_message(SPAN_BOLDWARNING("[src] begins to emitt sparks out the top as a banging noise can be heard!"), SPAN_BOLDWARNING("You hear a myriad of loud bangs!"))
+ else
+ visible_message(SPAN_DANGER("You hear a loud squelchy grinding sound."))
+ operating = TRUE
update_icon()
var/totalslabs = 2
+
var/obj/item/reagent_container/food/snacks/meat/meat_template = /obj/item/reagent_container/food/snacks/meat/monkey
if(istype(occupant, /mob/living/carbon/xenomorph))
var/mob/living/carbon/xenomorph/X = occupant
@@ -186,6 +209,35 @@
meat_template = /obj/item/reagent_container/food/snacks/meat/human
totalslabs = 3
+ // Synths only get delimbed from this. 1 meat per limb
+ if(synthetic)
+ meat_template = /obj/item/reagent_container/food/snacks/meat/synthmeat/synthflesh
+ totalslabs = 0
+ var/mob/living/carbon/human/victim = occupant
+
+ // Remove all limbs to allow synth to park closer at the supermarket
+ var/obj/limb/limb
+
+ if(victim.has_limb("l_leg"))
+ limb = victim.get_limb("r_leg")
+ totalslabs += 1
+ limb.droplimb(FALSE, TRUE, "gibber")
+
+ if(victim.has_limb("l_leg"))
+ limb = victim.get_limb("l_leg")
+ totalslabs += 1
+ limb.droplimb(FALSE, TRUE, "gibber")
+
+ if(victim.has_limb("r_arm"))
+ limb = victim.get_limb("r_arm")
+ totalslabs += 1
+ limb.droplimb(FALSE, TRUE, "gibber")
+
+ if(victim.has_limb("l_arm"))
+ limb = victim.get_limb("l_arm")
+ totalslabs += 1
+ limb.droplimb(FALSE, TRUE, "gibber")
+
var/obj/item/reagent_container/food/snacks/meat/allmeat[totalslabs]
for(var/i in 1 to totalslabs)
var/obj/item/reagent_container/food/snacks/meat/newmeat
@@ -194,26 +246,38 @@
newmeat.name = newmeat.made_from_player + newmeat.name
allmeat[i] = newmeat
- if(src.occupant.client) // Gibbed a cow with a client in it? log that shit
- src.occupant.attack_log += "\[[time_stamp()]\] Was gibbed by [key_name(user)]"
+ // Synths wont die to this (on it's own at least), dont log as a gib
+ if(synthetic)
+ if(occupant.client) // Log still
+ occupant.attack_log += "\[[time_stamp()]\] Was delimbed by [key_name(user)]"
+ user.attack_log += "\[[time_stamp()]\] delimbed [key_name(occupant)]"
+ msg_admin_attack("[key_name(user)] delimbed [key_name(occupant)] with a gibber in [user.loc.name]([user.x], [user.y], [user.z]).", user.x, user.y, user.z)
+ continue
+
+ if(occupant.client) // Gibbed a cow with a client in it? log that shit
+ occupant.attack_log += "\[[time_stamp()]\] Was gibbed by [key_name(user)]"
user.attack_log += "\[[time_stamp()]\] Gibbed [key_name(occupant)]"
msg_admin_attack("[key_name(user)] gibbed [key_name(occupant)] in [user.loc.name] ([user.x], [user.y], [user.z]).", user.x, user.y, user.z)
- src.occupant.death(create_cause_data("gibber", user), TRUE)
- src.occupant.ghostize()
+ occupant.death(create_cause_data("gibber", user), TRUE)
+ occupant.ghostize()
- QDEL_NULL(occupant)
+ if(synthetic)
+ to_chat(occupant, SPAN_HIGHDANGER("You can detect your limbs being ripped off your body, but it begins to malfunction as it reaches your torso!"))
+ addtimer(CALLBACK(src, PROC_REF(create_gibs), totalslabs, allmeat), gibtime)
+ addtimer(CALLBACK(src, PROC_REF(go_out), TRUE), gibtime)
+ return
- addtimer(CALLBACK(src, PROC_REF(create_gibs), totalslabs, allmeat), gibtime)
+ QDEL_NULL(occupant)
/obj/structure/machinery/gibber/proc/create_gibs(totalslabs, list/obj/item/reagent_container/food/snacks/allmeat)
playsound(loc, 'sound/effects/splat.ogg', 25, 1)
operating = FALSE
+ var/turf/Tx = locate(x - 1, y, z)
for (var/i in 1 to totalslabs)
var/obj/item/meatslab = allmeat[i]
- var/turf/Tx = locate(x - i, y, z)
meatslab.forceMove(loc)
- meatslab.throw_atom(Tx, i, SPEED_FAST, src)
+ meatslab.throw_atom(Tx, 1, SPEED_FAST, src)
if (!Tx.density)
if(istype(meatslab, /obj/item/reagent_container/food/snacks/meat/xenomeat))
new /obj/effect/decal/cleanable/blood/gibs/xeno(Tx)
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 88055a89f82b..f835ecaa424c 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -254,6 +254,10 @@ Class Procs:
return TRUE
if(user.is_mob_incapacitated())
return TRUE
+ if(!(istype(user, /mob/living/carbon/human) || isRemoteControlling(user) || istype(user, /mob/living/carbon/xenomorph)))
+ if(!HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
+ to_chat(usr, SPAN_DANGER("You don't have the dexterity to do this!"))
+ return TRUE
if(!is_valid_user(user))
to_chat(usr, SPAN_DANGER("You don't have the dexterity to do this!"))
return TRUE
@@ -351,3 +355,72 @@ Class Procs:
icon_state = "autolathe"
density = TRUE
anchored = TRUE
+
+/obj/structure/machinery/fuelpump
+ name = "\improper Fuel Pump"
+ layer = ABOVE_MOB_LAYER
+ desc = "It is a machine that pumps fuel around the ship."
+ icon = 'icons/obj/structures/machinery/fuelpump.dmi'
+ icon_state = "fuelpump_off"
+ health = null
+ indestructible = TRUE
+ density = TRUE
+ anchored = TRUE
+ unslashable = TRUE
+ unacidable = TRUE
+ wrenchable = FALSE
+
+/obj/structure/machinery/fuelpump/ex_act(severity)
+ return
+
+/obj/structure/machinery/fuelpump/Initialize(mapload, ...)
+ . = ..()
+ RegisterSignal(SSdcs, COMSIG_GLOB_FUEL_PUMP_UPDATE, PROC_REF(on_pump_update))
+
+/obj/structure/machinery/fuelpump/proc/on_pump_update()
+ SIGNAL_HANDLER
+ playsound(src, 'sound/machines/resource_node/node_idle.ogg', 60, TRUE)
+ update_icon()
+
+/obj/structure/machinery/fuelpump/update_icon()
+ if(stat & NOPOWER)
+ icon_state = "fuelpump_off"
+ return
+ if(SShijack.hijack_status < HIJACK_OBJECTIVES_STARTED)
+ icon_state = "fuelpump_on"
+ return
+ switch(SShijack.current_progress)
+ if(-INFINITY to 24)
+ icon_state = "fuelpump_0"
+ if(25 to 49)
+ icon_state = "fuelpump_25"
+ if(50 to 74)
+ icon_state = "fuelpump_50"
+ if(75 to 99)
+ icon_state = "fuelpump_75"
+ if(100 to INFINITY)
+ icon_state = "fuelpump_100"
+ else
+ icon_state = "fuelpump_on" // Never should happen
+
+/obj/structure/machinery/fuelpump/get_examine_text(mob/user)
+ . = ..()
+ if(get_dist(user, src) > 2 && user != loc)
+ return
+ if(inoperable())
+ return
+ if(SShijack.hijack_status < HIJACK_OBJECTIVES_STARTED)
+ return
+ switch(SShijack.current_progress)
+ if(-INFINITY to 24)
+ . += SPAN_NOTICE("It looks like it barely has any fuel yet.")
+ if(25 to 49)
+ . += SPAN_NOTICE("It looks like it has accumulated some fuel.")
+ if(50 to 74)
+ . += SPAN_NOTICE("It looks like the fuel tank is a little over half full.")
+ if(75 to 99)
+ . += SPAN_NOTICE("It looks like the fuel tank is almost full.")
+ if(100 to INFINITY)
+ . += SPAN_NOTICE("It looks like the fuel tank is full.")
+ else
+ . += SPAN_NOTICE("It looks like something is wrong!") // Never should happen
diff --git a/code/game/machinery/vending/cm_vending.dm b/code/game/machinery/vending/cm_vending.dm
index 4f825030d627..c7443130b247 100644
--- a/code/game/machinery/vending/cm_vending.dm
+++ b/code/game/machinery/vending/cm_vending.dm
@@ -373,41 +373,49 @@ GLOBAL_LIST_EMPTY(vending_products)
//------------INTERACTION PROCS---------------
-/obj/structure/machinery/cm_vending/attack_alien(mob/living/carbon/xenomorph/M)
+/obj/structure/machinery/cm_vending/attack_alien(mob/living/carbon/xenomorph/user)
if(stat & TIPPED_OVER || indestructible)
- to_chat(M, SPAN_WARNING("There's no reason to bother with that old piece of trash."))
+ to_chat(user, SPAN_WARNING("There's no reason to bother with that old piece of trash."))
return XENO_NO_DELAY_ACTION
- if(M.a_intent == INTENT_HARM && !unslashable)
- M.animation_attack_on(src)
- if(prob(M.melee_damage_lower))
+ if(user.a_intent == INTENT_HARM && !unslashable)
+ user.animation_attack_on(src)
+ if(prob(user.melee_damage_lower))
playsound(loc, 'sound/effects/metalhit.ogg', 25, 1)
- M.visible_message(SPAN_DANGER("[M] smashes [src] beyond recognition!"), \
+ user.visible_message(SPAN_DANGER("[user] smashes [src] beyond recognition!"), \
SPAN_DANGER("You enter a frenzy and smash [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT)
malfunction()
tip_over()
else
- M.visible_message(SPAN_DANGER("[M] slashes [src]!"), \
+ user.visible_message(SPAN_DANGER("[user] slashes [src]!"), \
SPAN_DANGER("You slash [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT)
playsound(loc, 'sound/effects/metalhit.ogg', 25, 1)
return XENO_ATTACK_ACTION
- if(M.action_busy)
+ if(user.action_busy)
return XENO_NO_DELAY_ACTION
-
- M.visible_message(SPAN_WARNING("[M] begins to lean against [src]."), \
+ if(user.a_intent == INTENT_HELP && user.IsAdvancedToolUser())
+ user.set_interaction(src)
+ tgui_interact(user)
+ if(!hacked)
+ to_chat(user, SPAN_WARNING("You slash open [src]'s front panel, revealing the items within."))
+ var/datum/effect_system/spark_spread/spark_system = new
+ spark_system.set_up(5, 5, get_turf(src))
+ hacked = TRUE
+ return XENO_ATTACK_ACTION
+ user.visible_message(SPAN_WARNING("[user] begins to lean against [src]."), \
SPAN_WARNING("You begin to lean against [src]."), null, 5, CHAT_TYPE_XENO_COMBAT)
var/shove_time = 80
- if(M.mob_size >= MOB_SIZE_BIG)
+ if(user.mob_size >= MOB_SIZE_BIG)
shove_time = 30
- if(istype(M,/mob/living/carbon/xenomorph/crusher))
+ if(istype(user,/mob/living/carbon/xenomorph/crusher))
shove_time = 15
- xeno_attack_delay(M) //Adds delay here and returns nothing because otherwise it'd cause lag *after* finishing the shove.
+ xeno_attack_delay(user) //Adds delay here and returns nothing because otherwise it'd cause lag *after* finishing the shove.
- if(do_after(M, shove_time, INTERRUPT_ALL, BUSY_ICON_HOSTILE))
- M.animation_attack_on(src)
- M.visible_message(SPAN_DANGER("[M] knocks [src] down!"), \
+ if(do_after(user, shove_time, INTERRUPT_ALL, BUSY_ICON_HOSTILE))
+ user.animation_attack_on(src)
+ user.visible_message(SPAN_DANGER("[user] knocks [src] down!"), \
SPAN_DANGER("You knock [src] down!"), null, 5, CHAT_TYPE_XENO_COMBAT)
tip_over()
return XENO_NO_DELAY_ACTION
@@ -508,7 +516,12 @@ GLOBAL_LIST_EMPTY(vending_products)
if(.)
return
- var/mob/living/carbon/human/user = usr
+ var/mob/living/carbon/human/human_user
+ var/mob/living/carbon/user = ui.user
+
+ if(ishuman(user))
+ human_user = usr
+
switch (action)
if ("vend")
if(stat & IN_USE)
@@ -528,8 +541,11 @@ GLOBAL_LIST_EMPTY(vending_products)
to_chat(usr, SPAN_WARNING("The floor is too cluttered, make some space."))
vend_fail()
return FALSE
-
- if((!user.assigned_squad && squad_tag) || (!user.assigned_squad?.omni_squad_vendor && (squad_tag && user.assigned_squad.name != squad_tag)))
+ if(HAS_TRAIT(user,TRAIT_OPPOSABLE_THUMBS)) // the big monster 7 ft with thumbs does not care for squads
+ vendor_successful_vend(itemspec, usr)
+ add_fingerprint(usr)
+ return TRUE
+ if((!human_user.assigned_squad && squad_tag) || (!human_user.assigned_squad?.omni_squad_vendor && (squad_tag && human_user.assigned_squad.name != squad_tag)))
to_chat(user, SPAN_WARNING("This machine isn't for your squad."))
vend_fail()
return FALSE
@@ -554,7 +570,7 @@ GLOBAL_LIST_EMPTY(vending_products)
to_chat(user, SPAN_WARNING("That set is already taken."))
vend_fail()
return FALSE
- var/obj/item/card/id/ID = user.wear_id
+ var/obj/item/card/id/ID = human_user.wear_id
if(!istype(ID) || !ID.check_biometrics(user))
to_chat(user, SPAN_WARNING("You must be wearing your [SPAN_INFO("dog tags")] to select a specialization!"))
return FALSE
@@ -566,6 +582,11 @@ GLOBAL_LIST_EMPTY(vending_products)
if("Sniper Set")
user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SNIPER)
specialist_assignment = "Sniper"
+ GLOB.available_specialist_sets -= "Anti-materiel Sniper Set"
+ if("Anti-materiel Sniper Set")
+ user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SNIPER)
+ specialist_assignment = "Heavy Sniper"
+ GLOB.available_specialist_sets -= "Sniper Set"
if("Demolitionist Set")
user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_ROCKET)
specialist_assignment = "Demo"
@@ -579,7 +600,7 @@ GLOBAL_LIST_EMPTY(vending_products)
to_chat(user, SPAN_WARNING("Something bad occurred with [src], tell a Dev."))
vend_fail()
return FALSE
- ID.set_assignment((user.assigned_squad ? (user.assigned_squad.name + " ") : "") + JOB_SQUAD_SPECIALIST + " ([specialist_assignment])")
+ ID.set_assignment((human_user.assigned_squad ? (human_user.assigned_squad.name + " ") : "") + JOB_SQUAD_SPECIALIST + " ([specialist_assignment])")
GLOB.data_core.manifest_modify(user.real_name, WEAKREF(user), ID.assignment)
GLOB.available_specialist_sets -= p_name
else if(vendor_role.Find(JOB_SYNTH))
@@ -772,6 +793,8 @@ GLOBAL_LIST_EMPTY(vending_products)
return listed_products
/obj/structure/machinery/cm_vending/proc/can_access_to_vend(mob/user, display = TRUE, ignore_hack = FALSE)
+ if(HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) // We're just going to skip the mess of access checks assuming xenos with thumbs are human and just allow them to access because it's funny
+ return TRUE
if(!hacked || ignore_hack)
if(!allowed(user))
if(display)
@@ -985,12 +1008,16 @@ GLOBAL_LIST_EMPTY(vending_products)
to_chat(user, SPAN_WARNING("\The [item_to_stock] needs to be fully charged to restock it!"))
return
- if(istype(item_to_stock, /obj/item/cell))
+ else if(istype(item_to_stock, /obj/item/cell))
var/obj/item/cell/C = item_to_stock
if(C.charge < C.maxcharge)
to_chat(user, SPAN_WARNING("\The [item_to_stock] needs to be fully charged to restock it!"))
return
+ else if(!additional_restock_checks(item_to_stock, user))
+ // the error message needs to go in the proc
+ return FALSE
+
if(item_to_stock.loc == user) //Inside the mob's inventory
if(item_to_stock.flags_item & WIELDED)
item_to_stock.unwield(user)
@@ -1008,6 +1035,10 @@ GLOBAL_LIST_EMPTY(vending_products)
updateUsrDialog()
return //We found our item, no reason to go on.
+/// additional restocking checks for individual vendor subtypes. Parse in item, do checks, return FALSE to fail. Include error message.
+/obj/structure/machinery/cm_vending/sorted/proc/additional_restock_checks(obj/item/item_to_stock, mob/user)
+ return TRUE
+
//sending an /empty ammo box type path here will return corresponding regular (full) type of this box
//if there is one set in corresponding_box_types or will return FALSE otherwise
/obj/structure/machinery/cm_vending/sorted/proc/return_corresponding_type(unusual_path)
@@ -1275,12 +1306,15 @@ GLOBAL_LIST_INIT(cm_vending_gear_corresponding_types_list, list(
if(vend_flags & VEND_UNIFORM_RANKS)
if(insignas_override)
var/obj/item/clothing/under/underclothes = new_item
+
//Gives ranks to the ranked
if(istype(underclothes) && user.wear_id && user.wear_id.paygrade)
var/rankpath = get_rank_pins(user.wear_id.paygrade)
if(rankpath)
var/obj/item/clothing/accessory/ranks/rank_insignia = new rankpath()
+ var/obj/item/clothing/accessory/patch/uscmpatch = new()
underclothes.attach_accessory(user, rank_insignia)
+ underclothes.attach_accessory(user, uscmpatch)
if(vend_flags & VEND_UNIFORM_AUTOEQUIP)
// autoequip
diff --git a/code/game/machinery/vending/vendor_types/crew/pilot_officer.dm b/code/game/machinery/vending/vendor_types/crew/pilot_officer.dm
index 027c9bec2d13..8f9ac837cb6a 100644
--- a/code/game/machinery/vending/vendor_types/crew/pilot_officer.dm
+++ b/code/game/machinery/vending/vendor_types/crew/pilot_officer.dm
@@ -5,7 +5,7 @@
desc = "An automated weapon rack hooked up to a small storage of standard-issue weapons. Can be accessed only by the dropship crew."
icon_state = "guns"
req_access = list(ACCESS_MARINE_PILOT)
- vendor_role = list(JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF)
+ vendor_role = list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF)
vend_flags = VEND_CLUTTER_PROTECTION | VEND_LIMITED_INVENTORY | VEND_TO_HAND
listed_products = list(
@@ -242,7 +242,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_dropship_crew_chief, list(
name = "\improper ColMarTech Dropship Crew Equipment Rack"
desc = "An automated rack hooked up to a colossal storage of Dropship Crew standard-issue equipment."
req_access = list(ACCESS_MARINE_PILOT)
- vendor_role = list(JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF)
+ vendor_role = list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF)
/obj/structure/machinery/cm_vending/clothing/pilot_officer/get_listed_products(mob/user)
if(!user)
@@ -252,6 +252,8 @@ GLOBAL_LIST_INIT(cm_vending_clothing_dropship_crew_chief, list(
return combined
if(user.job == JOB_DROPSHIP_CREW_CHIEF)
return GLOB.cm_vending_clothing_dropship_crew_chief
- if(user.job == JOB_PILOT)
+ if(user.job == JOB_CAS_PILOT)
+ return GLOB.cm_vending_clothing_pilot_officer
+ if(user.job == JOB_DROPSHIP_PILOT)
return GLOB.cm_vending_clothing_pilot_officer
return ..()
diff --git a/code/game/machinery/vending/vendor_types/crew/synthetic.dm b/code/game/machinery/vending/vendor_types/crew/synthetic.dm
index c3fa77be3798..a55285369e14 100644
--- a/code/game/machinery/vending/vendor_types/crew/synthetic.dm
+++ b/code/game/machinery/vending/vendor_types/crew/synthetic.dm
@@ -21,6 +21,7 @@
list("Plastic Explosive", 3, /obj/item/explosive/plastic, null, VENDOR_ITEM_REGULAR),
list("ES-11 Mobile Fuel Canister", 4, /obj/item/tool/weldpack/minitank, null, VENDOR_ITEM_REGULAR),
list("Engineer Kit", 1, /obj/item/storage/toolkit/empty, null, VENDOR_ITEM_REGULAR),
+ list("Tactical Prybar", 5, /obj/item/tool/crowbar/tactical, null, VENDOR_ITEM_REGULAR),
list("FIRSTAID KITS", 0, null, null, null),
list("Advanced Firstaid Kit", 12, /obj/item/storage/firstaid/adv, null, VENDOR_ITEM_REGULAR),
@@ -38,6 +39,9 @@
list("Roller Bed", 4, /obj/item/roller, null, VENDOR_ITEM_REGULAR),
list("Stasis Bag", 6, /obj/item/bodybag/cryobag, null, VENDOR_ITEM_REGULAR),
list("MS-11 Smart Refill Tank", 6, /obj/item/reagent_container/glass/minitank, null, VENDOR_ITEM_REGULAR),
+ list("Blood", 5, /obj/item/reagent_container/blood/OMinus, null, VENDOR_ITEM_REGULAR),
+ list("Surgical Bed", 10, /obj/structure/bed/portable_surgery, null, VENDOR_ITEM_REGULAR),
+ list("Surgical Kit", 30, /obj/item/storage/surgical_tray, null, VENDOR_ITEM_REGULAR),
list("Pillbottle (Bicaridine)", 5, /obj/item/storage/pill_bottle/bicaridine, null, VENDOR_ITEM_RECOMMENDED),
list("Pillbottle (Dexalin)", 5, /obj/item/storage/pill_bottle/dexalin, null, VENDOR_ITEM_REGULAR),
@@ -136,6 +140,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth, list(
list("Smartpack, White", 0, /obj/item/storage/backpack/marine/smartpack/white, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR),
list("Smartpack, Black", 0, /obj/item/storage/backpack/marine/smartpack/black, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR),
list("Logistics IMP Backpack", 0, /obj/item/storage/backpack/marine/satchel/big, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR),
+ list("Expedition Chestrig", 0, /obj/item/storage/backpack/marine/satchel/intel/chestrig, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR),
list("BELT (CHOOSE 1)", 0, null, null, null),
list("G8-A General Utility Pouch", 0, /obj/item/storage/backpack/general_belt, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
@@ -187,7 +192,8 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth_snowflake, list(
list("Medical Scrubs, Green", 12, /obj/item/clothing/under/rank/medical/green, null, VENDOR_ITEM_REGULAR),
list("Medical Scrubs, Purple", 12, /obj/item/clothing/under/rank/medical/purple, null, VENDOR_ITEM_REGULAR),
list("Medical Scrubs, White", 12, /obj/item/clothing/under/rank/medical, null, VENDOR_ITEM_REGULAR),
- list("USCM Service Uniform", 12, /obj/item/clothing/under/marine/officer/bridge, null, VENDOR_ITEM_REGULAR),
+ list("USCM Service Uniform, Tan", 12, /obj/item/clothing/under/marine/officer/bridge, null, VENDOR_ITEM_REGULAR),
+ list("USCM Service Uniform, White", 12, /obj/item/clothing/under/marine/dress, null, VENDOR_ITEM_REGULAR),
list("USCM Flightsuit", 12, /obj/item/clothing/under/rank/synthetic/flight, null, VENDOR_ITEM_REGULAR),
list("USCM Engineers Uniform", 12, /obj/item/clothing/under/marine/engineer/standard, null, VENDOR_ITEM_REGULAR),
list("USCM Engineers Uniform (Darker)", 12, /obj/item/clothing/under/marine/engineer/darker, null, VENDOR_ITEM_REGULAR),
@@ -206,6 +212,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth_snowflake, list(
list("Grey Utilities", 12, /obj/item/clothing/under/rank/synthetic/utility/yellow, null, VENDOR_ITEM_REGULAR),
list("Grey Utilities and Blue Jeans", 12, /obj/item/clothing/under/rank/synthetic/utility/red, null, VENDOR_ITEM_REGULAR),
list("Blue Utilities and Brown Jeans", 12, /obj/item/clothing/under/rank/synthetic/utility/blue, null, VENDOR_ITEM_REGULAR),
+ list("White Service Uniform", 12, /obj/item/clothing/under/colonist/white_service, null, VENDOR_ITEM_REGULAR),
list("Steward Clothes", 12, /obj/item/clothing/under/colonist/wy_joliet_shopsteward, null, VENDOR_ITEM_REGULAR),
list("Red Dress Skirt", 12, /obj/item/clothing/under/blackskirt, null, VENDOR_ITEM_REGULAR),
list("Working Joe Uniform", 36, /obj/item/clothing/under/rank/synthetic/joe, null, VENDOR_ITEM_REGULAR),
@@ -238,6 +245,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth_snowflake, list(
list("Beret, Red", 12, /obj/item/clothing/head/beret/cm/red, null, VENDOR_ITEM_REGULAR),
list("Beret, Standard", 12, /obj/item/clothing/head/beret/cm, null, VENDOR_ITEM_REGULAR),
list("Beret, Tan", 12, /obj/item/clothing/head/beret/cm/tan, null, VENDOR_ITEM_REGULAR),
+ list("Beret, Green", 12, /obj/item/clothing/head/beret/cm, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR),
list("Beret, Black", 12, /obj/item/clothing/head/beret/cm/black, null, VENDOR_ITEM_REGULAR),
list("Beret, White", 12, /obj/item/clothing/head/beret/cm/white, null, VENDOR_ITEM_REGULAR),
list("Surgical Cap, Blue", 12, /obj/item/clothing/head/surgery/blue, null, VENDOR_ITEM_REGULAR),
@@ -304,6 +312,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth_snowflake, list(
list("OTHER", 0, null, null, null),
list("Red Armband", 6, /obj/item/clothing/accessory/armband, null, VENDOR_ITEM_REGULAR),
+ list("Purple Armband", 6, /obj/item/clothing/accessory/armband/science, null, VENDOR_ITEM_REGULAR),
list("Yellow Armband", 6, /obj/item/clothing/accessory/armband/engine, null, VENDOR_ITEM_REGULAR),
list("Green Armband", 6, /obj/item/clothing/accessory/armband/medgreen, null, VENDOR_ITEM_REGULAR),
diff --git a/code/game/machinery/vending/vendor_types/engineering.dm b/code/game/machinery/vending/vendor_types/engineering.dm
index 245e06009695..826f4431235b 100644
--- a/code/game/machinery/vending/vendor_types/engineering.dm
+++ b/code/game/machinery/vending/vendor_types/engineering.dm
@@ -92,6 +92,7 @@
list("Auxiliar Power Storage Unit", 2, /obj/item/circuitboard/machine/ghettosmes, VENDOR_ITEM_REGULAR),
list("Air Alarm Electronics", 2, /obj/item/circuitboard/airalarm, VENDOR_ITEM_REGULAR),
list("Security Camera Monitor", 2, /obj/item/circuitboard/computer/cameras, VENDOR_ITEM_REGULAR),
+ list("Television Set", 4, /obj/item/circuitboard/computer/cameras/tv, VENDOR_ITEM_REGULAR),
list("Station Alerts", 2, /obj/item/circuitboard/computer/stationalert, VENDOR_ITEM_REGULAR),
list("Arcade", 2, /obj/item/circuitboard/computer/arcade, VENDOR_ITEM_REGULAR),
list("Atmospheric Monitor", 2, /obj/item/circuitboard/computer/air_management, VENDOR_ITEM_REGULAR),
diff --git a/code/game/machinery/vending/vendor_types/medical.dm b/code/game/machinery/vending/vendor_types/medical.dm
index 9750669ac88a..a867c9b61f29 100644
--- a/code/game/machinery/vending/vendor_types/medical.dm
+++ b/code/game/machinery/vending/vendor_types/medical.dm
@@ -1,3 +1,53 @@
+//------------SUPPLY LINK FOR MEDICAL VENDORS---------------
+
+/obj/structure/medical_supply_link
+ name = "medilink supply port"
+ desc = "A complex network of pipes and machinery, linking to large storage systems below the deck. Medical vendors linked to this port will be able to infinitely restock supplies."
+ icon = 'icons/effects/warning_stripes.dmi'
+ icon_state = "medlink_unclamped"
+ var/base_state = "medlink"
+ anchored = TRUE
+ density = FALSE
+ unslashable = TRUE
+ unacidable = TRUE
+ plane = FLOOR_PLANE
+ layer = ABOVE_TURF_LAYER //It's the floor, man
+
+/obj/structure/medical_supply_link/ex_act(severity, direction)
+ return FALSE
+
+/obj/structure/medical_supply_link/Initialize()
+ . = ..()
+ RegisterSignal(src, COMSIG_STRUCTURE_WRENCHED, PROC_REF(do_clamp_animation))
+ RegisterSignal(src, COMSIG_STRUCTURE_UNWRENCHED, PROC_REF(do_unclamp_animation))
+ update_icon()
+
+/// Performs the clamping animation when a structure is anchored in our loc
+/obj/structure/medical_supply_link/proc/do_clamp_animation()
+ SIGNAL_HANDLER
+ flick("[base_state]_clamping", src)
+ addtimer(CALLBACK(src, PROC_REF(update_icon), 2.6 SECONDS))
+ update_icon()
+
+/// Performs the unclamping animation when a structure is unanchored in our loc
+/obj/structure/medical_supply_link/proc/do_unclamp_animation()
+ SIGNAL_HANDLER
+ flick("[base_state]_unclamping", src)
+ addtimer(CALLBACK(src, PROC_REF(update_icon), 2.6 SECONDS))
+ update_icon()
+
+/obj/structure/medical_supply_link/update_icon()
+ var/obj/structure/machinery/cm_vending/sorted/medical/vendor = locate() in loc
+ if(vendor && vendor.anchored)
+ icon_state = "[base_state]_clamped"
+ else
+ icon_state = "[base_state]_unclamped"
+
+// --- Green
+/obj/structure/medical_supply_link/green
+ icon_state = "medlink_green_unclamped"
+ base_state = "medlink_green"
+
//------------SORTED MEDICAL VENDORS---------------
/obj/structure/machinery/cm_vending/sorted/medical
@@ -14,6 +64,9 @@
vendor_theme = VENDOR_THEME_COMPANY
vend_delay = 0.5 SECONDS
+ /// sets vendor to require a medlink to be able to resupply
+ var/requires_supply_link_port = TRUE
+
var/datum/health_scan/last_health_display
var/healthscan = TRUE
@@ -60,6 +113,36 @@
if(healthscan)
. += SPAN_NOTICE("The [src.name] offers assisted medical scan, for ease of usage with minimal training. Present the target in front of the scanner to scan.")
+/// checks if there is a supply link in our location and we are anchored to it
+/obj/structure/machinery/cm_vending/sorted/medical/proc/get_supply_link()
+ if(!anchored)
+ return FALSE
+ var/obj/structure/medical_supply_link/linkpoint = locate() in loc
+ if(!linkpoint)
+ return FALSE
+ return TRUE
+
+/obj/structure/machinery/cm_vending/sorted/medical/additional_restock_checks(obj/item/item_to_stock, mob/user)
+ if(istype(item_to_stock, /obj/item/reagent_container/hypospray/autoinjector) || istype(item_to_stock, /obj/item/reagent_container/glass/bottle))
+ if(requires_supply_link_port && !get_supply_link())
+ var/obj/item/reagent_container/container = item_to_stock
+ if(container.reagents.total_volume < container.reagents.maximum_volume)
+ if(user)
+ to_chat(user, SPAN_WARNING("[src] makes a buzzing noise as it rejects [container.name]. Looks like this vendor cannot refill these without a connected supply link."))
+ playsound(src, 'sound/machines/buzz-sigh.ogg', 15, TRUE)
+ return FALSE
+
+ //stacked items handling if the vendor cannot restock partial stacks
+ else if(istype(item_to_stock, /obj/item/stack))
+ if(requires_supply_link_port && !get_supply_link())
+ var/obj/item/stack/restock_stack = item_to_stock
+ if(restock_stack.amount < restock_stack.max_amount) // if the stack is not full
+ if(user)
+ to_chat(user, SPAN_WARNING("[src] makes a buzzing noise as it rejects [restock_stack]. Looks like this vendor cannot restock these without a connected supply link."))
+ playsound(src, 'sound/machines/buzz-sigh.ogg', 15, TRUE)
+ return FALSE
+ return TRUE
+
/obj/structure/machinery/cm_vending/sorted/medical/attackby(obj/item/I, mob/user)
if(stat == WORKING && LAZYLEN(chem_refill) && (istype(I, /obj/item/reagent_container/hypospray/autoinjector) || istype(I, /obj/item/reagent_container/glass/bottle))) // only if we are completely fine and working
if(!hacked)
@@ -80,6 +163,11 @@
to_chat(user, SPAN_WARNING("[src] makes a warning noise. The [C.name] is currently full."))
return
+ if(requires_supply_link_port && !get_supply_link())
+ to_chat(user, SPAN_WARNING("[src] makes a buzzing noise as it rejects [C.name]. Looks like this vendor cannot refill these without a connected supply link."))
+ playsound(src, 'sound/machines/buzz-sigh.ogg', 15, TRUE)
+ return
+
to_chat(user, SPAN_NOTICE("[src] makes a whirring noise as it refills your [C.name]."))
// Since the reagent is deleted on use it's easier to make a new one instead of snowflake checking
var/obj/item/reagent_container/new_container = new C.type(src)
@@ -104,6 +192,11 @@
to_chat(user, SPAN_WARNING("[src] makes a warning noise. The [S.name] is currently fully stacked."))
return
+ if(requires_supply_link_port && !get_supply_link())
+ to_chat(user, SPAN_WARNING("[src] makes a buzzing noise as it rejects [S.name]. Looks like this vendor cannot restock these without a connected supply link."))
+ playsound(src, 'sound/machines/buzz-sigh.ogg', 15, TRUE)
+ return
+
to_chat(user, SPAN_NOTICE("[src] makes a whirring noise as it restocks your [S.name]."))
S.amount = S.max_amount
S.update_icon()
@@ -231,6 +324,7 @@
name = "\improper Medical Equipment Vendor"
desc = "A vending machine dispensing various pieces of medical equipment."
req_one_access = list(ACCESS_ILLEGAL_PIRATE, ACCESS_UPP_GENERAL, ACCESS_CLF_GENERAL)
+ requires_supply_link_port = FALSE
req_access = null
vendor_theme = VENDOR_THEME_CLF
@@ -272,6 +366,7 @@
name = "\improper Basic Medical Supplies Vendor"
desc = "A vending machine dispensing basic medical supplies."
req_one_access = list(ACCESS_ILLEGAL_PIRATE, ACCESS_UPP_GENERAL, ACCESS_CLF_GENERAL)
+ requires_supply_link_port = FALSE
req_access = null
vendor_theme = VENDOR_THEME_CLF
@@ -307,6 +402,7 @@
/obj/structure/machinery/cm_vending/sorted/medical/blood/antag
req_one_access = list(ACCESS_ILLEGAL_PIRATE, ACCESS_UPP_GENERAL, ACCESS_CLF_GENERAL)
+ requires_supply_link_port = FALSE
req_access = null
vendor_theme = VENDOR_THEME_CLF
@@ -315,6 +411,7 @@
desc = "Wall-mounted Medical Equipment Dispenser."
icon_state = "wallmed"
vend_delay = 0.7 SECONDS
+ requires_supply_link_port = FALSE
req_access = list()
diff --git a/code/game/machinery/vending/vendor_types/requisitions.dm b/code/game/machinery/vending/vendor_types/requisitions.dm
index 9ce8390095e8..6eb5a333ec81 100644
--- a/code/game/machinery/vending/vendor_types/requisitions.dm
+++ b/code/game/machinery/vending/vendor_types/requisitions.dm
@@ -208,14 +208,14 @@
/obj/structure/machinery/cm_vending/sorted/cargo_ammo/populate_product_list(scale)
listed_products = list(
list("REGULAR AMMUNITION", -1, null, null),
- list("Box Of Buckshot Shells", round(scale * 20), /obj/item/ammo_magazine/shotgun/buckshot, VENDOR_ITEM_REGULAR),
- list("Box Of Flechette Shells", round(scale * 8), /obj/item/ammo_magazine/shotgun/flechette, VENDOR_ITEM_REGULAR),
- list("Box Of Shotgun Slugs", round(scale * 20), /obj/item/ammo_magazine/shotgun/slugs, VENDOR_ITEM_REGULAR),
- list("M4RA Magazine (10x24mm)", round(scale * 30), /obj/item/ammo_magazine/rifle/m4ra, VENDOR_ITEM_REGULAR),
- list("M41A MK2 Magazine (10x24mm)", round(scale * 50), /obj/item/ammo_magazine/rifle, VENDOR_ITEM_REGULAR),
- list("M39 HV Magazine (10x20mm)", round(scale * 50), /obj/item/ammo_magazine/smg/m39, VENDOR_ITEM_REGULAR),
- list("M44 Speed Loader (.44)", round(scale * 40), /obj/item/ammo_magazine/revolver, VENDOR_ITEM_REGULAR),
- list("M4A3 Magazine (9mm)", round(scale * 50), /obj/item/ammo_magazine/pistol, VENDOR_ITEM_REGULAR),
+ list("Box Of Buckshot Shells", round(scale * 40), /obj/item/ammo_magazine/shotgun/buckshot, VENDOR_ITEM_REGULAR),
+ list("Box Of Flechette Shells", round(scale * 40), /obj/item/ammo_magazine/shotgun/flechette, VENDOR_ITEM_REGULAR),
+ list("Box Of Shotgun Slugs", round(scale * 40), /obj/item/ammo_magazine/shotgun/slugs, VENDOR_ITEM_REGULAR),
+ list("M4RA Magazine (10x24mm)", round(scale * 60), /obj/item/ammo_magazine/rifle/m4ra, VENDOR_ITEM_REGULAR),
+ list("M41A MK2 Magazine (10x24mm)", round(scale * 100), /obj/item/ammo_magazine/rifle, VENDOR_ITEM_REGULAR),
+ list("M39 HV Magazine (10x20mm)", round(scale * 100), /obj/item/ammo_magazine/smg/m39, VENDOR_ITEM_REGULAR),
+ list("M44 Speed Loader (.44)", round(scale * 80), /obj/item/ammo_magazine/revolver, VENDOR_ITEM_REGULAR),
+ list("M4A3 Magazine (9mm)", round(scale * 100), /obj/item/ammo_magazine/pistol, VENDOR_ITEM_REGULAR),
list("ARMOR-PIERCING AMMUNITION", -1, null, null),
list("88 Mod 4 AP Magazine (9mm)", round(scale * 50), /obj/item/ammo_magazine/pistol/mod88, VENDOR_ITEM_REGULAR),
@@ -248,9 +248,9 @@
list("XM51 Magazine (16g)", round(scale * 3), /obj/item/ammo_magazine/rifle/xm51, VENDOR_ITEM_REGULAR),
list("SHOTGUN SHELL BOXES", -1, null, null),
- list("Shotgun Shell Box (Buckshot x 100)", round(scale * 2), /obj/item/ammo_box/magazine/shotgun/buckshot, VENDOR_ITEM_REGULAR),
- list("Shotgun Shell Box (Flechette x 100)", round(scale * 2), /obj/item/ammo_box/magazine/shotgun/flechette, VENDOR_ITEM_REGULAR),
- list("Shotgun Shell Box (Slugs x 100)", round(scale * 2), /obj/item/ammo_box/magazine/shotgun, VENDOR_ITEM_REGULAR),
+ list("Shotgun Shell Box (Buckshot x 100)", round(scale * 4), /obj/item/ammo_box/magazine/shotgun/buckshot, VENDOR_ITEM_REGULAR),
+ list("Shotgun Shell Box (Flechette x 100)", round(scale * 4), /obj/item/ammo_box/magazine/shotgun/flechette, VENDOR_ITEM_REGULAR),
+ list("Shotgun Shell Box (Slugs x 100)", round(scale * 4), /obj/item/ammo_box/magazine/shotgun, VENDOR_ITEM_REGULAR),
list("Shotgun Shell Box (16g) (Breaching x 120)", 1, /obj/item/ammo_box/magazine/shotgun/light/breaching, VENDOR_ITEM_REGULAR),
)
diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm
index 2736de3a981d..d3662c785890 100644
--- a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm
+++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm
@@ -7,7 +7,7 @@
desc = "An automated weapon rack hooked up to a big storage of standard-issue weapons."
icon_state = "guns"
req_access = list()
- req_one_access = list(ACCESS_MARINE_DATABASE, ACCESS_MARINE_PREP, ACCESS_MARINE_CARGO)
+ req_one_access = list(ACCESS_MARINE_DATABASE, ACCESS_MARINE_PREP)
hackable = TRUE
vend_flags = VEND_CLUTTER_PROTECTION | VEND_LIMITED_INVENTORY | VEND_TO_HAND
diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm
index e800fc1efd56..4d14b7b89ccd 100644
--- a/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm
+++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm
@@ -7,6 +7,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_spec, list(
list("Pyro Set", 0, /obj/item/storage/box/spec/pyro, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_REGULAR),
list("Scout Set", 0, /obj/item/storage/box/spec/scout, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_REGULAR),
list("Sniper Set", 0, /obj/item/storage/box/spec/sniper, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_RECOMMENDED),
+ list("Anti-materiel Sniper Set", 0, /obj/item/storage/box/spec/sniper/anti_materiel, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_RECOMMENDED),
list("EXTRA SCOUT AMMUNITION", 0, null, null, null),
list("A19 High Velocity Impact Magazine (10x24mm)", 40, /obj/item/ammo_magazine/rifle/m4ra/custom/impact, null, VENDOR_ITEM_REGULAR),
@@ -17,6 +18,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_spec, list(
list("M42A Flak Magazine (10x28mm)", 40, /obj/item/ammo_magazine/sniper/flak, null, VENDOR_ITEM_REGULAR),
list("M42A Incendiary Magazine (10x28mm)", 40, /obj/item/ammo_magazine/sniper/incendiary, null, VENDOR_ITEM_REGULAR),
list("M42A Marksman Magazine (10x28mm Caseless)", 40, /obj/item/ammo_magazine/sniper, null, VENDOR_ITEM_REGULAR),
+ list("XM43E1 Marksman Magazine (10x99mm Caseless)", 40, /obj/item/ammo_magazine/sniper/anti_materiel, null, VENDOR_ITEM_REGULAR),
list("EXTRA DEMOLITIONIST AMMUNITION", 0, null, null, null),
list("84mm Anti-Armor Rocket", 40, /obj/item/ammo_magazine/rocket/ap, null, VENDOR_ITEM_REGULAR),
@@ -96,6 +98,18 @@ GLOBAL_LIST_INIT(cm_vending_clothing_specialist, list(
list("Gas Mask", 0, /obj/item/clothing/mask/gas, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR),
list("Heat Absorbent Coif", 0, /obj/item/clothing/mask/rebreather/scarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR),
+ list("RESTRICTED FIREARMS", 0, null, null, null),
+ list("VP78 Pistol", 15, /obj/item/storage/box/guncase/vp78, null, VENDOR_ITEM_REGULAR),
+ list("SU-6 Smart Pistol", 15, /obj/item/storage/box/guncase/smartpistol, null, VENDOR_ITEM_REGULAR),
+
+ list("SIDEARM AMMUNITION", 0, null, null, null),
+ list("M44 Heavy Speed Loader (.44)", 10, /obj/item/ammo_magazine/revolver/heavy, null, VENDOR_ITEM_REGULAR),
+ list("M44 Marksman Speed Loader (.44)", 10, /obj/item/ammo_magazine/revolver/marksman, null, VENDOR_ITEM_REGULAR),
+ list("M4A3 HP Magazine", 5, /obj/item/ammo_magazine/pistol/hp, null, VENDOR_ITEM_REGULAR),
+ list("M4A3 AP Magazine", 5, /obj/item/ammo_magazine/pistol/ap, null, VENDOR_ITEM_REGULAR),
+ list("VP78 Magazine", 5, /obj/item/ammo_magazine/pistol/vp78, null, VENDOR_ITEM_REGULAR),
+ list("SU-6 Smartpistol Magazine (.45)", 10, /obj/item/ammo_magazine/pistol/smart, null, VENDOR_ITEM_REGULAR),
+
list("CLOTHING ITEMS", 0, null, null, null),
list("Machete Scabbard (Full)", 6, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR),
list("Machete Pouch (Full)", 15, /obj/item/storage/pouch/machete/full, null, VENDOR_ITEM_REGULAR),
@@ -107,10 +121,17 @@ GLOBAL_LIST_INIT(cm_vending_clothing_specialist, list(
list("Autoinjector Pouch (Full)", 15, /obj/item/storage/pouch/autoinjector/full, null, VENDOR_ITEM_REGULAR),
list("UTILITIES", 0, null, null, null),
- list("Fire Extinguisher (Portable)", 5, /obj/item/tool/extinguisher/mini, null, VENDOR_ITEM_REGULAR),
list("Roller Bed", 5, /obj/item/roller, null, VENDOR_ITEM_REGULAR),
list("Fulton Device Stack", 5, /obj/item/stack/fulton, null, VENDOR_ITEM_REGULAR),
+ list("Fire Extinguisher (Portable)", 5, /obj/item/tool/extinguisher/mini, null, VENDOR_ITEM_REGULAR),
list("Motion Detector", 10, /obj/item/device/motiondetector, null, VENDOR_ITEM_REGULAR),
+ list("Data Detector", 10, /obj/item/device/motiondetector/intel, null, VENDOR_ITEM_REGULAR),
+ list("Whistle", 5, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR),
+
+ list("BINOCULARS", 0, null, null, null),
+ list("Binoculars", 5, /obj/item/device/binoculars, null, VENDOR_ITEM_REGULAR),
+ list("Range Finder", 10, /obj/item/device/binoculars/range, null, VENDOR_ITEM_REGULAR),
+ list("Laser Designator", 15, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_REGULAR),
list("HELMET OPTICS", 0, null, null, null),
list("Medical Helmet Optic", 15, /obj/item/device/helmet_visor/medical, null, VENDOR_ITEM_REGULAR),
diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm
index 7fa61c474ea1..311c2ebc7253 100644
--- a/code/game/objects/effects/aliens.dm
+++ b/code/game/objects/effects/aliens.dm
@@ -144,15 +144,12 @@
/obj/effect/xenomorph/spray/Crossed(AM as mob|obj)
..()
- if(ishuman(AM))
- var/mob/living/carbon/human/H = AM
- if(H.ally_of_hivenumber(hivenumber))
- return
- apply_spray(AM)
- else if (isxeno(AM))
- var/mob/living/carbon/xenomorph/X = AM
- if (X.hivenumber != hivenumber)
- apply_spray(AM)
+ if(isliving(AM))
+ var/mob/living/living_mob = AM
+ if(living_mob.ally_of_hivenumber(hivenumber))
+ living_mob.ExtinguishMob()
+ else
+ apply_spray(living_mob)
else if(isVehicleMultitile(AM))
var/obj/vehicle/multitile/V = AM
V.handle_acidic_environment(src)
diff --git a/code/game/objects/effects/effect_system/chemsmoke.dm b/code/game/objects/effects/effect_system/chemsmoke.dm
index 0c74912ceb25..55c38215415c 100644
--- a/code/game/objects/effects/effect_system/chemsmoke.dm
+++ b/code/game/objects/effects/effect_system/chemsmoke.dm
@@ -138,7 +138,7 @@
var/dist = cheap_pythag(T.x - location.x, T.y - location.y)
if(!dist)
dist = 1
- R.reaction_mob(A, volume = R.volume / dist)
+ R.reaction_mob(A, volume = R.volume / dist, permeable = FALSE)
else if(istype(A, /obj))
R.reaction_obj(A, R.volume)
sleep(30)
diff --git a/code/game/objects/effects/effect_system/foam.dm b/code/game/objects/effects/effect_system/foam.dm
index 525cb8c731a9..7a06fa50619c 100644
--- a/code/game/objects/effects/effect_system/foam.dm
+++ b/code/game/objects/effects/effect_system/foam.dm
@@ -20,6 +20,7 @@
var/expand = 1
animate_movement = 0
var/metal = FOAM_NOT_METAL
+ var/time_to_solidify = 4 SECONDS
/obj/effect/particle_effect/foam/Initialize(mapload, ismetal=0)
@@ -28,7 +29,7 @@
metal = ismetal
playsound(src, 'sound/effects/bubbles2.ogg', 25, 1, 5)
addtimer(CALLBACK(src, PROC_REF(foam_react)), 3 + metal*3)
- addtimer(CALLBACK(src, PROC_REF(foam_metal_final_react)), 40)
+ addtimer(CALLBACK(src, PROC_REF(foam_metal_final_react)), time_to_solidify)
/obj/effect/particle_effect/foam/proc/foam_react()
process()
diff --git a/code/game/objects/effects/effect_system/smoke.dm b/code/game/objects/effects/effect_system/smoke.dm
index c9e404ae5b60..6e3869f563a4 100644
--- a/code/game/objects/effects/effect_system/smoke.dm
+++ b/code/game/objects/effects/effect_system/smoke.dm
@@ -240,9 +240,9 @@
if(isyautja(M) || isxeno(M))
burn_damage *= xeno_yautja_reduction
+ var/reagent = new /datum/reagent/napalm/ut()
M.burn_skin(burn_damage)
- M.adjust_fire_stacks(applied_fire_stacks)
- M.fire_reagent = new /datum/reagent/napalm/ut()
+ M.adjust_fire_stacks(applied_fire_stacks, reagent)
M.IgniteMob()
M.updatehealth()
@@ -316,7 +316,7 @@
if(xeno_affecting)
stun_chance = 35
if(prob(stun_chance))
- creature.apply_effect(1, WEAKEN)
+ creature.apply_effect(2, WEAKEN)
//Topical damage (neurotoxin on exposed skin)
if(xeno_creature)
diff --git a/code/game/objects/effects/landmarks/corpsespawner.dm b/code/game/objects/effects/landmarks/corpsespawner.dm
index 27a717f58ba8..cbcd8f906ec8 100644
--- a/code/game/objects/effects/landmarks/corpsespawner.dm
+++ b/code/game/objects/effects/landmarks/corpsespawner.dm
@@ -16,20 +16,6 @@
GLOB.corpse_spawns -= src
return ..()
-/obj/effect/landmark/corpsespawner/realpirate
- name = "Pirate"
- equip_path = /datum/equipment_preset/corpse/realpirate
-
-/obj/effect/landmark/corpsespawner/realpirate/ranged
- name = "Pirate Gunner"
- equip_path = /datum/equipment_preset/corpse/realpirate/ranged
-
-/obj/effect/landmark/corpsespawner/russian
- name = "Russian"
- equip_path = /datum/equipment_preset/corpse/russian
-
-/obj/effect/landmark/corpsespawner/russian/ranged
-
///////////Civilians//////////////////////
/obj/effect/landmark/corpsespawner/prisoner
@@ -57,43 +43,50 @@
equip_path = /datum/equipment_preset/corpse/miner
/obj/effect/landmark/corpsespawner/security
- name = "Security"
+ name = "Security Officer"
equip_path = /datum/equipment_preset/corpse/security
/obj/effect/landmark/corpsespawner/security/marshal
- name = "Colonial Marshal"
- equip_path = /datum/equipment_preset/corpse/security/marshal
+ name = "Colonial Marshal Deputy"
+ equip_path = /datum/equipment_preset/corpse/security/cmb
/obj/effect/landmark/corpsespawner/security/liaison
name = "Corporate Liaison"
- equip_path = /datum/equipment_preset/corpse/security/liaison
+ equip_path = /datum/equipment_preset/corpse/liaison
/obj/effect/landmark/corpsespawner/prison_security
name = "Prison Guard"
- equip_path = /datum/equipment_preset/corpse/prison_security
+ equip_path = /datum/equipment_preset/corpse/prison_guard
/////////////////Officers//////////////////////
/obj/effect/landmark/corpsespawner/bridgeofficer
- name = "Staff Officer"
- equip_path = /datum/equipment_preset/corpse/bridgeofficer
+ name = "Colony Division Manager"
+ equip_path = /datum/equipment_preset/corpse/manager
-/obj/effect/landmark/corpsespawner/bridgeofficer/johnson
- name = "Mr. Johnson Telovin"
- equip_path = /datum/equipment_preset/corpse/bridgeofficer/johnson
+/obj/effect/landmark/corpsespawner/administrator
+ name = "Colony Administrator"
+ equip_path = /datum/equipment_preset/corpse/administrator
-/obj/effect/landmark/corpsespawner/commander
- name = "Commanding Officer"
- equip_path = /datum/equipment_preset/corpse/commander
+/obj/effect/landmark/corpsespawner/administrator/burst
+ name = "Burst Colony Administrator"
+ equip_path = /datum/equipment_preset/corpse/administrator/burst
/obj/effect/landmark/corpsespawner/wysec
name = "Weyland-Yutani Corporate Security Guard"
equip_path = /datum/equipment_preset/corpse/wysec
/obj/effect/landmark/corpsespawner/wygoon
- name = "Weyland-Yutani Corporate Security Goon"
+ name = "Weyland-Yutani Corporate Security Officer"
equip_path = /datum/equipment_preset/corpse/pmc/goon
+/obj/effect/landmark/corpsespawner/wygoon/lead
+ name = "Weyland-Yutani Corporate Security Lead"
+ equip_path = /datum/equipment_preset/corpse/pmc/goon/lead
+
+/obj/effect/landmark/corpsespawner/wygoon/lead/burst
+ name = "Burst Weyland-Yutani Corporate Security Lead"
+ equip_path = /datum/equipment_preset/corpse/pmc/goon/lead/burst
///CM specific jobs///
@@ -165,15 +158,29 @@
equip_path = /datum/equipment_preset/corpse/pmc/burst
/obj/effect/landmark/corpsespawner/freelancer
- name = "Freelancer Mercenary"
+ name = "Freelancer"
equip_path = /datum/equipment_preset/corpse/freelancer
/obj/effect/landmark/corpsespawner/freelancer/burst
- name = "Burst Freelancer Mercenary"
+ name = "Burst Freelancer"
equip_path = /datum/equipment_preset/corpse/freelancer/burst
// Fun Faction Corpse
+/obj/effect/landmark/corpsespawner/realpirate
+ name = "Pirate"
+ equip_path = /datum/equipment_preset/corpse/realpirate
+
+/obj/effect/landmark/corpsespawner/realpirate/ranged
+ name = "Pirate Gunner"
+ equip_path = /datum/equipment_preset/corpse/realpirate/ranged
+
+/obj/effect/landmark/corpsespawner/russian
+ name = "Russian"
+ equip_path = /datum/equipment_preset/corpse/russian
+
+/obj/effect/landmark/corpsespawner/russian/ranged
+
/obj/effect/landmark/corpsespawner/dutchrifle
name = "Dutch Dozen Rifleman"
equip_path = /datum/equipment_preset/corpse/dutchrifle
diff --git a/code/game/objects/effects/landmarks/survivor_spawner.dm b/code/game/objects/effects/landmarks/survivor_spawner.dm
index 803d73151aeb..4a6e5272ed05 100644
--- a/code/game/objects/effects/landmarks/survivor_spawner.dm
+++ b/code/game/objects/effects/landmarks/survivor_spawner.dm
@@ -201,8 +201,8 @@
//CMB Survivors//
/obj/effect/landmark/survivor_spawner/fiorina_armory_cmb
- equipment = /datum/equipment_preset/survivor/colonial_marshal
- synth_equipment = /datum/equipment_preset/synth/survivor/cmb_synth
+ equipment = /datum/equipment_preset/survivor/cmb/standard
+ synth_equipment = /datum/equipment_preset/synth/survivor/cmb/synth
intro_text = list("You are a CMB Deputy!
",\
"You are aware of the 'alien' threat.",\
"Your primary objective is to survive the infestation.")
@@ -211,8 +211,8 @@
spawn_priority = SPAWN_PRIORITY_VERY_HIGH
/obj/effect/landmark/survivor_spawner/fiorina_armory_riot_control
- equipment = /datum/equipment_preset/survivor/colonial_marshal/fiorina
- synth_equipment = /datum/equipment_preset/synth/survivor/cmb_synth
+ equipment = /datum/equipment_preset/survivor/cmb/ua
+ synth_equipment = /datum/equipment_preset/synth/survivor/cmb/ua_synth
intro_text = list("You are a United Americas Riot Control Officer!
",\
"You are aware of the 'alien' threat.",\
"Your primary objective is to survive the infestation.")
diff --git a/code/game/objects/effects/temporary_visuals.dm b/code/game/objects/effects/temporary_visuals.dm
index 4dc07b76f3cb..d05e7789b1d5 100644
--- a/code/game/objects/effects/temporary_visuals.dm
+++ b/code/game/objects/effects/temporary_visuals.dm
@@ -96,3 +96,26 @@
splatter_type = "csplatter"
color = BLOOD_COLOR_SYNTHETIC
+//------------------------------------------
+//Shockwaves
+//------------------------------------------
+
+/obj/effect/shockwave
+ icon = 'icons/effects/light_overlays/shockwave.dmi'
+ icon_state = "shockwave"
+ plane = DISPLACEMENT_PLATE_RENDER_LAYER
+ pixel_x = -496
+ pixel_y = -496
+
+/obj/effect/shockwave/Initialize(mapload, radius, speed, easing_type = LINEAR_EASING, y_offset, x_offset)
+ . = ..()
+ if(!speed)
+ speed = 1
+ if(y_offset)
+ pixel_y += y_offset
+ if(x_offset)
+ pixel_x += x_offset
+ QDEL_IN(src, 0.5 * radius * speed)
+ transform = matrix().Scale(32 / 1024, 32 / 1024)
+ animate(src, time = 0.5 * radius * speed, transform=matrix().Scale((32 / 1024) * radius * 1.5, (32 / 1024) * radius * 1.5), easing = easing_type)
+
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index fcd431c33d26..fb0103876301 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -22,6 +22,8 @@
var/attack_speed = 11 //+3, Adds up to 10. Added an extra 4 removed from /mob/proc/do_click()
///Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]"
var/list/attack_verb
+ /// A multiplier to an object's force when used against a stucture.
+ var/demolition_mod = 1
health = null
@@ -459,6 +461,8 @@ cases. Override_icon_state should be a list.*/
if(item.flags_equip_slot & slotdefine2slotbit(slot))
if(is_type_in_list(item, uniform_restricted))
+ if(light_on)
+ turn_light(toggle_on = FALSE)
user.drop_inv_item_on_ground(src)
to_chat(user, SPAN_NOTICE("You drop \the [src] to the ground while unequipping \the [item]."))
diff --git a/code/game/objects/items/circuitboards/computer.dm b/code/game/objects/items/circuitboards/computer.dm
index 08dcfc6964a6..ecdfba00719d 100644
--- a/code/game/objects/items/circuitboards/computer.dm
+++ b/code/game/objects/items/circuitboards/computer.dm
@@ -26,6 +26,12 @@
if (..(C))
network = C.network
+/obj/item/circuitboard/computer/cameras/tv
+ name = "Circuit board (Television Set)"
+ build_path = /obj/structure/machinery/computer/cameras/wooden_tv/broadcast
+ network = list(CAMERA_NET_CORRESPONDENT)
+ req_access = list()
+
/obj/item/circuitboard/computer/cameras/engineering
name = "Circuit board (Engineering Camera Monitor)"
build_path = /obj/structure/machinery/computer/cameras/engineering
diff --git a/code/game/objects/items/devices/defibrillator.dm b/code/game/objects/items/devices/defibrillator.dm
index 9da76b9d21b9..bbeb2046aff0 100644
--- a/code/game/objects/items/devices/defibrillator.dm
+++ b/code/game/objects/items/devices/defibrillator.dm
@@ -175,7 +175,7 @@
playsound(get_turf(src),'sound/items/defib_charge.ogg', 25, 0) //Do NOT vary this tune, it needs to be precisely 7 seconds
//Taking square root not to make defibs too fast...
- if(!do_after(user, 7 SECONDS * user.get_skill_duration_multiplier(SKILL_MEDICAL), INTERRUPT_NO_NEEDHAND|BEHAVIOR_IMMOBILE, BUSY_ICON_FRIENDLY, H, INTERRUPT_MOVED, BUSY_ICON_MEDICAL))
+ if(!do_after(user, (4 + (3 * user.get_skill_duration_multiplier(SKILL_MEDICAL))) SECONDS, INTERRUPT_NO_NEEDHAND|BEHAVIOR_IMMOBILE, BUSY_ICON_FRIENDLY, H, INTERRUPT_MOVED, BUSY_ICON_MEDICAL))
user.visible_message(SPAN_WARNING("[user] stops setting up the paddles on [H]'s chest."), \
SPAN_WARNING("You stop setting up the paddles on [H]'s chest."))
return
diff --git a/code/game/objects/items/devices/dummy_tablet.dm b/code/game/objects/items/devices/dummy_tablet.dm
index 3172c84c8b01..3ce5f933ab94 100644
--- a/code/game/objects/items/devices/dummy_tablet.dm
+++ b/code/game/objects/items/devices/dummy_tablet.dm
@@ -7,8 +7,28 @@
item_state = "Cotablet"
var/mob/living/carbon/human/linked_dummy
+ ///Should the dummy be destroyed on hijack?
+ var/dust_on_hijack = FALSE
+
+/obj/item/device/professor_dummy_tablet/Initialize()
+ . = ..()
+ var/turf/actual_location = get_turf(src)
+ if(is_mainship_level(actual_location.z))
+ dust_on_hijack = TRUE
+ RegisterSignal(SSdcs, COMSIG_GLOB_HIJACK_LANDED, PROC_REF(destroy_dummy_upon_hijack))
+
+/obj/item/device/professor_dummy_tablet/proc/destroy_dummy_upon_hijack()
+ SIGNAL_HANDLER
+
+ if(!dust_on_hijack)
+ return
+ if(!linked_dummy)
+ return
+ linked_dummy.visible_message(SPAN_WARNING("The [linked_dummy] suddenly disintegrates!"))
+ linked_dummy.dust(create_cause_data("hijack autodelete"))
/obj/item/device/professor_dummy_tablet/Destroy()
+ UnregisterSignal(src, COMSIG_GLOB_HIJACK_LANDED)
linked_dummy = null
. = ..()
diff --git a/code/game/objects/items/devices/helmet_visors.dm b/code/game/objects/items/devices/helmet_visors.dm
index 4d1b38491791..7b61df3291ef 100644
--- a/code/game/objects/items/devices/helmet_visors.dm
+++ b/code/game/objects/items/devices/helmet_visors.dm
@@ -238,6 +238,7 @@
on_light = new(attached_helmet)
on_light.set_light_on(TRUE)
START_PROCESSING(SSobj, src)
+ RegisterSignal(user, COMSIG_MOB_CHANGE_VIEW, PROC_REF(change_view))
/obj/item/device/helmet_visor/night_vision/deactivate_visor(obj/item/clothing/head/helmet/marine/attached_helmet, mob/living/carbon/human/user)
user.remove_client_color_matrix("nvg_visor", 1 SECONDS)
@@ -247,6 +248,7 @@
if(visor_glows)
qdel(on_light)
UnregisterSignal(user, COMSIG_HUMAN_POST_UPDATE_SIGHT)
+ UnregisterSignal(user, COMSIG_MOB_CHANGE_VIEW)
user.update_sight()
STOP_PROCESSING(SSobj, src)
@@ -271,6 +273,10 @@
if(!.)
return
+ if(user.client.view > 7)
+ to_chat(user, SPAN_WARNING("You cannot use [src] while using optics."))
+ return FALSE
+
if(!NVG_VISOR_USAGE(FALSE))
to_chat(user, SPAN_NOTICE("Your [src] is out of power! You'll need to recharge it."))
return FALSE
@@ -290,6 +296,21 @@
user.lighting_alpha = lighting_alpha
user.sync_lighting_plane_alpha()
+/obj/item/device/helmet_visor/night_vision/proc/change_view(mob/user, new_size)
+ SIGNAL_HANDLER
+ if(new_size > 7) // cannot use binos with NVO
+ var/obj/item/clothing/head/helmet/marine/attached_helmet = loc
+ if(!istype(attached_helmet))
+ return
+ deactivate_visor(attached_helmet, user)
+ to_chat(user, SPAN_NOTICE("You deactivate [src] on [attached_helmet]."))
+ playsound_client(user.client, toggle_off_sound, null, 75)
+ attached_helmet.active_visor = null
+ attached_helmet.update_icon()
+ var/datum/action/item_action/cycle_helmet_huds/cycle_action = locate() in attached_helmet.actions
+ if(cycle_action)
+ cycle_action.set_default_overlay()
+
#undef NVG_VISOR_USAGE
/atom/movable/nvg_light
diff --git a/code/game/objects/items/devices/personal_data_transmitter.dm b/code/game/objects/items/devices/personal_data_transmitter.dm
index 98f8c60452ea..b967aa9273ca 100644
--- a/code/game/objects/items/devices/personal_data_transmitter.dm
+++ b/code/game/objects/items/devices/personal_data_transmitter.dm
@@ -139,6 +139,7 @@
/obj/item/device/pdt_locator_tube/Destroy()
linked_bracelet = null
+ QDEL_NULL(battery)
return ..()
/obj/item/clothing/accessory/pdt_bracelet
diff --git a/code/game/objects/items/explosives/explosive.dm b/code/game/objects/items/explosives/explosive.dm
index 4483372c9b85..cac5bd3d0b61 100644
--- a/code/game/objects/items/explosives/explosive.dm
+++ b/code/game/objects/items/explosives/explosive.dm
@@ -24,6 +24,8 @@
"min_fire_rad" = 1, "min_fire_int" = 3, "min_fire_dur" = 3
)
var/falloff_mode = EXPLOSION_FALLOFF_SHAPE_LINEAR
+ /// Whether a star shape is possible when the intensity meets CHEM_FIRE_STAR_THRESHOLD
+ var/allow_star_shape = TRUE
var/use_dir = FALSE
var/angle = 360
var/has_blast_wave_dampener = FALSE; //Whether or not the casing can be toggle between different falloff_mode
@@ -185,6 +187,7 @@
for(var/obj/item/reagent_container/glass/G in containers)
if(G.reagents.total_volume)
has_reagents = 1
+ reagents.allow_star_shape = allow_star_shape
break
if(!has_reagents)
diff --git a/code/game/objects/items/explosives/grenades/grenade.dm b/code/game/objects/items/explosives/grenades/grenade.dm
index 6b793233678d..b2f95646a966 100644
--- a/code/game/objects/items/explosives/grenades/grenade.dm
+++ b/code/game/objects/items/explosives/grenades/grenade.dm
@@ -36,7 +36,7 @@
to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!"))
return FALSE
- if(harmful && !user.allow_gun_usage)
+ if(harmful && ishuman(user) && !user.allow_gun_usage)
to_chat(user, SPAN_WARNING("Your programming prevents you from using this!"))
return FALSE
diff --git a/code/game/objects/items/explosives/warhead.dm b/code/game/objects/items/explosives/warhead.dm
index 9825d7483193..1b7ec1ed4f94 100644
--- a/code/game/objects/items/explosives/warhead.dm
+++ b/code/game/objects/items/explosives/warhead.dm
@@ -9,10 +9,11 @@
name = "84mm rocket warhead"
desc = "A custom warhead meant for 84mm rocket shells."
icon_state = "warhead_rocket"
- max_container_volume = 180
+ max_container_volume = 210
+ allow_star_shape = FALSE
matter = list("metal" = 11250) //3 sheets
- reaction_limits = list( "max_ex_power" = 300, "base_ex_falloff" = 120,"max_ex_shards" = 64,
- "max_fire_rad" = 7, "max_fire_int" = 30, "max_fire_dur" = 36,
+ reaction_limits = list( "max_ex_power" = 240, "base_ex_falloff" = 90,"max_ex_shards" = 64,
+ "max_fire_rad" = 6, "max_fire_int" = 40, "max_fire_dur" = 48,
"min_fire_rad" = 2, "min_fire_int" = 4, "min_fire_dur" = 5
)
has_blast_wave_dampener = TRUE
diff --git a/code/game/objects/items/misc.dm b/code/game/objects/items/misc.dm
index 1699cb24ef39..a7df88374b29 100644
--- a/code/game/objects/items/misc.dm
+++ b/code/game/objects/items/misc.dm
@@ -56,13 +56,13 @@
..()
if(!gripped)
user.visible_message(SPAN_NOTICE("[user] grips [src] tightly."), SPAN_NOTICE("You grip [src] tightly."))
- flags_item |= NODROP
+ flags_item |= NODROP|FORCEDROP_CONDITIONAL
ADD_TRAIT(user, TRAIT_HOLDS_CANE, TRAIT_SOURCE_ITEM)
user.AddComponent(/datum/component/footstep, 6, 35, 4, 1, "cane_step")
gripped = TRUE
else
user.visible_message(SPAN_NOTICE("[user] loosens \his grip on [src]."), SPAN_NOTICE("You loosen your grip on [src]."))
- flags_item &= ~NODROP
+ flags_item &= ~(NODROP|FORCEDROP_CONDITIONAL)
REMOVE_TRAIT(user, TRAIT_HOLDS_CANE, TRAIT_SOURCE_ITEM)
// Ideally, this would be something like a component added onto every mob that prioritizes certain sounds, such as stomping over canes.
var/component = user.GetComponent(/datum/component/footstep)
diff --git a/code/game/objects/items/props/helmetgarb.dm b/code/game/objects/items/props/helmetgarb.dm
index bdf140ff11c3..5b9b81804311 100644
--- a/code/game/objects/items/props/helmetgarb.dm
+++ b/code/game/objects/items/props/helmetgarb.dm
@@ -450,6 +450,9 @@
shape = NVG_SHAPE_COSMETIC
garbage = TRUE
+/obj/item/prop/helmetgarb/helmet_nvg/cosmetic/break_nvg(mob/living/carbon/human/user, list/slashdata, mob/living/carbon/xenomorph/Xeno)
+ return
+
/obj/item/prop/helmetgarb/helmet_nvg/marsoc //for Marine Raiders
name = "\improper Tactical M3 night vision goggles"
desc = "With an integrated self-recharging battery, nothing can stop you. Put them on your helmet and press the button and it's go-time."
diff --git a/code/game/objects/items/reagent_containers/food/snacks.dm b/code/game/objects/items/reagent_containers/food/snacks.dm
index 112a8e40e85b..293a71ca7c5d 100644
--- a/code/game/objects/items/reagent_containers/food/snacks.dm
+++ b/code/game/objects/items/reagent_containers/food/snacks.dm
@@ -55,7 +55,13 @@
return FALSE
if(package)
- to_chat(M, SPAN_WARNING("How do you expect to eat this with the package still on?"))
+ if(user.a_intent == INTENT_HARM)
+ return ..() // chunk box gaming
+
+ if(user == M)
+ to_chat(M, SPAN_WARNING("How do you expect to eat this with the package still on?"))
+ else
+ to_chat(M, SPAN_WARNING("[user] made an endearing attempt to force feed you a snack with the packaging still on."))
return FALSE
if(istype(M, /mob/living/carbon))
@@ -2738,6 +2744,10 @@
var/list/boxes = list() // If the boxes are stacked, they come here
var/boxtag = ""
+/obj/item/pizzabox/Destroy(force)
+ QDEL_NULL(pizza)
+ return ..()
+
/obj/item/pizzabox/update_icon()
overlays = list()
@@ -3289,8 +3299,11 @@
name = "CHUNK box"
desc = "A bar of \"The CHUNK\" brand chocolate. \"The densest chocolate permitted to exist according to federal law. We are legally required to ask you not to use this blunt object for anything other than nutrition.\""
icon_state = "chunk"
- force = 15 //LEGAL LIMIT OF CHOCOLATE
+ hitsound = "swing_hit"
+ force = 15
throwforce = 10
+ attack_speed = 10
+ demolition_mod = 0.3
bitesize = 2
wrapper = /obj/item/trash/chunk
@@ -3304,8 +3317,7 @@
desc = "A 'crate', as the marketing called it, of \"The HUNK\" brand chocolate. An early version of the CHUNK box, the HUNK bar was hit by a class action lawsuit and forced to go into bankruptcy and get bought out by the Company when hundreds of customers had their teeth crack from simply attempting to eat the bar."
icon_state = "hunk"
w_class = SIZE_MEDIUM
- hitsound = "swing_hit"
- force = 35 //ILLEGAL LIMIT OF CHOCOLATE
+ force = 35
throwforce = 50
bitesize = 20
wrapper = /obj/item/trash/chunk/hunk
diff --git a/code/game/objects/items/reagent_containers/food/snacks/meat.dm b/code/game/objects/items/reagent_containers/food/snacks/meat.dm
index f68f488f268d..f541986112e5 100644
--- a/code/game/objects/items/reagent_containers/food/snacks/meat.dm
+++ b/code/game/objects/items/reagent_containers/food/snacks/meat.dm
@@ -28,7 +28,8 @@
name = "synthetic meat"
desc = "A synthetic slab of flesh."
-/obj/item/reagent_container/food/snacks/meat/synthmeat/synthflesh //meat made from synthetics. Slightly toxic
+/// Meat made from synthetics. Slightly toxic
+/obj/item/reagent_container/food/snacks/meat/synthmeat/synthflesh
name = "synthetic flesh"
desc = "A slab of artificial, inorganic 'flesh' that resembles human meat. Probably came from a synth."
icon_state = "synthmeat"
diff --git a/code/game/objects/items/reagent_containers/glass.dm b/code/game/objects/items/reagent_containers/glass.dm
index fc8d03f5d24d..e0f432bd5b09 100644
--- a/code/game/objects/items/reagent_containers/glass.dm
+++ b/code/game/objects/items/reagent_containers/glass.dm
@@ -365,6 +365,14 @@
ground_offset_x = 9
ground_offset_y = 8
+/obj/item/reagent_container/glass/beaker/vial/epinephrine
+ name = "epinephrine vial"
+
+/obj/item/reagent_container/glass/beaker/vial/epinephrine/Initialize()
+ . = ..()
+ reagents.add_reagent("adrenaline", 30)
+ update_icon()
+
/obj/item/reagent_container/glass/beaker/vial/tricordrazine
name = "tricordrazine vial"
diff --git a/code/game/objects/items/reagent_containers/glass/bottle.dm b/code/game/objects/items/reagent_containers/glass/bottle.dm
index 9e0215b535b6..61cdee01c8f8 100644
--- a/code/game/objects/items/reagent_containers/glass/bottle.dm
+++ b/code/game/objects/items/reagent_containers/glass/bottle.dm
@@ -396,3 +396,13 @@
. = ..()
reagents.add_reagent("tricordrazine", 60)
update_icon()
+
+/obj/item/reagent_container/glass/bottle/epinephrine
+ name = "\improper Epinephrine bottle"
+ desc = "A small bottle. Contains epinephrine - Used to increase a patients arterial blood pressure, amongst other actions, to assist in cardiopulmonary resuscitation." //"I can't lie to you about your odds of a successful resuscitation, but you have my sympathies"
+ volume = 60
+
+/obj/item/reagent_container/glass/bottle/epinephrine/Initialize()
+ . = ..()
+ reagents.add_reagent("adrenaline", 60)
+ update_icon()
diff --git a/code/game/objects/items/reagent_containers/hypospray.dm b/code/game/objects/items/reagent_containers/hypospray.dm
index 5e268d35a33d..05b76568d702 100644
--- a/code/game/objects/items/reagent_containers/hypospray.dm
+++ b/code/game/objects/items/reagent_containers/hypospray.dm
@@ -237,6 +237,9 @@
/obj/item/reagent_container/hypospray/tricordrazine
starting_vial = /obj/item/reagent_container/glass/beaker/vial/tricordrazine
+/obj/item/reagent_container/hypospray/epinephrine
+ starting_vial = /obj/item/reagent_container/glass/beaker/vial/epinephrine
+
/obj/item/reagent_container/hypospray/sedative
name = "Sedative Hypospray"
starting_vial = /obj/item/reagent_container/glass/beaker/vial/sedative
diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm
index 18578295b02b..bef6d1d168de 100644
--- a/code/game/objects/items/stacks/rods.dm
+++ b/code/game/objects/items/stacks/rods.dm
@@ -4,7 +4,7 @@
singular_name = "metal rod"
icon_state = "rods"
flags_atom = FPRINT|CONDUCT
- w_class = SIZE_MEDIUM
+ w_class = SIZE_SMALL
force = 9
throwforce = 15
throw_speed = SPEED_VERY_FAST
@@ -54,13 +54,7 @@ GLOBAL_LIST_INIT(rod_recipes, list (
singular_name = "plasteel rod"
icon_state = "rods_plasteel"
flags_atom = FPRINT
- w_class = SIZE_MEDIUM
- force = 9
- throwforce = 15
- throw_speed = SPEED_VERY_FAST
- throw_range = 20
matter = list("plasteel" = 3750)
- max_amount = 60
attack_verb = list("hit", "bludgeoned", "whacked")
stack_id = "plasteel rod"
sheet_path = /obj/item/stack/sheet/plasteel
diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm
index 5aeef14c536d..5e4bc8c726bd 100644
--- a/code/game/objects/items/storage/backpack.dm
+++ b/code/game/objects/items/storage/backpack.dm
@@ -125,6 +125,9 @@
..()
/obj/item/storage/backpack/proc/is_accessible_by(mob/user)
+ // If the user is already looking inside this backpack.
+ if(user.s_active == src)
+ return TRUE
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(!worn_accessible)
@@ -348,6 +351,12 @@
/obj/item/storage/backpack/satchel/lockable/liaison
lock_overridable = FALSE
+/obj/item/storage/backpack/satchel/blue
+ icon_state = "satchel_blue"
+
+/obj/item/storage/backpack/satchel/black
+ icon_state = "satchel_black"
+
/obj/item/storage/backpack/satchel/norm
name = "satchel"
desc = "A trendy-looking satchel."
diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm
index a977eb880ff5..1daffa2908f0 100644
--- a/code/game/objects/items/storage/belt.dm
+++ b/code/game/objects/items/storage/belt.dm
@@ -319,6 +319,29 @@
new /obj/item/storage/pill_bottle/inaprovaline(src)
new /obj/item/storage/pill_bottle/tramadol(src)
+/obj/item/storage/belt/medical/lifesaver/upp/synth/fill_preset_inventory()
+ new /obj/item/storage/pill_bottle/bicaridine(src)
+ new /obj/item/storage/pill_bottle/bicaridine(src)
+ new /obj/item/storage/pill_bottle/kelotane(src)
+ new /obj/item/storage/pill_bottle/kelotane(src)
+ new /obj/item/storage/pill_bottle/tramadol(src)
+ new /obj/item/storage/pill_bottle/tramadol(src)
+ new /obj/item/storage/pill_bottle/antitox(src)
+ new /obj/item/storage/pill_bottle/alkysine(src)
+ new /obj/item/storage/pill_bottle/imidazoline(src)
+ new /obj/item/stack/medical/advanced/bruise_pack(src)
+ new /obj/item/stack/medical/advanced/bruise_pack(src)
+ new /obj/item/stack/medical/advanced/bruise_pack(src)
+ new /obj/item/stack/medical/advanced/ointment(src)
+ new /obj/item/stack/medical/advanced/ointment(src)
+ new /obj/item/stack/medical/advanced/ointment(src)
+ new /obj/item/stack/medical/splint(src)
+ new /obj/item/stack/medical/splint(src)
+ new /obj/item/stack/medical/splint(src)
+ new /obj/item/reagent_container/hypospray/autoinjector/dexalinp(src)
+ new /obj/item/reagent_container/hypospray/autoinjector/oxycodone(src)
+ new /obj/item/device/healthanalyzer(src)
+
/obj/item/storage/belt/security
name = "\improper M276 pattern security rig"
desc = "The M276 is the standard load-bearing equipment of the USCM. It consists of a modular belt with various clips. This configuration is commonly seen among USCM Military Police and peacekeepers, though it can hold some light munitions."
@@ -383,6 +406,13 @@
new /obj/item/reagent_container/spray/pepper(src)
new /obj/item/device/clue_scanner(src)
+/obj/item/storage/belt/security/MP/full/synth/fill_preset_inventory()
+ new /obj/item/explosive/grenade/flashbang(src)
+ new /obj/item/device/flash(src)
+ new /obj/item/weapon/baton(src)
+ new /obj/item/reagent_container/spray/pepper(src)
+ new /obj/item/device/clue_scanner(src)
+ new /obj/item/handcuffs(src)
/obj/item/storage/belt/security/MP/UPP
name = "\improper Type 43 military police rig"
diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm
index 8e4ffb90d2bd..4b7ecc4c5599 100644
--- a/code/game/objects/items/storage/boxes.dm
+++ b/code/game/objects/items/storage/boxes.dm
@@ -754,6 +754,18 @@
. = ..()
isopened = 0
icon_state = "mealpack"
+ RegisterSignal(src, COMSIG_ITEM_DROPPED, PROC_REF(try_forced_folding))
+
+/obj/item/storage/box/MRE/proc/try_forced_folding(datum/source, mob/user)
+ SIGNAL_HANDLER
+
+ if(locate(/obj/item/reagent_container/food/snacks/packaged_meal) in src)
+ return
+
+ UnregisterSignal(src, COMSIG_ITEM_DROPPED)
+ storage_close(user)
+ to_chat(user, SPAN_NOTICE("You throw away [src]."))
+ qdel(src)
/obj/item/storage/box/MRE/update_icon()
if(!contents.len)
diff --git a/code/game/objects/items/storage/internal.dm b/code/game/objects/items/storage/internal.dm
index a491df12f086..4d196ab145aa 100644
--- a/code/game/objects/items/storage/internal.dm
+++ b/code/game/objects/items/storage/internal.dm
@@ -61,10 +61,13 @@
else
user.drop_inv_item_on_ground(master_item)
user.put_in_r_hand(master_item)
- return
else
user.drop_inv_item_on_ground(master_item)
user.put_in_r_hand(master_item)
+
+ if(master_item.light_on)
+ master_item.turn_light(toggle_on = FALSE)
+ return
if("l_hand")
if(master_item.time_to_unequip)
user.visible_message(SPAN_NOTICE("[user] starts taking off \the [master_item]."))
@@ -73,10 +76,13 @@
else
user.drop_inv_item_on_ground(master_item)
user.put_in_l_hand(master_item)
- return
else
user.drop_inv_item_on_ground(master_item)
user.put_in_l_hand(master_item)
+
+ if(master_item.light_on)
+ master_item.turn_light(toggle_on = FALSE)
+ return
master_item.add_fingerprint(user)
return FALSE
return FALSE
diff --git a/code/game/objects/items/storage/pouch.dm b/code/game/objects/items/storage/pouch.dm
index 5be788dce25c..1b75a1a7d89d 100644
--- a/code/game/objects/items/storage/pouch.dm
+++ b/code/game/objects/items/storage/pouch.dm
@@ -824,6 +824,7 @@
/obj/item/roller = list(SKILL_MEDICAL, SKILL_MEDICAL_MEDIC),
/obj/item/bodybag = list(SKILL_MEDICAL, SKILL_MEDICAL_MEDIC),
/obj/item/reagent_container/blood = list(SKILL_MEDICAL, SKILL_MEDICAL_MEDIC),
+ /obj/item/tool/surgery/FixOVein = list(SKILL_MEDICAL, SKILL_MEDICAL_MEDIC),
)
can_hold_skill_only = TRUE
@@ -1271,6 +1272,21 @@
new /obj/item/explosive/plastic(src)
new /obj/item/explosive/plastic(src)
+/obj/item/storage/pouch/tools/tactical/upp
+ name = "synthetic tools pouch"
+ desc = "Special issue tools pouch for UPP synthetics. Due to the enhanced strength of the synthetic and its inability to feel discomfort, this pouch is designed to maximize internal space with no concern for its wearer's comfort."
+ icon_state = "tools"
+ storage_slots = 7
+
+/obj/item/storage/pouch/tools/tactical/upp/fill_preset_inventory()
+ new /obj/item/tool/wrench(src)
+ new /obj/item/tool/crowbar(src)
+ new /obj/item/tool/wirecutters(src)
+ new /obj/item/device/multitool(src)
+ new /obj/item/tool/weldingtool(src)
+ new /obj/item/stack/cable_coil(src)
+ new /obj/item/stack/cable_coil(src)
+
/obj/item/storage/pouch/tools/uppsynth/fill_preset_inventory()
new /obj/item/tool/crowbar(src)
new /obj/item/tool/wirecutters(src)
diff --git a/code/game/objects/items/tools/experimental_tools.dm b/code/game/objects/items/tools/experimental_tools.dm
index 221aa279a53b..dad06367b43d 100644
--- a/code/game/objects/items/tools/experimental_tools.dm
+++ b/code/game/objects/items/tools/experimental_tools.dm
@@ -157,7 +157,7 @@
end_cpr()
return PROCESS_KILL
- if(world.time > last_pump + 10 SECONDS)
+ if(world.time > last_pump + 7.5 SECONDS)
last_pump = world.time
if(H.stat == UNCONSCIOUS)
var/suff = min(H.getOxyLoss(), 10) //Pre-merge level, less healing, more prevention of dying.
diff --git a/code/game/objects/items/tools/kitchen_tools.dm b/code/game/objects/items/tools/kitchen_tools.dm
index 2cff941be8d6..d6473b156a67 100644
--- a/code/game/objects/items/tools/kitchen_tools.dm
+++ b/code/game/objects/items/tools/kitchen_tools.dm
@@ -126,7 +126,7 @@
flags_atom = FPRINT|CONDUCT
sharp = IS_SHARP_ITEM_ACCURATE
edge = 1
- force = 10
+ force = MELEE_FORCE_TIER_4
w_class = SIZE_MEDIUM
throwforce = 6
throw_speed = SPEED_VERY_FAST
@@ -143,7 +143,7 @@
icon_state = "butch"
desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products."
flags_atom = FPRINT|CONDUCT
- force = 15
+ force = MELEE_FORCE_NORMAL
w_class = SIZE_SMALL
throwforce = 8
throw_speed = SPEED_VERY_FAST
diff --git a/code/game/objects/items/tools/mining_tools.dm b/code/game/objects/items/tools/mining_tools.dm
index 2389f85a370a..2b95e9fe94c2 100644
--- a/code/game/objects/items/tools/mining_tools.dm
+++ b/code/game/objects/items/tools/mining_tools.dm
@@ -8,10 +8,11 @@
icon_state = "pickaxe"
flags_atom = FPRINT|CONDUCT
flags_equip_slot = SLOT_WAIST
- force = 15
+ force = MELEE_FORCE_STRONG
throwforce = 4
item_state = "pickaxe"
w_class = SIZE_LARGE
+ hitsound = 'sound/weapons/bladeslice.ogg'
matter = list("metal" = 3750)
/// moving the delay to an item var so R&D can make improved picks. --NEO
var/digspeed = 40
diff --git a/code/game/objects/items/tools/surgery_tools.dm b/code/game/objects/items/tools/surgery_tools.dm
index 7d354d8d8c1c..a1792b574eec 100644
--- a/code/game/objects/items/tools/surgery_tools.dm
+++ b/code/game/objects/items/tools/surgery_tools.dm
@@ -96,6 +96,7 @@
force = 10
sharp = IS_SHARP_ITEM_ACCURATE
edge = 1
+ demolition_mod = 0.1
w_class = SIZE_TINY
throwforce = 5
flags_item = CAN_DIG_SHRAPNEL
diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm
index 0497a410a373..92400e2d3184 100644
--- a/code/game/objects/items/weapons/shields.dm
+++ b/code/game/objects/items/weapons/shields.dm
@@ -89,7 +89,7 @@
/obj/item/weapon/shield/riot/attackby(obj/item/W as obj, mob/user as mob)
if(cooldown < world.time - 25)
- if(istype(W, /obj/item/weapon/baton) || istype(W, /obj/item/weapon/sword) || istype(W, /obj/item/weapon/baseballbat) || istype(W, /obj/item/weapon/twohanded/fireaxe) || istype(W, /obj/item/weapon/chainofcommand))
+ if(istype(W, /obj/item/weapon/baton) || istype(W, /obj/item/weapon/sword) || istype(W, /obj/item/weapon/telebaton) || istype(W, /obj/item/weapon/baseballbat) || istype(W, /obj/item/weapon/classic_baton) || istype(W, /obj/item/weapon/twohanded/fireaxe) || istype(W, /obj/item/weapon/chainofcommand))
user.visible_message(SPAN_WARNING("[user] bashes [src] with [W]!"))
playsound(user.loc, 'sound/effects/shieldbash.ogg', 25, 1)
cooldown = world.time
diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm
index cdab7db87ed7..043da19c9d92 100644
--- a/code/game/objects/items/weapons/swords_axes_etc.dm
+++ b/code/game/objects/items/weapons/swords_axes_etc.dm
@@ -23,7 +23,7 @@
icon_state = "baton"
item_state = "classic_baton"
flags_equip_slot = SLOT_WAIST
- force = MELEE_FORCE_WEAK
+ force = MELEE_FORCE_NORMAL
/obj/item/weapon/classic_baton/attack(mob/M as mob, mob/living/user as mob)
if(!..())
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index be7571fa84a1..36e0ea702a95 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -101,7 +101,7 @@
w_class = SIZE_HUGE
icon_state = "offhand"
name = "offhand"
- flags_item = DELONDROP|TWOHANDED|WIELDED
+ flags_item = DELONDROP|TWOHANDED|WIELDED|CANTSTRIP
/obj/item/weapon/twohanded/offhand/unwield(mob/user)
if(flags_item & WIELDED)
diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index 8a37eef3ee73..a3febb11dddb 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -142,31 +142,39 @@
return "on [t_his] feet"
return "...somewhere?"
-/obj/proc/updateUsrDialog()
- if(in_use)
- var/is_in_use = 0
- var/list/nearby = viewers(1, src)
- for(var/mob/M in nearby)
- if ((M.client && M.interactee == src))
- is_in_use = 1
- attack_hand(M)
- if (isSilicon(usr))
- if (!(usr in nearby))
- if (usr.client && usr.interactee==src) // && M.interactee == src is omitted because if we triggered this by using the dialog, it doesn't matter if our machine changed in between triggering it and this - the dialog is probably still supposed to refresh.
- is_in_use = 1
- attack_remote(usr)
- in_use = is_in_use
+/obj/proc/updateUsrDialog(mob/user)
+ if(!user)
+ user = usr
+ if(!in_use || !user)
+ return
+
+ var/is_in_use = FALSE
+ var/list/nearby = viewers(1, src)
+ for(var/mob/cur_mob in nearby)
+ if(cur_mob.client && cur_mob.interactee == src)
+ is_in_use = TRUE
+ attack_hand(cur_mob)
+ if(isSilicon(user))
+ if(!(user in nearby))
+ if(user.client && user.interactee == src) // && M.interactee == src is omitted because if we triggered this by using the dialog, it doesn't matter if our machine changed in between triggering it and this - the dialog is probably still supposed to refresh.
+ is_in_use = TRUE
+ attack_remote(user)
+
+ in_use = is_in_use
/obj/proc/updateDialog()
// Check that people are actually using the machine. If not, don't update anymore.
- if(in_use)
- var/list/nearby = viewers(1, src)
- var/is_in_use = 0
- for(var/mob/M in nearby)
- if ((M.client && M.interactee == src))
- is_in_use = 1
- src.interact(M)
- in_use = is_in_use
+ if(!in_use)
+ return
+
+ var/is_in_use = FALSE
+ var/list/nearby = viewers(1, src)
+ for(var/mob/cur_mob in nearby)
+ if(cur_mob.client && cur_mob.interactee == src)
+ is_in_use = TRUE
+ interact(cur_mob)
+
+ in_use = is_in_use
/obj/proc/interact(mob/user)
return
@@ -269,7 +277,7 @@
if (!ismob(M) || (get_dist(src, user) > 1) || user.is_mob_restrained() || user.stat || buckled_mob || M.buckled || !isturf(user.loc))
return
- if (isxeno(user))
+ if (isxeno(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
to_chat(user, SPAN_WARNING("You don't have the dexterity to do that, try a nest."))
return
if (iszombie(user))
@@ -292,10 +300,10 @@
if(M.loc != src.loc)
return
. = buckle_mob(M)
- if (M.mob_size <= MOB_SIZE_XENO && M.stat == DEAD && istype(src, /obj/structure/bed/roller))
- do_buckle(M, user)
- return
- if (M.mob_size > MOB_SIZE_HUMAN)
+ if (M.mob_size <= MOB_SIZE_XENO)
+ if ((M.stat == DEAD && istype(src, /obj/structure/bed/roller) || HAS_TRAIT(M, TRAIT_OPPOSABLE_THUMBS)))
+ do_buckle(M, user)
+ if ((M.mob_size > MOB_SIZE_HUMAN))
to_chat(user, SPAN_WARNING("[M] is too big to buckle in."))
return
do_buckle(M, user)
diff --git a/code/game/objects/prop.dm b/code/game/objects/prop.dm
index c067a9730e70..ac94e8ab03b4 100644
--- a/code/game/objects/prop.dm
+++ b/code/game/objects/prop.dm
@@ -89,6 +89,11 @@
icon_state = "uscmflag2"
desc = "A miniature historical table flag of the United States Colonial Marines, in traditional scarlet and gold. The USCM logo sits in the center; an eagle is perched atop it and an anchor rests behind it."
+/obj/item/prop/tableflag/upp
+ name = "UPP table flag"
+ icon_state = "uppflag"
+ desc = "A miniature table flag of the Union of Progressive Peoples, consisting of 17 yellow stars, surrounding the bigger one in the middle on scarlet field."
+
/obj/item/prop/flower_vase
name = "flower vase"
icon_state = "flowervase"
diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm
index 2519ed2940d5..919f185ebe9e 100644
--- a/code/game/objects/structures.dm
+++ b/code/game/objects/structures.dm
@@ -219,8 +219,12 @@
playsound(loc, 'sound/items/Ratchet.ogg', 25, 1)
if(anchored)
user.visible_message(SPAN_NOTICE("[user] anchors [src] into place."),SPAN_NOTICE("You anchor [src] into place."))
+ for(var/obj/medlink in loc)
+ SEND_SIGNAL(medlink, COMSIG_STRUCTURE_WRENCHED, src)
else
user.visible_message(SPAN_NOTICE("[user] unanchors [src]."),SPAN_NOTICE("You unanchor [src]."))
+ for(var/obj/medlink in loc)
+ SEND_SIGNAL(medlink, COMSIG_STRUCTURE_UNWRENCHED, src)
return TRUE
/obj/structure/get_applying_acid_time()
diff --git a/code/game/objects/structures/barricade/barricade.dm b/code/game/objects/structures/barricade/barricade.dm
index 313067ca6a56..edb13ac16e5a 100644
--- a/code/game/objects/structures/barricade/barricade.dm
+++ b/code/game/objects/structures/barricade/barricade.dm
@@ -333,7 +333,7 @@
take_damage(dam * burn_flame_multiplier)
/obj/structure/barricade/proc/hit_barricade(obj/item/item)
- take_damage(item.force * 0.5 * brute_multiplier)
+ take_damage(item.force * item.demolition_mod * 0.5 * brute_multiplier)
/obj/structure/barricade/proc/take_damage(damage)
for(var/obj/structure/barricade/barricade in get_step(src,dir)) //discourage double-stacking barricades by removing health from opposing barricade
diff --git a/code/game/objects/structures/barricade/handrail.dm b/code/game/objects/structures/barricade/handrail.dm
index 1d641479c3d9..2fde8de3fe98 100644
--- a/code/game/objects/structures/barricade/handrail.dm
+++ b/code/game/objects/structures/barricade/handrail.dm
@@ -198,3 +198,11 @@
/obj/structure/barricade/handrail/sandstone/b
icon_state = "hr_sandstone_b"
+
+/obj/structure/barricade/handrail/pizza
+ name = "\improper diner half-wall"
+ icon_state = "hr_sandstone" //temp, getting sprites soontm
+ color = "#b51c0b"
+ can_be_reinforced = FALSE
+ projectile_coverage = PROJECTILE_COVERAGE_LOW
+ layer = MOB_LAYER + 0.01
diff --git a/code/game/objects/structures/barricade/misc.dm b/code/game/objects/structures/barricade/misc.dm
index a0465de8f070..8fcf7cec41ad 100644
--- a/code/game/objects/structures/barricade/misc.dm
+++ b/code/game/objects/structures/barricade/misc.dm
@@ -50,9 +50,9 @@
/obj/structure/barricade/snow/hit_barricade(obj/item/I)
switch(I.damtype)
if("fire")
- take_damage( I.force * 0.6 )
+ take_damage( I.force * I.demolition_mod * 0.6 )
if("brute")
- take_damage( I.force * 0.3 )
+ take_damage( I.force * I.demolition_mod * 0.3 )
return
@@ -106,6 +106,6 @@
/obj/structure/barricade/wooden/hit_barricade(obj/item/I)
switch(I.damtype)
if("fire")
- take_damage( I.force * 1.5 )
+ take_damage( I.force * I.demolition_mod * 1.5 )
if("brute")
- take_damage( I.force * 0.75 )
+ take_damage( I.force * I.demolition_mod * 0.75 )
diff --git a/code/game/objects/structures/blocker.dm b/code/game/objects/structures/blocker.dm
index f85b1e65fff5..33f79d7e9d32 100644
--- a/code/game/objects/structures/blocker.dm
+++ b/code/game/objects/structures/blocker.dm
@@ -125,3 +125,11 @@
icon_state = "purple_line"
visible = TRUE
+
+// for fuel pump since it's a large sprite.
+
+/obj/structure/blocker/fuelpump
+ name = "\improper Fuel Pump"
+ desc = "It is a machine that pumps fuel around the ship."
+ invisibility = 101
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
index f7518a8c6058..4f7b14d64092 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm
@@ -186,9 +186,7 @@
/obj/structure/closet/secure_closet/professor_dummy/Initialize()
. = ..()
- var/mob/living/carbon/human/dummy/professor_dummy/spawned_dummy = new(src)
- var/datum/equipment_preset/dummy_preset = /datum/equipment_preset/other/professor_dummy
- arm_equipment(spawned_dummy, initial(dummy_preset.name), TRUE, FALSE)
+ new /mob/living/carbon/human/professor_dummy(src)
/obj/structure/closet/secure_closet/professor_dummy/togglelock(mob/living/user)
if(user.job == JOB_CMO || user.job == JOB_SEA)
@@ -197,13 +195,13 @@
to_chat(user, SPAN_WARNING("Only the [JOB_CMO] or the [JOB_SEA] can toggle this lock."))
/obj/structure/closet/secure_closet/professor_dummy/dump_contents()
- if(locate(/mob/living/carbon/human/dummy/professor_dummy) in src)
+ if(locate(/mob/living/carbon/human/professor_dummy) in src)
visible_message(SPAN_HIGHDANGER("Professor DUMMY should only be used for teaching medical personnel, exclusively done by the [JOB_CMO] or the [JOB_SEA]. Do not abuse it."))
return ..()
/obj/structure/closet/secure_closet/professor_dummy/close()
for(var/mob/mob in loc)
- if(!istype(mob, /mob/living/carbon/human/dummy/professor_dummy))
+ if(!istype(mob, /mob/living/carbon/human/professor_dummy))
visible_message(SPAN_WARNING("[src] won't budge!"))
return
..()
@@ -216,7 +214,7 @@
return
/obj/structure/closet/secure_closet/professor_dummy/proc/check_and_destroy_dummy()
- var/mob/dummy = locate(/mob/living/carbon/human/dummy/professor_dummy) in src
+ var/mob/dummy = locate(/mob/living/carbon/human/professor_dummy) in src
if(dummy)
visible_message(SPAN_DANGER("Something in [src] blows apart!"))
playsound(src, 'sound/effects/metal_crash.ogg', 25, 1)
diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm
index 8439a887e57f..bfc9bfa7833e 100644
--- a/code/game/objects/structures/displaycase.dm
+++ b/code/game/objects/structures/displaycase.dm
@@ -57,7 +57,7 @@
/obj/structure/displaycase/attackby(obj/item/W as obj, mob/user as mob)
- src.health -= W.force
+ src.health -= W.force * W.demolition_mod
src.healthcheck()
..()
return
diff --git a/code/game/objects/structures/fence.dm b/code/game/objects/structures/fence.dm
index db24dfdfebdd..60a8682a4930 100644
--- a/code/game/objects/structures/fence.dm
+++ b/code/game/objects/structures/fence.dm
@@ -170,9 +170,9 @@
else
switch(W.damtype)
if("fire")
- health -= W.force
+ health -= W.force * W.demolition_mod
if("brute")
- health -= W.force * 0.1
+ health -= W.force * W.demolition_mod * 0.1
healthcheck(1, 1, user, W)
..()
diff --git a/code/game/objects/structures/lamarr_cage.dm b/code/game/objects/structures/lamarr_cage.dm
index fbae7a387a63..3708b15b25e6 100644
--- a/code/game/objects/structures/lamarr_cage.dm
+++ b/code/game/objects/structures/lamarr_cage.dm
@@ -53,8 +53,8 @@
/obj/structure/lamarr/attackby(obj/item/W as obj, mob/user as mob)
- src.health -= W.force
- src.healthcheck()
+ health -= W.force * W.demolition_mod
+ healthcheck()
..()
return
diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm
index 25dc0040e2ac..0fd22361c67b 100644
--- a/code/game/objects/structures/mineral_doors.dm
+++ b/code/game/objects/structures/mineral_doors.dm
@@ -102,7 +102,7 @@
Dismantle()
else if(!(W.flags_item & NOBLUDGEON) && W.force)
user.animation_attack_on(src)
- hardness -= W.force/100
+ hardness -= W.force/100 * W.demolition_mod
to_chat(user, "You hit the [name] with your [W.name]!")
CheckHardness()
else
diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm
index a8d76843313a..0ee7453782d9 100644
--- a/code/game/objects/structures/mirror.dm
+++ b/code/game/objects/structures/mirror.dm
@@ -121,10 +121,10 @@
playsound(loc, 'sound/effects/Glasshit.ogg', 25, 1)
return
if(shattered)
- playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 25, 1)
+ playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 25, 1)
user.visible_message(SPAN_WARNING("[user] hits [src] with [I], but it's already broken!"), SPAN_WARNING("You hit [src] with [I], but it's already broken!"))
return
- if(prob(I.force * 2))
+ if(prob(I.force * I.demolition_mod * 2))
user.visible_message(SPAN_WARNING("[user] smashes [src] with [I]!"), SPAN_WARNING("You smash [src] with [I]!"))
shatter()
else
diff --git a/code/game/objects/structures/pipes/pipes.dm b/code/game/objects/structures/pipes/pipes.dm
index 9f2b70c70661..fb51a605ee93 100644
--- a/code/game/objects/structures/pipes/pipes.dm
+++ b/code/game/objects/structures/pipes/pipes.dm
@@ -52,6 +52,7 @@
for(var/obj/structure/pipes/P in connected_to)
P.remove_connection(src)
+ connected_to.Cut()
GLOB.mainship_pipes -= src
@@ -96,6 +97,7 @@
/obj/structure/pipes/proc/remove_connection(obj/structure/pipes/P)
connected_to -= P
+ P.connected_to -= src
/obj/structure/pipes/proc/get_connection(direction)
var/obj/structure/pipes/best_connected_pipe = null
diff --git a/code/game/objects/structures/pipes/vents/pump_scrubber.dm b/code/game/objects/structures/pipes/vents/pump_scrubber.dm
index a4565c610ad5..acc8b4784af9 100644
--- a/code/game/objects/structures/pipes/vents/pump_scrubber.dm
+++ b/code/game/objects/structures/pipes/vents/pump_scrubber.dm
@@ -21,6 +21,35 @@
name = "Reinforced Air Vent"
explodey = FALSE
+/// Vents that are linked to ARES Security Protocols, allowing the ARES Interface to trigger security measures.
+/obj/structure/pipes/vents/pump/no_boom/gas
+ name = "Security Air Vent"
+ var/datum/ares_link/link
+ var/vent_tag
+ COOLDOWN_DECLARE(vent_trigger_cooldown)
+
+/obj/structure/pipes/vents/pump/no_boom/gas/Initialize()
+ link_systems(override = FALSE)
+ . = ..()
+
+/obj/structure/pipes/vents/pump/no_boom/gas/Destroy()
+ delink()
+ return ..()
+
+/obj/structure/pipes/vents/pump/no_boom/gas/proc/link_systems(datum/ares_link/new_link = GLOB.ares_link, override)
+ if(link && !override)
+ return FALSE
+ delink()
+ if(new_link)
+ link = new_link
+ new_link.linked_vents += src
+ return TRUE
+
+/obj/structure/pipes/vents/pump/no_boom/gas/proc/delink()
+ if(link)
+ link.linked_vents -= src
+ link = null
+
/obj/structure/pipes/vents/pump/on
icon_state = "on"
diff --git a/code/game/objects/structures/reagent_dispensers.dm b/code/game/objects/structures/reagent_dispensers.dm
index a89f35ce38f3..d0f9f513e7f8 100644
--- a/code/game/objects/structures/reagent_dispensers.dm
+++ b/code/game/objects/structures/reagent_dispensers.dm
@@ -129,6 +129,25 @@
if(N)
amount_per_transfer_from_this = N
+/obj/structure/reagent_dispensers/clicked(mob/user, list/mods)
+ if(!Adjacent(user))
+ return ..()
+
+ if(!ishuman(user))
+ return ..()
+
+ if(!reagents || reagents.locked)
+ return ..()
+
+ if(mods["alt"])
+ dispensing = !dispensing
+ if(dispensing)
+ to_chat(user, SPAN_NOTICE("[src] is now dispensing"))
+ else
+ to_chat(user, SPAN_NOTICE("[src] is now filling"))
+ return TRUE
+ return ..()
+
/obj/structure/reagent_dispensers/attackby(obj/item/hit_item, mob/living/user)
if(istype(hit_item, /obj/item/reagent_container))
return
diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm
index e19d190c7442..d9bf8677bb56 100644
--- a/code/game/objects/structures/signs.dm
+++ b/code/game/objects/structures/signs.dm
@@ -107,6 +107,11 @@
desc = "This banner depicts Delta Squad's motto. The Marines of Delta Squad adopted it after picking an old bomber movie for movie night a while back."
icon_state = "maximumeffort"
+/obj/structure/sign/banners/united_americas_flag
+ name = "\improper United Americas flag"
+ desc = "A flag of the United Americas. Inspires patriotism, fear, or revulsion depending on the viewer's political leanings."
+ icon_state = "uaflag"
+
//=====================//
// SEMIOTIC STANDARD //
//===================//
diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm
index 7469a568f7e0..eb9b5aa5e418 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm
@@ -20,6 +20,7 @@
var/buildstackamount = 1
var/foldabletype //To fold into an item (e.g. roller bed item)
var/buckling_y = 0 //pixel y shift to give to the buckled mob.
+ var/buckling_x = 0 //pixel x shift to give to the buckled mob.
var/obj/structure/closet/bodybag/buckled_bodybag
var/accepts_bodybag = FALSE //Whether you can buckle bodybags to this bed
var/base_bed_icon //Used by beds that change sprite when something is buckled to them
@@ -60,11 +61,15 @@
if(. && buckled_mob == M)
M.pixel_y = buckling_y
M.old_y = buckling_y
+ M.pixel_x = buckling_x
+ M.old_x = buckling_x
if(base_bed_icon)
density = TRUE
else
M.pixel_y = initial(buckled_mob.pixel_y)
M.old_y = initial(buckled_mob.pixel_y)
+ M.pixel_x = initial(buckled_mob.pixel_x)
+ M.old_x = initial(buckled_mob.pixel_x)
if(base_bed_icon)
density = FALSE
@@ -161,11 +166,14 @@
if(ismob(G.grabbed_thing))
var/mob/M = G.grabbed_thing
var/atom/blocker = LinkBlocked(user, user.loc, loc)
+ if(!Adjacent(M))
+ visible_message(SPAN_DANGER("[M] is too far to place onto [src]."))
+ return FALSE
if(blocker)
to_chat(user, SPAN_WARNING("\The [blocker] is in the way!"))
- else
- to_chat(user, SPAN_NOTICE("You place [M] on [src]."))
- M.forceMove(loc)
+ return FALSE
+ to_chat(user, SPAN_NOTICE("You place [M] on [src]."))
+ M.forceMove(loc)
return TRUE
else
diff --git a/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm b/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm
index a3ccffc466c4..c3f0b97e509a 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm
@@ -18,8 +18,6 @@
var/mob/dead/observer/ghost_of_buckled_mob = null
var/hivenumber = XENO_HIVE_NORMAL
var/force_nest = FALSE
- /// counterpart to buckling_y --> offsets the buckled mob when it buckles
- var/list/buckling_x
/obj/structure/bed/nest/Initialize(mapload, hive)
. = ..()
@@ -116,8 +114,7 @@
playsound(loc, "alien_resin_move", 50)
if(ishuman(buckled_mob))
var/mob/living/carbon/human/H = buckled_mob
- user.attack_log += "\[[time_stamp()]\] Unnested [key_name(H)] at [get_location_in_text(H)]"
- H.attack_log += "\[[time_stamp()]\] Unnested by [key_name(user)] at [get_location_in_text(H)]"
+ log_interact(user, H, "[key_name(user)] unnested [key_name(H)] at [get_area_name(loc)]")
unbuckle()
return
if(is_sharp(W))
@@ -130,8 +127,7 @@
playsound(loc, "alien_resin_move", 50)
if(ishuman(buckled_mob))
var/mob/living/carbon/human/H = buckled_mob
- user.attack_log += "\[[time_stamp()]\] Unnested [key_name(H)] at [get_location_in_text(H)]"
- H.attack_log += "\[[time_stamp()]\] Unnested by [key_name(user)] at [get_location_in_text(H)]"
+ log_interact(user, H, "[key_name(user)] unnested [key_name(H)] at [get_area_name(loc)]")
unbuckle()
return
health = max(0, health - W.force)
@@ -180,8 +176,9 @@
playsound(loc, "alien_resin_move", 50)
if(ishuman(buckled_mob))
var/mob/living/carbon/human/H = buckled_mob
- user.attack_log += "\[[time_stamp()]\] Unnested [key_name(H)] at [get_location_in_text(H)]"
- H.attack_log += "\[[time_stamp()]\] Unnested by [key_name(user)] at [get_location_in_text(H)]"
+ if(isxeno(user))
+ msg_admin_niche("[key_name(user)] unnested [key_name(H)] at [get_location_in_text(H)] [ADMIN_JMP(loc)]")
+ log_interact(user, H, "[key_name(user)] unnested [key_name(H)] at [get_area_name(loc)]")
unbuckle()
return
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 226045caaea6..341fcb657080 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -286,7 +286,7 @@
to_chat(user, (state ? SPAN_NOTICE("You have pried the window into the frame.") : SPAN_NOTICE("You have pried the window out of the frame.")))
else
if(!not_damageable) //Impossible to destroy
- health -= W.force
+ health -= W.force * W.demolition_mod
if(health <= 7 && !reinf && !static_frame && !not_deconstructable)
anchored = FALSE
update_nearby_icons()
@@ -618,6 +618,28 @@
basestate = "w_ai_rwindow"
window_frame = /obj/structure/window_frame/almayer/aicore/white
+/obj/structure/window/framed/almayer/aicore/black
+ icon_state = "alm_ai_rwindow0"
+ basestate = "alm_ai_rwindow"
+ window_frame = /obj/structure/window_frame/almayer/aicore/black
+
+/obj/structure/window/framed/almayer/aicore/hull/black
+ icon_state = "alm_ai_rwindow0"
+ basestate = "alm_ai_rwindow"
+ window_frame = /obj/structure/window_frame/almayer/aicore/black
+ not_damageable = TRUE
+ not_deconstructable = TRUE
+ unslashable = TRUE
+ unacidable = TRUE
+ health = 1000000 //Failsafe, shouldn't matter
+
+/obj/structure/window/framed/almayer/aicore/hull/black/hijack_bustable //I exist to explode after hijack, that is all.
+
+/obj/structure/window/framed/almayer/aicore/hull/black/hijack_bustable/Initialize()
+ . = ..()
+ if(is_mainship_level(z))
+ RegisterSignal(SSdcs, COMSIG_GLOB_HIJACK_IMPACTED, PROC_REF(deconstruct))
+
/obj/structure/window/framed/almayer/aicore/white/hull
name = "hull window"
desc = "An ultra-reinforced window designed to protect the AI Core. Made out of exotic materials to prevent hull breaches, nothing will get through here."
diff --git a/code/game/objects/structures/window_frame.dm b/code/game/objects/structures/window_frame.dm
index 460a11af1000..ae40be1472ad 100644
--- a/code/game/objects/structures/window_frame.dm
+++ b/code/game/objects/structures/window_frame.dm
@@ -184,6 +184,11 @@
basestate = "w_ai_window"
window_type = /obj/structure/window/framed/almayer/aicore/white
+/obj/structure/window_frame/almayer/aicore/black
+ icon_state = "alm_window0_frame"
+ basestate = "alm_window"
+ window_type = /obj/structure/window/framed/almayer/aicore/black
+
/obj/structure/window_frame/almayer/requisitions/attackby(obj/item/W, mob/living/user)
if(istype(W, sheet_type))
to_chat(user, SPAN_WARNING("You can't repair this window."))
diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm
index c4698e5722c5..482139c03707 100644
--- a/code/game/supplyshuttle.dm
+++ b/code/game/supplyshuttle.dm
@@ -289,8 +289,8 @@ GLOBAL_DATUM_INIT(supply_controller, /datum/controller/supply, new())
/obj/structure/machinery/computer/supply_drop_console/proc/handle_supplydrop()
SHOULD_NOT_SLEEP(TRUE)
- var/obj/structure/closet/crate/C = check_pad()
- if(!C)
+ var/obj/structure/closet/crate/crate = check_pad()
+ if(!crate)
to_chat(usr, "[icon2html(src, usr)] [SPAN_WARNING("No crate was detected on the drop pad. Get Requisitions on the line!")]")
return
@@ -316,19 +316,21 @@ GLOBAL_DATUM_INIT(supply_controller, /datum/controller/supply, new())
to_chat(usr, "[icon2html(src, usr)] [SPAN_WARNING("The landing zone appears to be obstructed or out of bounds. Package would be lost on drop.")]")
return
- C.visible_message(SPAN_WARNING("\The [C] loads into a launch tube. Stand clear!"))
- current_squad.send_message("'[C.name]' supply drop incoming. Heads up!")
- current_squad.send_maptext(C.name, "Incoming Supply Drop:")
+ crate.visible_message(SPAN_WARNING("\The [crate] loads into a launch tube. Stand clear!"))
+ current_squad.send_message("'[crate.name]' supply drop incoming. Heads up!")
+ current_squad.send_maptext(crate.name, "Incoming Supply Drop:")
COOLDOWN_START(src, next_fire, drop_cooldown)
if(ismob(usr))
var/mob/M = usr
M.count_niche_stat(STATISTICS_NICHE_CRATES)
- playsound(C.loc,'sound/effects/bamf.ogg', 50, 1) //Ehh
- var/obj/structure/droppod/supply/pod = new(null, C)
- C.forceMove(pod)
+ playsound(crate.loc,'sound/effects/bamf.ogg', 50, 1) //Ehh
+ var/obj/structure/droppod/supply/pod = new(null, crate)
+ crate.forceMove(pod)
pod.launch(T)
- visible_message("[icon2html(src, viewers(src))] [SPAN_BOLDNOTICE("'[C.name]' supply drop launched! Another launch will be available in five minutes.")]")
+ log_ares_requisition("Supply Drop", "Launch [crate.name] to X[x_supply], Y[y_supply].", usr.real_name)
+ log_game("[key_name(usr)] launched supply drop '[crate.name]' to X[x_coord], Y[y_coord].")
+ visible_message("[icon2html(src, viewers(src))] [SPAN_BOLDNOTICE("'[crate.name]' supply drop launched! Another launch will be available in five minutes.")]")
//A limited version of the above console
//Can't pick squads, drops less often
diff --git a/code/game/turfs/auto_turf.dm b/code/game/turfs/auto_turf.dm
index e07f7324bcc2..8edd13f58612 100644
--- a/code/game/turfs/auto_turf.dm
+++ b/code/game/turfs/auto_turf.dm
@@ -75,6 +75,19 @@
if(bleed_layer)
addtimer(CALLBACK(src, PROC_REF(changing_layer), 0), 1)
+/turf/open/auto_turf/scorch(heat_level)
+ if(bleed_layer <= 0)
+ return
+ switch(heat_level)
+ if(1 to 19)
+ var/new_bleed_layer = min(0, bleed_layer - 1)
+ addtimer(CALLBACK(src, PROC_REF(changing_layer), new_bleed_layer), 1)
+ if(20 to 39)
+ var/new_bleed_layer = max(bleed_layer - 2, 0)
+ addtimer(CALLBACK(src, PROC_REF(changing_layer), new_bleed_layer), 1)
+ if(40 to INFINITY)
+ addtimer(CALLBACK(src, PROC_REF(changing_layer), 0), 1)
+
//Actual auto-turfs now
@@ -146,6 +159,7 @@
//Ice colony snow
/turf/open/auto_turf/snow
+ scorchable = TRUE
name = "auto-snow"
icon = 'icons/turf/floors/snow2.dmi'
icon_state = "snow_0"
@@ -198,7 +212,8 @@
while(bleed_layer > 0)
xeno_attack_delay(M)
- if(!do_after(M, 12, INTERRUPT_ALL, BUSY_ICON_FRIENDLY))
+ var/size = max(M.mob_size, 1)
+ if(!do_after(M, 12/size, INTERRUPT_ALL, BUSY_ICON_FRIENDLY))
return XENO_NO_DELAY_ACTION
if(!bleed_layer)
diff --git a/code/game/turfs/snow.dm b/code/game/turfs/snow.dm
index f7fb746cfbbc..c8afd734e862 100644
--- a/code/game/turfs/snow.dm
+++ b/code/game/turfs/snow.dm
@@ -8,6 +8,7 @@
icon = 'icons/turf/floors/snow2.dmi'
icon_state = "snow_0"
is_groundmap_turf = TRUE
+ scorchable = TRUE
//PLACING/REMOVING/BUILDING
/turf/open/snow/attackby(obj/item/I, mob/user)
@@ -132,6 +133,22 @@
bleed_layer = 0
update_icon(1, 0)
+//Flames act
+/turf/open/snow/scorch(heat_level)
+ if(bleed_layer <= 0)
+ return
+ switch(heat_level)
+ if(1 to 19)
+ bleed_layer--
+ update_icon(update_full = TRUE, skip_sides = FALSE)
+ if(20 to 39)
+ bleed_layer = max(bleed_layer - 2, 0)
+ update_icon(update_full = TRUE, skip_sides = FALSE)
+ if(40 to INFINITY)
+ bleed_layer = 0
+ update_icon(update_full = TRUE, skip_sides = FALSE)
+
+
//SNOW LAYERS-----------------------------------//
/turf/open/snow/layer0
icon_state = "snow_0"
diff --git a/code/game/turfs/walls/wall_types.dm b/code/game/turfs/walls/wall_types.dm
index 259e386825ff..7b26854737cc 100644
--- a/code/game/turfs/walls/wall_types.dm
+++ b/code/game/turfs/walls/wall_types.dm
@@ -1044,7 +1044,7 @@ INITIALIZE_IMMEDIATE(/turf/closed/wall/indestructible/splashscreen)
/obj/structure/alien/movable_wall/attackby(obj/item/W, mob/living/user)
if(!(W.flags_item & NOBLUDGEON))
user.animation_attack_on(src)
- take_damage(W.force*RESIN_MELEE_DAMAGE_MULTIPLIER, user)
+ take_damage(W.force*RESIN_MELEE_DAMAGE_MULTIPLIER*W.demolition_mod, user)
playsound(src, "alien_resin_break", 25)
else
return attack_hand(user)
@@ -1280,7 +1280,7 @@ INITIALIZE_IMMEDIATE(/turf/closed/wall/indestructible/splashscreen)
if(!(W.flags_item & NOBLUDGEON))
user.animation_attack_on(src)
- take_damage(W.force*RESIN_MELEE_DAMAGE_MULTIPLIER, user)
+ take_damage(W.force*RESIN_MELEE_DAMAGE_MULTIPLIER*W.demolition_mod, user)
playsound(src, "alien_resin_break", 25)
else
return attack_hand(user)
diff --git a/code/game/world.dm b/code/game/world.dm
index e55741ca71e5..5aecfe851051 100644
--- a/code/game/world.dm
+++ b/code/game/world.dm
@@ -14,7 +14,7 @@ GLOBAL_LIST_INIT(reboot_sfx, file2list("config/reboot_sfx.txt"))
/world/New()
var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL")
if (debug_server)
- LIBCALL(debug_server, "auxtools_init")()
+ call_ext(debug_server, "auxtools_init")()
enable_debugging()
hub_password = "kMZy3U5jJHSiBQjr"
@@ -367,7 +367,7 @@ GLOBAL_LIST_INIT(reboot_sfx, file2list("config/reboot_sfx.txt"))
else
CRASH("unsupported platform")
- var/init = LIBCALL(lib, "init")()
+ var/init = call_ext(lib, "init")()
if("0" != init)
CRASH("[lib] init error: [init]")
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index fe95affaffd2..4194627262a4 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -24,7 +24,7 @@
/proc/msg_admin_niche(msg) //Toggleable Niche Messages
log_admin(msg)
- msg = SPAN_ADMIN("ADMIN NICHE LOG: [msg]")
+ msg = SPAN_NICHE("ADMIN NICHE LOG: [msg]")
for(var/client/C as anything in GLOB.admins)
if(C && C.admin_holder && (R_MOD & C.admin_holder.rights))
if(C.prefs.toggles_chat & CHAT_NICHELOGS)
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 1463a09457ef..626758fc2a5a 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -140,6 +140,7 @@ GLOBAL_LIST_INIT(admin_verbs_minor_event, list(
/client/proc/admin_biohazard_alert,
/client/proc/toggle_hardcore_perma,
/client/proc/toggle_bypass_joe_restriction,
+ /client/proc/toggle_joe_respawns,
))
GLOBAL_LIST_INIT(admin_verbs_major_event, list(
diff --git a/code/modules/admin/tabs/admin_tab.dm b/code/modules/admin/tabs/admin_tab.dm
index 356762b5edd7..f29f99004625 100644
--- a/code/modules/admin/tabs/admin_tab.dm
+++ b/code/modules/admin/tabs/admin_tab.dm
@@ -29,21 +29,12 @@
if(!admin_holder)
return
+ if(!isobserver(mob))
+ to_chat(usr, SPAN_WARNING("You must be a ghost to use this."))
- if(istype(mob,/mob/dead/observer))
- var/mob/dead/observer/ghost = mob
- if(ghost.adminlarva == 0)
- ghost.adminlarva = 1
- to_chat(usr, SPAN_BOLDNOTICE("You have disabled your larva protection."))
- else if(ghost.adminlarva == 1)
- ghost.adminlarva = 0
- to_chat(usr, SPAN_BOLDNOTICE("You have re-activated your larva protection."))
- else
- to_chat(usr, SPAN_BOLDNOTICE("Something went wrong tell a coder"))
- else if(istype(mob,/mob/new_player))
- to_chat(src, "Error: Lose larva Protection: Can't lose larva protection whilst in the lobby. Observe first.")
- else
- to_chat(src, "Error: Lose larva Protection: You must be a ghost to use this.")
+ var/mob/dead/observer/ghost = mob
+ ghost.admin_larva_protection = !ghost.admin_larva_protection
+ to_chat(usr, SPAN_BOLDNOTICE("You have [ghost.admin_larva_protection ? "en" : "dis"]abled your larva protection."))
/client/proc/unban_panel()
set name = "Unban Panel"
@@ -872,7 +863,7 @@
set name = "Toggle Working Joe Restrictions"
set category = "Admin.Flags"
- if(!admin_holder || !check_rights(R_EVENT, FALSE))
+ if(!admin_holder || !check_rights(R_EVENT, TRUE))
return
if(!SSticker.mode)
@@ -881,3 +872,17 @@
SSticker.mode.toggleable_flags ^= MODE_BYPASS_JOE
message_admins("[src] has [MODE_HAS_TOGGLEABLE_FLAG(MODE_BYPASS_JOE) ? "allowed players to bypass (except whitelist)" : "prevented players from bypassing"] Working Joe spawn conditions.")
+
+/client/proc/toggle_joe_respawns()
+ set name = "Toggle Working Joe Respawns"
+ set category = "Admin.Flags"
+
+ if(!admin_holder || !check_rights(R_EVENT, TRUE))
+ return
+
+ if(!SSticker.mode)
+ to_chat(usr, SPAN_WARNING("A mode hasn't been selected yet!"))
+ return
+
+ SSticker.mode.toggleable_flags ^= MODE_DISABLE_JOE_RESPAWN
+ message_admins("[src] has [MODE_HAS_TOGGLEABLE_FLAG(MODE_DISABLE_JOE_RESPAWN) ? "disabled" : "enabled"] Working Joe respawns.")
diff --git a/code/modules/admin/tabs/event_tab.dm b/code/modules/admin/tabs/event_tab.dm
index 801bdcc87e18..ff0e9cc6ebaf 100644
--- a/code/modules/admin/tabs/event_tab.dm
+++ b/code/modules/admin/tabs/event_tab.dm
@@ -773,6 +773,7 @@
Spawn a nuke
Toggle PMC gun restrictions
Turn everyone into monkies
+ Give or take opposable thumbs and gun permits from xenos
"}
diff --git a/code/modules/admin/topic/topic_events.dm b/code/modules/admin/topic/topic_events.dm
index da8743d6dead..ddb33a2ccc3f 100644
--- a/code/modules/admin/topic/topic_events.dm
+++ b/code/modules/admin/topic/topic_events.dm
@@ -93,6 +93,63 @@
message_admins("[key_name_admin(usr)] added [amount] research credits.")
GLOB.chemical_data.update_credits(amount)
+ if("xenothumbs")
+ var/grant = alert(usr, "Do you wish to grant or revoke Xenomorph firearms permits?", "Give or Take", "Grant", "Revoke", "Cancel")
+ if(grant == "Cancel")
+ return
+
+ var/list/mob/living/carbon/xenomorph/permit_recipients = list()
+ var/list/datum/hive_status/permit_hives = list()
+ switch(alert(usr, "Do you wish to do this for one Xeno or an entire hive?", "Recipients", "Xeno", "Hive", "All Xenos"))
+ if("Xeno")
+ permit_recipients += tgui_input_list(usr, "Select recipient Xenomorph:", "Armed Xenomorph", GLOB.living_xeno_list)
+ if(isnull(permit_recipients[1])) //Cancel button.
+ return
+ if("Hive")
+ permit_hives += GLOB.hive_datum[tgui_input_list(usr, "Select recipient hive:", "Armed Hive", GLOB.hive_datum)]
+ if(isnull(permit_hives[1])) //Cancel button.
+ return
+ permit_recipients = permit_hives[1].totalXenos.Copy()
+ if("All Xenos")
+ permit_recipients = GLOB.living_xeno_list.Copy()
+ for(var/H in GLOB.hive_datum)
+ permit_hives += GLOB.hive_datum[H]
+
+ var/list/handled_xenos = list()
+
+ for(var/mob/living/carbon/xenomorph/xeno as anything in permit_recipients)
+ if(QDELETED(xeno) || xeno.stat == DEAD) //Xenos might die before the admin picks them.
+ to_chat(usr, SPAN_HIGHDANGER("[xeno] died before her firearms permit could be issued!"))
+ continue
+ if(HAS_TRAIT(xeno, TRAIT_OPPOSABLE_THUMBS))
+ if(grant == "Revoke")
+ REMOVE_TRAIT(xeno, TRAIT_OPPOSABLE_THUMBS, TRAIT_SOURCE_HIVE)
+ to_chat(xeno, SPAN_XENOANNOUNCE("You forget how thumbs work. You feel a terrible sense of loss."))
+ handled_xenos += xeno
+ else if(grant == "Grant")
+ ADD_TRAIT(xeno, TRAIT_OPPOSABLE_THUMBS, TRAIT_SOURCE_HIVE)
+ to_chat(xeno, SPAN_XENOANNOUNCE("You suddenly comprehend the magic of opposable thumbs along with surprising kinesthetic intelligence. You could do... so much with this knowledge."))
+ handled_xenos += xeno
+
+ for(var/datum/hive_status/permit_hive as anything in permit_hives)
+ //Give or remove the trait from newly-born xenos in this hive.
+ if(grant == "Grant")
+ LAZYADD(permit_hive.hive_inherant_traits, TRAIT_OPPOSABLE_THUMBS)
+ else
+ LAZYREMOVE(permit_hive.hive_inherant_traits, TRAIT_OPPOSABLE_THUMBS)
+
+ if(!length(handled_xenos) && !length(permit_hives))
+ return
+
+ if(grant == "Grant")
+ message_admins("[usr] granted 2nd Amendment rights to [length(handled_xenos) > 1 ? "[length(handled_xenos)] xenos" : "[length(handled_xenos) == 1 ? "[handled_xenos[1]]" : "no xenos"]"]\
+ [length(permit_hives) > 1 ? " in all hives, and to any new xenos. Quite possibly we will all regret this." : "[length(permit_hives) == 1 ? " in [permit_hives[1]], and to any new xenos in that hive." : "."]"]")
+ else
+ message_admins("[usr] revoked 2nd Amendment rights from [length(handled_xenos) > 1 ? "[length(handled_xenos)] xenos" : "[length(handled_xenos) == 1 ? "[handled_xenos[1]]" : "no xenos"]"]\
+ [length(permit_hives) > 1 ? " in all hives, and from any new xenos." : "[length(permit_hives) == 1 ? " in [permit_hives[1]], and from any new xenos in that hive." : "."]"]")
+
+
+
/datum/admins/proc/create_humans_list(href_list)
if(SSticker?.current_state < GAME_STATE_PLAYING)
alert("Please wait until the game has started before spawning humans")
diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index ce02cdb59e20..84298faaa3a1 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -543,27 +543,28 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
log_ahelp(id, "Defer", "Deferred to mentors by [usr.key]", null, usr.ckey)
Close(silent = TRUE)
-/datum/admin_help/proc/mark_ticket()
+/datum/admin_help/proc/mark_ticket(mob/marking_admin)
+ var/mob/user = marking_admin || usr
if(marked_admin)
- if(marked_admin == usr.ckey)
+ if(marked_admin == user.ckey)
unmark_ticket()
return
- to_chat(usr, SPAN_WARNING("This ticket has already been marked by [marked_admin]."))
- var/unmark_option = tgui_alert(usr, "This message has been marked by [marked_admin]. Do you want to override?", "Marked Ticket", list("Overwrite Mark", "Unmark", "Cancel"))
+ to_chat(user, SPAN_WARNING("This ticket has already been marked by [marked_admin]."))
+ var/unmark_option = tgui_alert(user, "This message has been marked by [marked_admin]. Do you want to override?", "Marked Ticket", list("Overwrite Mark", "Unmark", "Cancel"))
if(unmark_option == "Unmark")
unmark_ticket()
return
if(unmark_option != "Overwrite Mark")
return
- var/key_name = key_name_admin(usr)
+ var/key_name = key_name_admin(user)
AddInteraction("Marked by [key_name].", player_message = "Ticket marked!")
to_chat(initiator, SPAN_ADMINHELP("An admin is preparing to respond to your ticket."))
var/msg = "Ticket [TicketHref("#[id]")] marked by [key_name]."
message_admins(msg)
log_admin_private(msg)
- log_ahelp(id, "Marked", "Marked by [usr.key]", sender = usr.ckey)
- marked_admin = usr.ckey
+ log_ahelp(id, "Marked", "Marked by [user.key]", sender = user.ckey)
+ marked_admin = user.ckey
/datum/admin_help/proc/unmark_ticket()
var/key_name = key_name_admin(usr)
diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm
index 76525b2cae96..a6cf0f02a3de 100644
--- a/code/modules/admin/verbs/adminpm.dm
+++ b/code/modules/admin/verbs/adminpm.dm
@@ -60,6 +60,9 @@
var/message_prompt = "Message:"
+ if(AH && !AH.marked_admin)
+ AH.mark_ticket()
+
if((AH?.opening_responders && length(AH.ticket_interactions) == 1 ) || ((AH?.marked_admin && AH?.marked_admin != usr.ckey) && length(AH.ticket_interactions) == 2))
SEND_SOUND(src, sound('sound/machines/buzz-sigh.ogg', volume=30))
message_prompt += "\n\n**This ticket is already being responded to by: [length(AH.opening_responders) ? english_list(AH.opening_responders) : AH.marked_admin]**"
diff --git a/code/modules/admin/view_variables/reference_tracking.dm b/code/modules/admin/view_variables/reference_tracking.dm
index f6f2b86f31d7..35f464354c72 100644
--- a/code/modules/admin/view_variables/reference_tracking.dm
+++ b/code/modules/admin/view_variables/reference_tracking.dm
@@ -28,9 +28,7 @@
var/starting_time = world.time
-#if DM_VERSION >= 515
log_reftracker("Refcount for [type]: [refcount(src)]")
-#endif
//Time to search the whole game for our ref
DoSearchVar(GLOB, "GLOB", search_time = starting_time) //globals
diff --git a/code/modules/asset_cache/asset_list.dm b/code/modules/asset_cache/asset_list.dm
index 8e19a1905300..1d88df0b6a6b 100644
--- a/code/modules/asset_cache/asset_list.dm
+++ b/code/modules/asset_cache/asset_list.dm
@@ -341,3 +341,25 @@ GLOBAL_LIST_EMPTY(asset_datums)
if (!item_filename)
return
. = list("[item_filename]" = SSassets.transport.get_asset_url(item_filename))
+
+/datum/asset/simple/inventory
+ assets = list(
+ "inventory-glasses.png" = 'icons/ui_Icons/inventory/glasses.png',
+ "inventory-head.png" = 'icons/ui_Icons/inventory/head.png',
+ "inventory-neck.png" = 'icons/ui_Icons/inventory/neck.png',
+ "inventory-mask.png" = 'icons/ui_Icons/inventory/mask.png',
+ "inventory-ears.png" = 'icons/ui_Icons/inventory/ears.png',
+ "inventory-uniform.png" = 'icons/ui_Icons/inventory/uniform.png',
+ "inventory-suit.png" = 'icons/ui_Icons/inventory/suit.png',
+ "inventory-gloves.png" = 'icons/ui_Icons/inventory/gloves.png',
+ "inventory-hand_l.png" = 'icons/ui_Icons/inventory/hand_l.png',
+ "inventory-hand_r.png" = 'icons/ui_Icons/inventory/hand_r.png',
+ "inventory-shoes.png" = 'icons/ui_Icons/inventory/shoes.png',
+ "inventory-suit_storage.png" = 'icons/ui_Icons/inventory/suit_storage.png',
+ "inventory-id.png" = 'icons/ui_Icons/inventory/id.png',
+ "inventory-belt.png" = 'icons/ui_Icons/inventory/belt.png',
+ "inventory-back.png" = 'icons/ui_Icons/inventory/back.png',
+ "inventory-pocket.png" = 'icons/ui_Icons/inventory/pocket.png',
+ "inventory-collar.png" = 'icons/ui_Icons/inventory/collar.png',
+ )
+
diff --git a/code/modules/character_traits/biology_traits.dm b/code/modules/character_traits/biology_traits.dm
index 9074e833e718..a78dd0d38464 100644
--- a/code/modules/character_traits/biology_traits.dm
+++ b/code/modules/character_traits/biology_traits.dm
@@ -82,7 +82,7 @@
/datum/character_trait/biology/bad_leg/New()
. = ..()
// Not on definition as several lists are added
- inapplicable_roles = list(JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_INTEL, JOB_ORDNANCE_TECH, JOB_MARINE) + JOB_SQUAD_ROLES_LIST + JOB_MARINE_RAIDER_ROLES_LIST + JOB_ERT_GRUNT_LIST
+ inapplicable_roles = list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_INTEL, JOB_ORDNANCE_TECH, JOB_MARINE) + JOB_SQUAD_ROLES_LIST + JOB_MARINE_RAIDER_ROLES_LIST + JOB_ERT_GRUNT_LIST
bad_cane_roles = list(JOB_SURVIVOR, JOB_STOWAWAY)
fancy_cane_roles = list(JOB_CO_SURVIVOR, CORPORATE_SURVIVOR, JOB_CMO, JOB_CORPORATE_LIAISON, JOB_SEA, JOB_CHIEF_ENGINEER) + JOB_COMMAND_ROLES_LIST
inapplicable_species = list(SPECIES_SYNTHETIC, SPECIES_YAUTJA)
diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm
index 5796d5ff505e..213c54f0e201 100644
--- a/code/modules/client/client_procs.dm
+++ b/code/modules/client/client_procs.dm
@@ -5,8 +5,6 @@
#define UPLOAD_LIMIT 10485760 //Restricts client uploads to the server to 10MB //Boosted this thing. What's the worst that can happen?
#define MIN_CLIENT_VERSION 0 //Just an ambiguously low version for now, I don't want to suddenly stop people playing.
//I would just like the code ready should it ever need to be used.
-#define GOOD_BYOND_MAJOR 513
-#define GOOD_BYOND_MINOR 1500
GLOBAL_LIST_INIT(blacklisted_builds, list(
"1407" = "bug preventing client display overrides from working leads to clients being able to see things/mobs they shouldn't be able to see",
@@ -55,6 +53,8 @@ GLOBAL_LIST_INIT(whitelisted_client_procs, list(
/client/proc/toggle_admin_sound_types,
/client/proc/receive_random_tip,
/client/proc/set_eye_blur_type,
+ /client/proc/set_flash_type,
+ /client/proc/set_crit_type,
))
/client/proc/reduce_minute_count()
@@ -362,14 +362,34 @@ GLOBAL_LIST_INIT(whitelisted_client_procs, list(
INVOKE_ASYNC(src, /client/proc/set_macros)
// Version check below if we ever need to start checking against BYOND versions again.
-
- /*if((byond_version < world.byond_version) || ((byond_version == world.byond_version) && (byond_build < world.byond_build)))
- src << "Your version of Byond (v[byond_version].[byond_build]) differs from the server (v[world.byond_version].[world.byond_build]). You may experience graphical glitches, crashes, or other errors. You will be disconnected until your version matches or exceeds the server version.
\
- Direct Download (Windows Installer): http://www.byond.com/download/build/[world.byond_version]/[world.byond_version].[world.byond_build]_byond.exe
\
- Other versions (search for [world.byond_build] or higher): http://www.byond.com/download/build/[world.byond_version]"
+ var/breaking_version = CONFIG_GET(number/client_error_version)
+ var/breaking_build = CONFIG_GET(number/client_error_build)
+ var/warn_version = CONFIG_GET(number/client_warn_version)
+ var/warn_build = CONFIG_GET(number/client_warn_build)
+
+ if (byond_version < breaking_version || (byond_version == breaking_version && byond_build < breaking_build)) //Out of date client.
+ to_chat_immediate(src, SPAN_DANGER("Your version of BYOND is too old:"))
+ to_chat_immediate(src, CONFIG_GET(string/client_error_message))
+ to_chat_immediate(src, "Your version: [byond_version].[byond_build]")
+ to_chat_immediate(src, "Required version: [breaking_version].[breaking_build] or later")
+ to_chat_immediate(src, "Visit BYOND's website to get the latest version of BYOND.")
qdel(src)
- return*/
- //hardcode for now
+ return
+
+ if (byond_version < warn_version || (byond_version == warn_version && byond_build < warn_build)) //We have words for this client.
+ if(CONFIG_GET(flag/client_warn_popup))
+ var/msg = "Your version of BYOND may be getting out of date:
"
+ msg += CONFIG_GET(string/client_warn_message) + "
"
+ msg += "Your version: [byond_version].[byond_build]
"
+ msg += "Required version to remove this message: [warn_version].[warn_build] or later
"
+ msg += "Visit BYOND's website to get the latest version of BYOND.
"
+ src << browse(msg, "window=warning_popup")
+ else
+ to_chat(src, SPAN_DANGER("Your version of BYOND may be getting out of date:"))
+ to_chat(src, CONFIG_GET(string/client_warn_message))
+ to_chat(src, "Your version: [byond_version].[byond_build]")
+ to_chat(src, "Required version to remove this message: [warn_version].[warn_build] or later")
+ to_chat(src, "Visit BYOND's website to get the latest version of BYOND.")
if (num2text(byond_build) in GLOB.blacklisted_builds)
log_access("Failed login: [key] - blacklisted byond build ([byond_version].[byond_build])")
@@ -380,10 +400,6 @@ GLOBAL_LIST_INIT(whitelisted_client_procs, list(
qdel(src)
return
- //do this check after the blacklist check to avoid confusion
- if((byond_version < GOOD_BYOND_MAJOR) || ((byond_version == GOOD_BYOND_MAJOR) && (byond_build < GOOD_BYOND_MINOR)))
- to_chat(src, FONT_SIZE_HUGE(SPAN_BOLDNOTICE("YOUR BYOND VERSION IS NOT WELL SUITED FOR THIS SERVER. Download latest BETA build or you may suffer random crashes or disconnects.")))
-
// Initialize tgui panel
stat_panel.initialize(
inline_html = file("html/statbrowser.html"),
diff --git a/code/modules/client/country_flags.dm b/code/modules/client/country_flags.dm
index 4955c446aea1..d72f0fbd5a98 100644
--- a/code/modules/client/country_flags.dm
+++ b/code/modules/client/country_flags.dm
@@ -13,16 +13,13 @@
var/page_content = http_response["CONTENT"]
if(page_content)
var/list/geodata = json_decode(html_decode(file2text(page_content)))
- if(geodata["countryCode"] == "GB")
- if((geodata["regionName"] == "Scotland") || (geodata["regionName"] == "Wales"))
- origin?.country = geodata["regionName"]
- return geodata["regionName"]
- else
- origin?.country = geodata["countryCode"]
- return geodata["countryCode"]
+ if(geodata["countryCode"] == "GB" && ((geodata["regionName"] == "Scotland") || (geodata["regionName"] == "Wales")))
+ origin?.country = geodata["regionName"]
+ else if(geodata["countryCode"] == "CA" && (geodata["regionName"] == "Quebec"))
+ origin?.country = geodata["regionName"]
else
origin?.country = geodata["countryCode"]
- return geodata["countryCode"]
+ return geodata["countryCode"]
else //null response, ratelimited most likely. Try again in 60s
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ip2country), ipaddr, origin), 60 SECONDS)
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 2fa98e03a52e..4b669934d1c1 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -65,6 +65,8 @@ GLOBAL_LIST_INIT(bgstate_options, list(
var/chat_display_preferences = CHAT_TYPE_ALL
var/item_animation_pref_level = SHOW_ITEM_ANIMATIONS_ALL
var/pain_overlay_pref_level = PAIN_OVERLAY_BLURRY
+ var/flash_overlay_pref = FLASH_OVERLAY_WHITE
+ var/crit_overlay_pref = CRIT_OVERLAY_WHITE
var/UI_style_color = "#ffffff"
var/UI_style_alpha = 255
var/View_MC = FALSE
@@ -593,6 +595,8 @@ GLOBAL_LIST_INIT(bgstate_options, list(
dat += "Play Announcement Sounds As Ghost: [(toggles_sound & SOUND_OBSERVER_ANNOUNCEMENTS) ? "Yes" : "No"]
"
dat += "Toggle Meme or Atmospheric Sounds: Toggle
"
dat += "Set Eye Blur Type: Set
"
+ dat += "Set Flash Type: Set
"
+ dat += "Set Crit Type: Set
"
dat += "Play Lobby Music: [(toggles_sound & SOUND_LOBBY) ? "Yes" : "No"]
"
dat += "Play VOX Announcements: [(hear_vox) ? "Yes" : "No"]
"
dat += "Default Ghost Night Vision Level: [ghost_vision_pref]
"
@@ -648,11 +652,16 @@ GLOBAL_LIST_INIT(bgstate_options, list(
show_browser(user, dat, "Preferences", "preferencebrowser")
onclose(user, "preferencewindow", src)
-//limit - The amount of jobs allowed per column. Defaults to 13 to make it look nice.
-//splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads. Defaults to CE to make it look nice.
-//width - Screen' width. Defaults to 550 to make it look nice.
-//height - Screen's height. Defaults to 500 to make it look nice.
-/datum/preferences/proc/SetChoices(mob/user, limit = 19, list/splitJobs = list(JOB_CHIEF_REQUISITION), width = 950, height = 700)
+/**
+ * Job Preferences: Preferences for role at round start.
+ *
+ * Arguments:
+ * * limit - The amount of jobs allowed per column.
+ * * splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads.
+ * * width - Screen' width.
+ * * height - Screen's height.
+ */
+/datum/preferences/proc/SetChoices(mob/user, limit = 20, list/splitJobs = list(JOB_CHIEF_REQUISITION, JOB_WO_CMO), width = 950, height = 750)
if(!GLOB.RoleAuthority)
return
@@ -761,11 +770,16 @@ GLOBAL_LIST_INIT(bgstate_options, list(
onclose(user, "mob_occupation", user.client, list("_src_" = "prefs", "preference" = "job", "task" = "close"))
return
-//limit - The amount of jobs allowed per column. Defaults to 13 to make it look nice.
-//splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads. Defaults to CE to make it look nice.
-//width - Screen' width. Defaults to 550 to make it look nice.
-//height - Screen's height. Defaults to 500 to make it look nice.
-/datum/preferences/proc/set_job_slots(mob/user, limit = 19, list/splitJobs = list(JOB_CHIEF_REQUISITION), width = 950, height = 700)
+/**
+ * Job Assignments window: Assign unique characters to a particular job.
+ *
+ * Arguments:
+ * * limit - The amount of jobs allowed per column.
+ * * splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads.
+ * * width - Screen' width.
+ * * height - Screen's height.
+ */
+/datum/preferences/proc/set_job_slots(mob/user, limit = 20, list/splitJobs = list(JOB_CHIEF_REQUISITION, JOB_WO_CMO), width = 950, height = 750)
if(!GLOB.RoleAuthority)
return
diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm
index 5466fe105004..ec3f156c220f 100644
--- a/code/modules/client/preferences_savefile.dm
+++ b/code/modules/client/preferences_savefile.dm
@@ -150,6 +150,8 @@
S["UI_style_alpha"] >> UI_style_alpha
S["item_animation_pref_level"] >> item_animation_pref_level
S["pain_overlay_pref_level"] >> pain_overlay_pref_level
+ S["flash_overlay_pref"] >> flash_overlay_pref
+ S["crit_overlay_pref"] >> crit_overlay_pref
S["stylesheet"] >> stylesheet
S["window_skin"] >> window_skin
S["fps"] >> fps
@@ -233,6 +235,8 @@
UI_style_alpha = sanitize_integer(UI_style_alpha, 0, 255, initial(UI_style_alpha))
item_animation_pref_level = sanitize_integer(item_animation_pref_level, SHOW_ITEM_ANIMATIONS_NONE, SHOW_ITEM_ANIMATIONS_ALL, SHOW_ITEM_ANIMATIONS_ALL)
pain_overlay_pref_level = sanitize_integer(pain_overlay_pref_level, PAIN_OVERLAY_BLURRY, PAIN_OVERLAY_LEGACY, PAIN_OVERLAY_BLURRY)
+ flash_overlay_pref = sanitize_integer(flash_overlay_pref, FLASH_OVERLAY_WHITE, FLASH_OVERLAY_DARK)
+ crit_overlay_pref = sanitize_integer(crit_overlay_pref, CRIT_OVERLAY_WHITE, CRIT_OVERLAY_DARK)
window_skin = sanitize_integer(window_skin, 0, SHORT_REAL_LIMIT, initial(window_skin))
ghost_vision_pref = sanitize_inlist(ghost_vision_pref, list(GHOST_VISION_LEVEL_NO_NVG, GHOST_VISION_LEVEL_MID_NVG, GHOST_VISION_LEVEL_FULL_NVG), GHOST_VISION_LEVEL_MID_NVG)
ghost_orbit = sanitize_inlist(ghost_orbit, GLOB.ghost_orbits, initial(ghost_orbit))
@@ -327,6 +331,8 @@
S["tgui_say"] << tgui_say
S["item_animation_pref_level"] << item_animation_pref_level
S["pain_overlay_pref_level"] << pain_overlay_pref_level
+ S["flash_overlay_pref"] << flash_overlay_pref
+ S["crit_overlay_pref"] << crit_overlay_pref
S["stylesheet"] << stylesheet
S["be_special"] << be_special
S["default_slot"] << default_slot
diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm
index 32fd2225b339..c4017f172f25 100644
--- a/code/modules/client/preferences_toggles.dm
+++ b/code/modules/client/preferences_toggles.dm
@@ -275,6 +275,8 @@
"Toggle Item Animations
",
"Toggle Admin Sound Types
",
"Set Eye Blur Type
",
+ "Set Flash Type
",
+ "Set Crit Type
",
)
var/dat = ""
@@ -451,6 +453,7 @@
else
CRASH("receive_random_tip() failed: null message")
+/// Toggle in character preferences and toggle preferences to configure what kind of blur overlay is used in game; Either blurry, impaired, or legacy.
/client/proc/set_eye_blur_type()
var/result = tgui_alert(src, "What type of eye blur do you want?", "What type of eye blur do you want?", list("Blurry", "Impair", "Legacy"))
if(result == "Blurry")
@@ -464,6 +467,28 @@
to_chat(src, SPAN_NOTICE("Your vision will now have a legacy blurring effect. This is not recommended!"))
prefs.save_preferences()
+/// Toggle in character preferences and toggle preferences to configure what kind of flash overlay is used in game; Either white or black.
+/client/proc/set_flash_type()
+ var/result = tgui_alert(src, "What type of flash overlay do you want?", "What type of flash overlay do you want?", list("White", "Dark"))
+ if(result == "White")
+ prefs.flash_overlay_pref = FLASH_OVERLAY_WHITE
+ to_chat(src, SPAN_NOTICE("If flashed your vision will now be white."))
+ else if(result == "Dark")
+ prefs.flash_overlay_pref = FLASH_OVERLAY_DARK
+ to_chat(src, SPAN_NOTICE("If flashed your vision will now be dark."))
+ prefs.save_preferences()
+
+/// Toggle in character preferences and toggle preferences to configure what kind of crit overlay is used in game; Either white or grey.
+/client/proc/set_crit_type()
+ var/result = tgui_alert(src, "What type of crit overlay do you want?", "What type of crit overlay do you want?", list("White", "Dark"))
+ if(result == "White")
+ prefs.crit_overlay_pref = CRIT_OVERLAY_WHITE
+ to_chat(src, SPAN_NOTICE("If in critical condition your vision will now be white."))
+ else if(result == "Dark")
+ prefs.crit_overlay_pref = CRIT_OVERLAY_DARK
+ to_chat(src, SPAN_NOTICE("If in critical condition your vision will now be dark."))
+ prefs.save_preferences()
+
/client/verb/toggle_tgui_say()
set name = "Toggle Say Input Style"
set category = "Preferences.UI"
diff --git a/code/modules/client/tgui_macro.dm b/code/modules/client/tgui_macro.dm
index cd621cebab84..28939fed69ca 100644
--- a/code/modules/client/tgui_macro.dm
+++ b/code/modules/client/tgui_macro.dm
@@ -23,11 +23,12 @@ GLOBAL_LIST_EMPTY(ui_data_keybindings)
/datum/tgui_macro/ui_data(mob/user)
. = list()
- .["keybinds"] = prefs.key_bindings
+ .["player_keybinds"] = prefs.key_bindings
/datum/tgui_macro/ui_static_data(mob/user)
. = list()
.["glob_keybinds"] = GLOB.ui_data_keybindings
+ .["byond_keymap"] = GLOB._kbMap
/datum/tgui_macro/ui_state(mob/user)
return GLOB.always_state
diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm
index e3658a64c2ab..3f8e2080f35e 100644
--- a/code/modules/clothing/gloves/color.dm
+++ b/code/modules/clothing/gloves/color.dm
@@ -1,8 +1,8 @@
/obj/item/clothing/gloves/yellow
desc = "These gloves will protect the wearer from electric shock."
name = "insulated gloves"
- icon_state = "lightbrown"
- item_state = "lightbrowngloves"
+ icon_state = "insulated"
+ item_state = "insulated"
siemens_coefficient = 0
permeability_coefficient = 0.05
flags_cold_protection = BODY_FLAG_HANDS
@@ -13,8 +13,8 @@
/obj/item/clothing/gloves/fyellow //Cheap Chinese Crap
desc = "These gloves are cheap copies of the coveted gloves, no way this can end badly."
name = "budget insulated gloves"
- icon_state = "lightbrown"
- item_state = "lightbrowngloves"
+ icon_state = "insulated"
+ item_state = "insulated"
siemens_coefficient = 1 //Set to a default of 1, gets overridden in New()
permeability_coefficient = 0.05
diff --git a/code/modules/clothing/gloves/marine_gloves.dm b/code/modules/clothing/gloves/marine_gloves.dm
index 092fb41d370f..6da362da30f4 100644
--- a/code/modules/clothing/gloves/marine_gloves.dm
+++ b/code/modules/clothing/gloves/marine_gloves.dm
@@ -38,8 +38,8 @@
/obj/item/clothing/gloves/marine/insulated
name = "marine insulated gloves"
desc = "These gloves will protect the wearer from electric shock."
- icon_state = "lightbrown"
- item_state = "lightbrowngloves"
+ icon_state = "insulated"
+ item_state = "insulated"
siemens_coefficient = 0
/obj/item/clothing/gloves/marine/black
diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm
index 223342463410..db390fac096a 100644
--- a/code/modules/clothing/head/helmet.dm
+++ b/code/modules/clothing/head/helmet.dm
@@ -366,7 +366,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(
var/obj/structure/machinery/camera/camera
var/helmet_overlays[]
flags_inventory = BLOCKSHARPOBJ
- flags_inv_hide = HIDEEARS
+ flags_inv_hide = NONE
var/flags_marine_helmet = HELMET_SQUAD_OVERLAY|HELMET_GARB_OVERLAY|HELMET_DAMAGE_OVERLAY
var/helmet_bash_cooldown = 0
@@ -676,6 +676,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(
var/list/total_visors = built_in_visors + inserted_visors
if(!length(total_visors))
+ to_chat(user, SPAN_WARNING("There are no visors to swap to."))
return FALSE
if(active_visor)
@@ -692,6 +693,11 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(
skipped_hud = TRUE
continue
+ if(!next_visor.can_toggle(user))
+ iterator++
+ skipped_hud = TRUE
+ continue
+
active_visor = next_visor
toggle_visor(user, visor_to_deactivate, silent = TRUE) // disables the old visor
toggle_visor(user)
@@ -703,15 +709,19 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(
iterator++
for(var/obj/item/device/helmet_visor/new_visor in total_visors)
-
if(!isnull(GLOB.huds[new_visor.hud_type]?.hudusers[user]))
continue
+ if(!new_visor.can_toggle(user))
+ continue
+
active_visor = new_visor
toggle_visor(user)
return active_visor
+ to_chat(user, SPAN_WARNING("There are no visors to swap to currently."))
return FALSE
+
/datum/action/item_action/cycle_helmet_huds/New(Target, obj/item/holder)
. = ..()
name = "Cycle helmet HUD"
diff --git a/code/modules/clothing/suits/marine_armor/_marine_armor.dm b/code/modules/clothing/suits/marine_armor/_marine_armor.dm
index fd926c4ffd50..e2facb987959 100644
--- a/code/modules/clothing/suits/marine_armor/_marine_armor.dm
+++ b/code/modules/clothing/suits/marine_armor/_marine_armor.dm
@@ -483,7 +483,7 @@
/obj/item/clothing/suit/storage/marine/light/synvest
name = "\improper M3A1 Synthetic Utility Vest"
- desc = "This variant of the ubiquitous M3 pattern ballistics vest has been extensively modified, providing no protection in exchange for maximum mobility and storage space. Synthetic programming compliant."
+ desc = "This variant of the ubiquitous M3 pattern vest has been extensively modified, providing no protection in exchange for maximum mobility and added storage. Synthetic programming compliant."
icon_state = "VL_syn_camo"
flags_atom = NO_NAME_OVERRIDE
flags_marine_armor = ARMOR_LAMP_OVERLAY|SYNTH_ALLOWED //No squad colors + can be worn by synths.
@@ -496,7 +496,7 @@
armor_rad = CLOTHING_ARMOR_NONE
armor_internaldamage = CLOTHING_ARMOR_NONE
storage_slots = 3
- slowdown = SLOWDOWN_ARMOR_VERY_LIGHT
+ slowdown = SLOWDOWN_ARMOR_SUPER_LIGHT
time_to_unequip = 0.5 SECONDS
time_to_equip = 1 SECONDS
uniform_restricted = null
@@ -628,6 +628,7 @@
slowdown = SLOWDOWN_ARMOR_HEAVY
specialty = "M3-G4 grenadier"
unacidable = TRUE
+ light_range = 5
/obj/item/clothing/suit/storage/marine/M3T
name = "\improper M3-T light armor"
diff --git a/code/modules/clothing/suits/marine_armor/ert.dm b/code/modules/clothing/suits/marine_armor/ert.dm
index 19009606db35..106b09961103 100644
--- a/code/modules/clothing/suits/marine_armor/ert.dm
+++ b/code/modules/clothing/suits/marine_armor/ert.dm
@@ -79,13 +79,12 @@
item_state = "armor"
item_state_slots = null
contained_sprite = TRUE
+ slowdown = SLOWDOWN_ARMOR_LIGHT
flags_armor_protection = BODY_FLAG_CHEST
flags_cold_protection = BODY_FLAG_CHEST
flags_heat_protection = BODY_FLAG_CHEST
- slowdown = SLOWDOWN_ARMOR_NONE // only protects chest, but enables rapid movement
-
/obj/item/clothing/suit/storage/marine/veteran/pmc/light/corporate/lead
desc = "A basic vest with a Weyland-Yutani badge on the right breast. This variant is worn by low-level guards that have elevated in rank due to 'good conduct in the field', also known as corporate bootlicking."
icon_state = "lead_armor"
@@ -288,6 +287,22 @@
armor_rad = CLOTHING_ARMOR_MEDIUMLOW
armor_internaldamage = CLOTHING_ARMOR_HIGH
+/obj/item/clothing/suit/storage/marine/faction/UPP/support/synth
+ name = "\improper UL6 Synthetic personal armor"
+ desc = "Modified variant of the UL6 personel armor system intended to be useable by Synthetic units. Offers no protection but very little movement impairment."
+ flags_marine_armor = ARMOR_LAMP_OVERLAY|SYNTH_ALLOWED
+ armor_melee = CLOTHING_ARMOR_NONE
+ armor_bullet = CLOTHING_ARMOR_NONE
+ armor_laser = CLOTHING_ARMOR_NONE
+ armor_energy = CLOTHING_ARMOR_NONE
+ armor_bomb = CLOTHING_ARMOR_NONE
+ armor_bio = CLOTHING_ARMOR_NONE
+ armor_rad = CLOTHING_ARMOR_NONE
+ armor_internaldamage = CLOTHING_ARMOR_NONE
+ slowdown = SLOWDOWN_ARMOR_VERY_LIGHT
+ time_to_unequip = 0.5 SECONDS
+ time_to_equip = 1 SECONDS
+
/obj/item/clothing/suit/storage/marine/faction/UPP/commando
name = "\improper UM5CU personal armor"
desc = "A modification of the UM5, designed for stealth operations."
@@ -732,6 +747,22 @@
uniform_restricted = list(/obj/item/clothing/under/marine/ua_riot)
flags_atom = NO_SNOW_TYPE
+/obj/item/clothing/suit/storage/marine/veteran/ua_riot/synth
+ name = "\improper UA-M1S Synthetic body armor"
+ desc = "Based on the M-3 pattern employed by the USCM, the UA-M1 body armor is employed by UA security, riot control and union-busting teams. The UA-1MS modification is Synthetic programming compliant, sacrificing protection for speed and carrying capacity."
+ armor_melee = CLOTHING_ARMOR_NONE
+ armor_bullet = CLOTHING_ARMOR_NONE
+ armor_laser = CLOTHING_ARMOR_NONE
+ armor_energy = CLOTHING_ARMOR_NONE
+ armor_bomb = CLOTHING_ARMOR_NONE
+ armor_bio = CLOTHING_ARMOR_NONE
+ armor_rad = CLOTHING_ARMOR_NONE
+ armor_internaldamage = CLOTHING_ARMOR_NONE
+ slowdown = SLOWDOWN_ARMOR_SUPER_LIGHT
+ storage_slots = 3
+ flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE
+ flags_marine_armor = ARMOR_SQUAD_OVERLAY|ARMOR_LAMP_OVERLAY|SYNTH_ALLOWED
+
//================//=ROYAL MARINES=\\====================================\\
//=======================================================================\\
diff --git a/code/modules/clothing/suits/marine_armor/spec_fire.dm b/code/modules/clothing/suits/marine_armor/spec_fire.dm
index 4d577cc98b15..52343a204f68 100644
--- a/code/modules/clothing/suits/marine_armor/spec_fire.dm
+++ b/code/modules/clothing/suits/marine_armor/spec_fire.dm
@@ -4,8 +4,10 @@
name = "\improper M35 pyrotechnician armor"
desc = "A custom set of M35 armor designed for use by USCM Pyrotechnicians."
icon_state = "pyro_armor"
- armor_bio = CLOTHING_ARMOR_MEDIUMHIGH
+ slowdown = SLOWDOWN_ARMOR_MEDIUM
armor_internaldamage = CLOTHING_ARMOR_MEDIUMHIGH
+ armor_bio = CLOTHING_ARMOR_MEDIUMHIGH
+ light_range = 5
fire_intensity_resistance = BURN_LEVEL_TIER_1
max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROT
flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN|BODY_FLAG_ARMS|BODY_FLAG_LEGS|BODY_FLAG_FEET
diff --git a/code/modules/clothing/under/marine_uniform.dm b/code/modules/clothing/under/marine_uniform.dm
index 4f0c06273d9e..92eeea638fae 100644
--- a/code/modules/clothing/under/marine_uniform.dm
+++ b/code/modules/clothing/under/marine_uniform.dm
@@ -749,6 +749,14 @@
has_sensor = UNIFORM_HAS_SENSORS
sensor_faction = FACTION_MARINE
+/obj/item/clothing/under/colonist/white_service
+ name = "white service uniform"
+ desc = "A white dress shirt and tie with sleek pants. Standard clothing for anyone on professional business."
+ icon_state = "CO_service"
+ worn_state = "CO_service"
+ has_sensor = UNIFORM_HAS_SENSORS
+ sensor_faction = FACTION_MARINE
+
/obj/item/clothing/under/colonist/wy_joliet_shopsteward
name = "steward utilities"
desc = "A stylish brown vest and shorts - uniforms like this are often worn by clerks and shop stewards."
@@ -888,7 +896,7 @@
item_icons = list(
WEAR_BODY = 'icons/mob/humans/onmob/uniform_1.dmi',
)
-
+
/obj/item/clothing/under/marine/reporter/black
icon_state = "cc_black"
worn_state = "cc_black"
diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm
index 4fe8cc193ce6..d95c0a593d34 100644
--- a/code/modules/clothing/under/ties.dm
+++ b/code/modules/clothing/under/ties.dm
@@ -386,9 +386,19 @@
icon_state = "commandopatch"
/obj/item/clothing/accessory/patch/upp
+ name = "UPP patch"
+ desc = "A fire-resistant shoulder patch, worn by the men and women of the Union of Progressive Peoples Armed Collective."
+ icon_state = "upppatch"
+
+/obj/item/clothing/accessory/patch/upp/airborne
name = "UPP Airborne Reconnaissance patch"
desc = "A fire-resistant shoulder patch, worn by the men and women of the 173rd Airborne Reconnaissance Platoon."
- icon_state = "upppatch"
+ icon_state = "vdvpatch"
+
+/obj/item/clothing/accessory/patch/upp/naval
+ name = "UPP Naval Infantry patch"
+ desc = "A fire-resistant shoulder patch, worn by the men and women of the UPP Naval Infantry."
+ icon_state = "navalpatch"
/obj/item/clothing/accessory/poncho
name = "USCM Poncho"
@@ -666,6 +676,25 @@
/obj/item/clothing/accessory/storage/surg_vest/drop_green/equipped
hold = /obj/item/storage/internal/accessory/surg_vest/equipped
+/obj/item/clothing/accessory/storage/surg_vest/drop_green/upp
+ hold = /obj/item/storage/internal/accessory/surg_vest/drop_green/upp
+
+/obj/item/storage/internal/accessory/surg_vest/drop_green/upp/fill_preset_inventory()
+ new /obj/item/tool/surgery/scalpel(src)
+ new /obj/item/tool/surgery/hemostat(src)
+ new /obj/item/tool/surgery/retractor(src)
+ new /obj/item/tool/surgery/cautery(src)
+ new /obj/item/tool/surgery/circular_saw(src)
+ new /obj/item/tool/surgery/surgicaldrill(src)
+ new /obj/item/tool/surgery/scalpel/pict_system(src)
+ new /obj/item/tool/surgery/bonesetter(src)
+ new /obj/item/tool/surgery/FixOVein(src)
+ new /obj/item/stack/medical/advanced/bruise_pack(src)
+ new /obj/item/stack/nanopaste(src)
+ new /obj/item/tool/surgery/bonegel(src)
+ new /obj/item/tool/surgery/bonegel(src)
+ new /obj/item/reagent_container/blood/OMinus(src)
+
/obj/item/clothing/accessory/storage/surg_vest/drop_black
name = "black surgical drop pouch"
desc = "A tactical black synthcotton drop pouch purpose-made for holding surgical tools."
diff --git a/code/modules/cm_aliens/XenoStructures.dm b/code/modules/cm_aliens/XenoStructures.dm
index c014fbf9c211..635bca03241f 100644
--- a/code/modules/cm_aliens/XenoStructures.dm
+++ b/code/modules/cm_aliens/XenoStructures.dm
@@ -118,7 +118,7 @@
/obj/effect/alien/resin/attackby(obj/item/W, mob/user)
if(!(W.flags_item & NOBLUDGEON))
- var/damage = W.force * RESIN_MELEE_DAMAGE_MULTIPLIER
+ var/damage = W.force * W.demolition_mod * RESIN_MELEE_DAMAGE_MULTIPLIER
health -= damage
if(istype(src, /obj/effect/alien/resin/sticky))
playsound(loc, "alien_resin_move", 25)
@@ -391,7 +391,7 @@
return // defer to item afterattack
if(!(W.flags_item & NOBLUDGEON) && W.force)
user.animation_attack_on(src)
- health -= W.force*RESIN_MELEE_DAMAGE_MULTIPLIER
+ health -= W.force * RESIN_MELEE_DAMAGE_MULTIPLIER * W.demolition_mod
to_chat(user, "You hit the [name] with your [W.name]!")
playsound(loc, "alien_resin_move", 25)
healthcheck()
diff --git a/code/modules/cm_aliens/weeds.dm b/code/modules/cm_aliens/weeds.dm
index d614d87bf9b9..2206bc528e82 100644
--- a/code/modules/cm_aliens/weeds.dm
+++ b/code/modules/cm_aliens/weeds.dm
@@ -377,7 +377,7 @@
else
to_chat(user, SPAN_WARNING("You cut \the [src] away with \the [attacking_item]."))
- var/damage = attacking_item.force / 3
+ var/damage = (attacking_item.force * attacking_item.demolition_mod) / 3
playsound(loc, "alien_resin_break", 25)
if(iswelder(attacking_item))
diff --git a/code/modules/cm_marines/dropship_ammo.dm b/code/modules/cm_marines/dropship_ammo.dm
index 93768e218375..0926f2bcefff 100644
--- a/code/modules/cm_marines/dropship_ammo.dm
+++ b/code/modules/cm_marines/dropship_ammo.dm
@@ -144,7 +144,7 @@
ammo_used_per_firing = 40
point_cost = 275
fire_mission_delay = 2
- var/bullet_spread_range = 4 //how far from the real impact turf can bullets land
+ var/bullet_spread_range = 3 //how far from the real impact turf can bullets land
var/shrapnel_type = /datum/ammo/bullet/shrapnel/gau //For siming 30mm bullet impacts.
var/directhit_damage = 105 //how much damage is to be inflicted to a mob, this is here so that we can hit resting mobs.
var/penetration = 10 //AP value pretty much
@@ -169,27 +169,26 @@
for(var/i = 1 to ammo_used_per_firing)
sleep(1)
- for(var/j in 1 to 2) //rather than halving the sleep, were doubling the bullets shot "bang"
- var/turf/impact_tile = pick(turf_list)
- var/datum/cause_data/cause_data = create_cause_data(fired_from.name, source_mob)
- impact_tile.ex_act(EXPLOSION_THRESHOLD_VLOW, pick(GLOB.alldirs), cause_data)
- create_shrapnel(impact_tile,1,0,0,shrapnel_type,cause_data,FALSE,100) //simulates a bullet
- for(var/atom/movable/explosion_effect in impact_tile)
- if(iscarbon(explosion_effect))
- var/mob/living/carbon/bullet_effect = explosion_effect
- explosion_effect.ex_act(EXPLOSION_THRESHOLD_VLOW, null, cause_data)
- bullet_effect.apply_armoured_damage(directhit_damage,ARMOR_BULLET,BRUTE,null,penetration)
- else
- explosion_effect.ex_act(EXPLOSION_THRESHOLD_VLOW)
- new /obj/effect/particle_effect/expl_particles(impact_tile)
- if(!soundplaycooldown) //so we don't play the same sound 20 times very fast.
- playsound(impact_tile, 'sound/effects/gauimpact.ogg',40,1,20)
- soundplaycooldown = 3
- soundplaycooldown--
- if(!debriscooldown)
- impact_tile.ceiling_debris_check(1)
- debriscooldown = 6
- debriscooldown--
+ var/turf/impact_tile = pick(turf_list)
+ var/datum/cause_data/cause_data = create_cause_data(fired_from.name, source_mob)
+ impact_tile.ex_act(EXPLOSION_THRESHOLD_VLOW, pick(GLOB.alldirs), cause_data)
+ create_shrapnel(impact_tile,1,0,0,shrapnel_type,cause_data,FALSE,100) //simulates a bullet
+ for(var/atom/movable/explosion_effect in impact_tile)
+ if(iscarbon(explosion_effect))
+ var/mob/living/carbon/bullet_effect = explosion_effect
+ explosion_effect.ex_act(EXPLOSION_THRESHOLD_VLOW, null, cause_data)
+ bullet_effect.apply_armoured_damage(directhit_damage,ARMOR_BULLET,BRUTE,null,penetration)
+ else
+ explosion_effect.ex_act(EXPLOSION_THRESHOLD_VLOW)
+ new /obj/effect/particle_effect/expl_particles(impact_tile)
+ if(!soundplaycooldown) //so we don't play the same sound 20 times very fast.
+ playsound(impact_tile, 'sound/effects/gauimpact.ogg',40,1,20)
+ soundplaycooldown = 3
+ soundplaycooldown--
+ if(!debriscooldown)
+ impact_tile.ceiling_debris_check(1)
+ debriscooldown = 6
+ debriscooldown--
sleep(11) //speed of sound simulation
playsound(impact, 'sound/effects/gau.ogg',100,1,60)
diff --git a/code/modules/cm_marines/equipment/kit_boxes.dm b/code/modules/cm_marines/equipment/kit_boxes.dm
index d99da8f59f2c..c26bafe7123a 100644
--- a/code/modules/cm_marines/equipment/kit_boxes.dm
+++ b/code/modules/cm_marines/equipment/kit_boxes.dm
@@ -69,6 +69,26 @@
// spotter
new /obj/item/storage/box/kit/spotter(src)
+/obj/item/storage/box/spec/sniper/anti_materiel/fill_preset_inventory()
+ name = "\improper AMR equipment case"
+ desc = "A large case containing an experimental XM43E1, a set of M45 ghillie armor and helmet, a M42 scout sight, ammunition, spotter equipment, and additional pieces of equipment.\nDrag this sprite onto yourself to open it up! NOTE: You cannot put items back inside this case."
+ new /obj/item/clothing/suit/storage/marine/ghillie(src)
+ new /obj/item/clothing/head/helmet/marine/ghillie(src)
+ new /obj/item/clothing/glasses/night/m42_night_goggles(src)
+ new /obj/item/weapon/gun/rifle/sniper/XM43E1(src)
+ new /obj/item/ammo_magazine/sniper/anti_materiel(src)
+ new /obj/item/ammo_magazine/sniper/anti_materiel(src)
+ new /obj/item/ammo_magazine/sniper/anti_materiel(src)
+ new /obj/item/ammo_magazine/sniper/anti_materiel(src)
+ new /obj/item/ammo_magazine/sniper/anti_materiel(src)
+ new /obj/item/storage/backpack/marine/smock(src)
+ new /obj/item/weapon/gun/pistol/vp78(src)
+ new /obj/item/ammo_magazine/pistol/vp78(src)
+ new /obj/item/ammo_magazine/pistol/vp78(src)
+ new /obj/item/facepaint/sniper(src)
+ // spotter
+ new /obj/item/storage/box/kit/spotter(src)
+
/obj/item/storage/box/spec/scout
name = "\improper Scout equipment case"
desc = "A large case containing an M4RA battle rifle, M3-S light armor and helmet, M4RA battle sight, M68 thermal cloak, V3 reactive thermal tarp, improved scout laser designator, ammunition and additional pieces of equipment.\nDrag this sprite onto yourself to open it up! NOTE: You cannot put items back inside this case."
@@ -257,6 +277,10 @@
spec_box = new /obj/item/storage/box/spec/sniper(T)
specialist_assignment = "Sniper"
user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SNIPER)
+ if("Anti-materiel Sniper")
+ spec_box = new /obj/item/storage/box/spec/sniper/anti_materiel(T)
+ specialist_assignment = "Heavy Sniper"
+ user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SNIPER)
if("Scout")
spec_box = new /obj/item/storage/box/spec/scout(T)
specialist_assignment = "Scout"
diff --git a/code/modules/cm_marines/equipment/mortar/mortars.dm b/code/modules/cm_marines/equipment/mortar/mortars.dm
index a4d4cfdc1bf5..51d1509297a3 100644
--- a/code/modules/cm_marines/equipment/mortar/mortars.dm
+++ b/code/modules/cm_marines/equipment/mortar/mortars.dm
@@ -31,6 +31,8 @@
var/firing = FALSE
/// If set to 1, can't unanchor and move the mortar, used for map spawns and WO
var/fixed = FALSE
+ /// if true, blows up the shell immediately
+ var/ship_side = FALSE
var/obj/structure/machinery/computer/cameras/mortar/internal_camera
@@ -56,28 +58,28 @@
else
return FALSE
-/obj/structure/mortar/attack_alien(mob/living/carbon/xenomorph/M)
- if(islarva(M))
+/obj/structure/mortar/attack_alien(mob/living/carbon/xenomorph/xeno)
+ if(islarva(xeno))
return XENO_NO_DELAY_ACTION
if(fixed)
- to_chat(M, SPAN_XENOWARNING("\The [src]'s supports are bolted and welded into the floor. It looks like it's going to be staying there."))
+ to_chat(xeno, SPAN_XENOWARNING("\The [src]'s supports are bolted and welded into the floor. It looks like it's going to be staying there."))
return XENO_NO_DELAY_ACTION
if(firing)
- M.animation_attack_on(src)
- M.flick_attack_overlay(src, "slash")
+ xeno.animation_attack_on(src)
+ xeno.flick_attack_overlay(src, "slash")
playsound(src, "acid_hit", 25, 1)
- playsound(M, "alien_help", 25, 1)
- M.apply_damage(10, BURN)
- M.visible_message(SPAN_DANGER("[M] tried to knock the steaming hot [src] over, but burned itself and pulled away!"),
+ playsound(xeno, "alien_help", 25, 1)
+ xeno.apply_damage(10, BURN)
+ xeno.visible_message(SPAN_DANGER("[xeno] tried to knock the steaming hot [src] over, but burned itself and pulled away!"),
SPAN_XENOWARNING("\The [src] is burning hot! Wait a few seconds."))
return XENO_ATTACK_ACTION
- M.visible_message(SPAN_DANGER("[M] lashes at \the [src] and knocks it over!"),
+ xeno.visible_message(SPAN_DANGER("[xeno] lashes at \the [src] and knocks it over!"),
SPAN_DANGER("You knock \the [src] over!"))
- M.animation_attack_on(src)
- M.flick_attack_overlay(src, "slash")
+ xeno.animation_attack_on(src)
+ xeno.flick_attack_overlay(src, "slash")
playsound(loc, 'sound/effects/metalhit.ogg', 25)
var/obj/item/mortar_kit/MK = new /obj/item/mortar_kit(loc)
MK.name = name
@@ -206,40 +208,47 @@
SStgui.update_uis(src)
-/obj/structure/mortar/attackby(obj/item/O, mob/user)
- if(istype(O, /obj/item/mortar_shell))
- var/obj/item/mortar_shell/mortar_shell = O
+/obj/structure/mortar/attackby(obj/item/item, mob/user)
+ if(istype(item, /obj/item/mortar_shell))
+ var/obj/item/mortar_shell/mortar_shell = item
+ var/turf/target_turf = locate(targ_x + dial_x + offset_x, targ_y + dial_y + offset_y, z)
+ var/area/target_area = get_area(target_turf)
if(!skillcheck(user, SKILL_ENGINEER, SKILL_ENGINEER_TRAINED))
to_chat(user, SPAN_WARNING("You don't have the training to fire [src]."))
return
if(busy)
to_chat(user, SPAN_WARNING("Someone else is currently using [src]."))
return
- if(!is_ground_level(z))
- to_chat(user, SPAN_WARNING("You cannot fire [src] here."))
- return
- if(targ_x == 0 && targ_y == 0) //Mortar wasn't set
- to_chat(user, SPAN_WARNING("[src] needs to be aimed first."))
- return
- var/turf/T = locate(targ_x + dial_x + offset_x, targ_y + dial_y + offset_y, z)
- if(!T)
- to_chat(user, SPAN_WARNING("You cannot fire [src] to this target."))
- return
- var/area/A = get_area(T)
- if(!istype(A))
- to_chat(user, SPAN_WARNING("This area is out of bounds!"))
- return
- if(CEILING_IS_PROTECTED(A.ceiling, CEILING_PROTECTION_TIER_2) || protected_by_pylon(TURF_PROTECTION_MORTAR, T))
- to_chat(user, SPAN_WARNING("You cannot hit the target. It is probably underground."))
- return
- if(SSticker.mode && MODE_HAS_TOGGLEABLE_FLAG(MODE_LZ_PROTECTION) && A.is_landing_zone)
- to_chat(user, SPAN_WARNING("You cannot bomb the landing zone!"))
- return
-
- //Small amount of spread so that consecutive mortar shells don't all land on the same tile
- var/turf/T1 = locate(T.x + pick(-1,0,0,1), T.y + pick(-1,0,0,1), T.z)
- if(T1)
- T = T1
+ if(!ship_side)
+ if(targ_x == 0 && targ_y == 0) //Mortar wasn't set
+ to_chat(user, SPAN_WARNING("[src] needs to be aimed first."))
+ return
+ if(!target_turf)
+ to_chat(user, SPAN_WARNING("You cannot fire [src] to this target."))
+ return
+ if(!istype(target_area))
+ to_chat(user, SPAN_WARNING("This area is out of bounds!"))
+ return
+ if(CEILING_IS_PROTECTED(target_area.ceiling, CEILING_PROTECTION_TIER_2) || protected_by_pylon(TURF_PROTECTION_MORTAR, target_turf))
+ to_chat(user, SPAN_WARNING("You cannot hit the target. It is probably underground."))
+ return
+ if(SSticker.mode && MODE_HAS_TOGGLEABLE_FLAG(MODE_LZ_PROTECTION) && target_area.is_landing_zone)
+ to_chat(user, SPAN_WARNING("You cannot bomb the landing zone!"))
+ return
+
+ if(ship_side)
+ var/crash_occurred = (SSticker?.mode?.is_in_endgame)
+ if(crash_occurred)
+ var/turf/our_turf = get_turf(src)
+ target_turf = our_turf
+ travel_time = 0.5 SECONDS
+ else
+ to_chat(user, SPAN_RED("You realize how bad of an idea this is and quickly stop."))
+ return
+ else
+ var/turf/deviation_turf = locate(target_turf.x + pick(-1,0,0,1), target_turf.y + pick(-1,0,0,1), target_turf.z) //Small amount of spread so that consecutive mortar shells don't all land on the same tile
+ if(deviation_turf)
+ target_turf = deviation_turf
user.visible_message(SPAN_NOTICE("[user] starts loading \a [mortar_shell.name] into [src]."),
SPAN_NOTICE("You start loading \a [mortar_shell.name] into [src]."))
@@ -259,15 +268,15 @@
mortar_shell.cause_data = create_cause_data(initial(mortar_shell.name), user, src)
mortar_shell.forceMove(src)
- var/turf/G = get_turf(src)
- G.ceiling_debris_check(2)
+ var/turf/mortar_turf = get_turf(src)
+ mortar_turf.ceiling_debris_check(2)
- for(var/mob/M in range(7))
- shake_camera(M, 3, 1)
+ for(var/mob/mob in range(7))
+ shake_camera(mob, 3, 1)
- addtimer(CALLBACK(src, PROC_REF(handle_shell), T, mortar_shell), travel_time)
+ addtimer(CALLBACK(src, PROC_REF(handle_shell), target_turf, mortar_shell), travel_time)
- if(HAS_TRAIT(O, TRAIT_TOOL_WRENCH))
+ if(HAS_TRAIT(item, TRAIT_TOOL_WRENCH))
if(!skillcheck(user, SKILL_ENGINEER, SKILL_ENGINEER_TRAINED))
to_chat(user, SPAN_WARNING("You don't have the training to undeploy [src]."))
return
@@ -287,11 +296,11 @@
user.visible_message(SPAN_NOTICE("[user] undeploys [src]."), \
SPAN_NOTICE("You undeploy [src]."))
playsound(loc, 'sound/items/Deconstruct.ogg', 25, 1)
- var/obj/item/mortar_kit/M = new /obj/item/mortar_kit(loc)
- M.name = src.name
+ var/obj/item/mortar_kit/mortar = new /obj/item/mortar_kit(loc)
+ mortar.name = src.name
qdel(src)
- if(HAS_TRAIT(O, TRAIT_TOOL_SCREWDRIVER))
+ if(HAS_TRAIT(item, TRAIT_TOOL_SCREWDRIVER))
if(do_after(user, 1 SECONDS, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD))
user.visible_message(SPAN_NOTICE("[user] toggles the targeting computer on [src]."), \
SPAN_NOTICE("You toggle the targeting computer on [src]."))
@@ -303,29 +312,45 @@
if(EXPLOSION_THRESHOLD_MEDIUM to INFINITY)
qdel(src)
+/obj/effect/mortar_effect
+ icon = 'icons/obj/structures/mortar.dmi'
+ icon_state = "mortar_ammo_custom"
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ invisibility = INVISIBILITY_MAXIMUM
+
/obj/structure/mortar/proc/handle_shell(turf/target, obj/item/mortar_shell/shell)
if(protected_by_pylon(TURF_PROTECTION_MORTAR, target))
firing = FALSE
return
+ if(ship_side)
+ var/turf/our_turf = get_turf(src)
+ shell.detonate(our_turf)
+ return
+
+ if(istype(shell, /obj/item/mortar_shell/custom)) // big shell warning for ghosts
+ var/obj/effect/effect = new /obj/effect/mortar_effect(target)
+ QDEL_IN(effect, 5 SECONDS)
+ notify_ghosts(header = "Custom Shell", message = "A custom mortar shell is about to land at [get_area(target)].", source = effect)
+
playsound(target, 'sound/weapons/gun_mortar_travel.ogg', 50, 1)
var/relative_dir
- for(var/mob/M in range(15, target))
- if(get_turf(M) == target)
+ for(var/mob/mob in range(15, target))
+ if(get_turf(mob) == target)
relative_dir = 0
else
- relative_dir = Get_Compass_Dir(M, target)
- M.show_message( \
+ relative_dir = Get_Compass_Dir(mob, target)
+ mob.show_message( \
SPAN_DANGER("A SHELL IS COMING DOWN [SPAN_UNDERLINE(relative_dir ? uppertext(("TO YOUR " + dir2text(relative_dir))) : uppertext("right above you"))]!"), SHOW_MESSAGE_VISIBLE, \
SPAN_DANGER("YOU HEAR SOMETHING COMING DOWN [SPAN_UNDERLINE(relative_dir ? uppertext(("TO YOUR " + dir2text(relative_dir))) : uppertext("right above you"))]!"), SHOW_MESSAGE_AUDIBLE \
)
sleep(2.5 SECONDS) // Sleep a bit to give a message
- for(var/mob/M in range(10, target))
- if(get_turf(M) == target)
+ for(var/mob/mob in range(10, target))
+ if(get_turf(mob) == target)
relative_dir = 0
else
- relative_dir = Get_Compass_Dir(M, target)
- M.show_message( \
+ relative_dir = Get_Compass_Dir(mob, target)
+ mob.show_message( \
SPAN_HIGHDANGER("A SHELL IS ABOUT TO IMPACT [SPAN_UNDERLINE(relative_dir ? uppertext(("TO YOUR " + dir2text(relative_dir))) : uppertext("right above you"))]!"), SHOW_MESSAGE_VISIBLE, \
SPAN_HIGHDANGER("YOU HEAR SOMETHING VERY CLOSE COMING DOWN [SPAN_UNDERLINE(relative_dir ? uppertext(("TO YOUR " + dir2text(relative_dir))) : uppertext("right above you"))]!"), SHOW_MESSAGE_AUDIBLE \
)
@@ -338,6 +363,9 @@
/obj/structure/mortar/proc/can_fire_at(mob/user, test_targ_x = targ_x, test_targ_y = targ_y, test_dial_x, test_dial_y)
var/dialing = test_dial_x || test_dial_y
+ if(ship_side)
+ to_chat(user, SPAN_WARNING("You cannot aim the mortar while on a ship."))
+ return FALSE
if(test_dial_x + test_targ_x > world.maxx || test_dial_x + test_targ_x < 0)
to_chat(user, SPAN_WARNING("You cannot [dialing ? "dial to" : "aim at"] this coordinate, it is outside of the area of operations."))
return FALSE
@@ -385,21 +413,23 @@
if(!skillcheck(user, SKILL_ENGINEER, SKILL_ENGINEER_TRAINED))
to_chat(user, SPAN_WARNING("You don't have the training to deploy [src]."))
return
- if(!is_ground_level(deploy_turf.z))
- to_chat(user, SPAN_WARNING("You cannot deploy [src] here."))
- return
- var/area/A = get_area(deploy_turf)
- if(CEILING_IS_PROTECTED(A.ceiling, CEILING_PROTECTION_TIER_1))
+ var/area/area = get_area(deploy_turf)
+ if(CEILING_IS_PROTECTED(area.ceiling, CEILING_PROTECTION_TIER_1) && is_ground_level(deploy_turf.z))
to_chat(user, SPAN_WARNING("You probably shouldn't deploy [src] indoors."))
return
user.visible_message(SPAN_NOTICE("[user] starts deploying [src]."), \
SPAN_NOTICE("You start deploying [src]."))
playsound(deploy_turf, 'sound/items/Deconstruct.ogg', 25, 1)
if(do_after(user, 4 SECONDS, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD))
- user.visible_message(SPAN_NOTICE("[user] deploys [src]."), \
- SPAN_NOTICE("You deploy [src]."))
+ var/obj/structure/mortar/mortar = new /obj/structure/mortar(deploy_turf)
+ if(!is_ground_level(deploy_turf.z))
+ mortar.ship_side = TRUE
+ user.visible_message(SPAN_NOTICE("[user] deploys [src]."), \
+ SPAN_NOTICE("You deploy [src]. This is a bad idea."))
+ else
+ user.visible_message(SPAN_NOTICE("[user] deploys [src]."), \
+ SPAN_NOTICE("You deploy [src]."))
playsound(deploy_turf, 'sound/weapons/gun_mortar_unpack.ogg', 25, 1)
- var/obj/structure/mortar/M = new /obj/structure/mortar(deploy_turf)
- M.name = src.name
- M.setDir(user.dir)
+ mortar.name = src.name
+ mortar.setDir(user.dir)
qdel(src)
diff --git a/code/modules/cm_marines/m2c.dm b/code/modules/cm_marines/m2c.dm
index dea7d80b50f9..23a9d243b134 100644
--- a/code/modules/cm_marines/m2c.dm
+++ b/code/modules/cm_marines/m2c.dm
@@ -73,7 +73,7 @@
icon_state = icon_name
/obj/item/device/m2c_gun/proc/check_can_setup(mob/user, turf/rotate_check, turf/open/OT, list/ACR)
- if(!ishuman(user))
+ if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
return FALSE
if(broken_gun)
to_chat(user, SPAN_WARNING("You can't set up \the [src], it's completely broken!"))
@@ -148,7 +148,7 @@
HMG.try_mount_gun(user)
/obj/item/device/m2c_gun/attackby(obj/item/O as obj, mob/user as mob)
- if(!ishuman(user))
+ if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
return
if(!iswelder(O) || user.action_busy)
@@ -330,7 +330,7 @@
update_icon()
/obj/structure/machinery/m56d_hmg/auto/attackby(obj/item/O as obj, mob/user as mob)
- if(!ishuman(user))
+ if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
return
// RELOADING
if(istype(O, /obj/item/ammo_magazine/m2c))
@@ -456,13 +456,12 @@
// DISASSEMBLY
/obj/structure/machinery/m56d_hmg/auto/MouseDrop(over_object, src_location, over_location)
- if(!ishuman(usr))
- return
- var/mob/living/carbon/human/user = usr
+ var/mob/living/carbon/user = usr
// If the user is unconscious or dead.
if(user.stat)
return
-
+ if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
+ return
if(over_object == user && in_range(src, user))
if((rounds > 0) && (user.a_intent & (INTENT_GRAB)))
playsound(src.loc, 'sound/items/m56dauto_load.ogg', 75, 1)
diff --git a/code/modules/cm_marines/marines_consoles.dm b/code/modules/cm_marines/marines_consoles.dm
index 1d72ab5a4d99..e02bb930d416 100644
--- a/code/modules/cm_marines/marines_consoles.dm
+++ b/code/modules/cm_marines/marines_consoles.dm
@@ -43,12 +43,12 @@
ui = new(user, src, "CardMod", name)
ui.open()
-/obj/structure/machinery/computer/card/ui_act(action, params)
+/obj/structure/machinery/computer/card/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
. = ..()
if(.)
return
- var/mob/user = usr
+ var/mob/user = ui.user
playsound(src, pick('sound/machines/computer_typing4.ogg', 'sound/machines/computer_typing5.ogg', 'sound/machines/computer_typing6.ogg'), 5, 1)
switch(action)
@@ -91,18 +91,11 @@
printing = TRUE
playsound(src.loc, 'sound/machines/fax.ogg', 15, 1)
sleep(40)
- var/faction = "N/A"
- if(target_id_card.faction_group && islist(target_id_card.faction_group))
- faction = jointext(target_id_card.faction_group, ", ")
- if(isnull(target_id_card.faction_group))
- target_id_card.faction_group = list()
- else
- faction = target_id_card.faction_group
var/contents = {"Access Report
Prepared By: [user_id_card?.registered_name ? user_id_card.registered_name : "Unknown"]
For: [target_id_card.registered_name ? target_id_card.registered_name : "Unregistered"]
- Faction: [faction]
+ Faction: [target_id_card.faction ? target_id_card.faction : "N/A"]
Assignment: [target_id_card.assignment]
Account Number: #[target_id_card.associated_account_number]
Blood Type: [target_id_card.blood_type]
@@ -112,7 +105,10 @@
var/known_access_rights = get_access(ACCESS_LIST_MARINE_ALL)
for(var/A in target_id_card.access)
if(A in known_access_rights)
- contents += " [get_access_desc(A)]"
+ contents += " [get_access_desc(A)]
"
+ contents += "
Modification Log:
"
+ for(var/change in target_id_card.modification_log)
+ contents += " [change]
"
var/obj/item/paper/P = new /obj/item/paper(src.loc)
P.name = "Access Report"
@@ -139,9 +135,9 @@
GLOB.data_core.manifest_modify(target_id_card.registered_name, target_id_card.registered_ref, target_id_card.assignment, target_id_card.rank)
target_id_card.name = text("[target_id_card.registered_name]'s ID Card ([target_id_card.assignment])")
if(target_id_card.registered_name != origin_name)
- log_idmod(target_id_card, " [key_name_admin(usr)] changed the registered name of the ID to '[target_id_card.registered_name]'. ")
+ log_idmod(target_id_card, " [user.real_name] changed the registered name of the ID to '[target_id_card.registered_name]'. ", key_name_admin(user))
if(target_id_card.assignment != origin_assignment)
- log_idmod(target_id_card, " [key_name_admin(usr)] changed the assignment of the ID to the custom position '[target_id_card.assignment]'. ")
+ log_idmod(target_id_card, " [user.real_name] changed the assignment of the ID to the custom position '[target_id_card.assignment]'. ", key_name_admin(user))
if(ishuman(user))
target_id_card.forceMove(user.loc)
if(!user.get_active_hand())
@@ -170,8 +166,8 @@
target_id_card.assignment = "Terminated"
target_id_card.access = list()
- log_idmod(target_id_card, " [key_name_admin(usr)] terminated the ID. ")
- message_admins("[key_name_admin(usr)] terminated the ID of [target_id_card.registered_name].")
+ log_idmod(target_id_card, " [user.real_name] terminated the ID. ", key_name_admin(user))
+ message_admins("[user.real_name] terminated the ID of [target_id_card.registered_name].", key_name_admin(user))
return TRUE
if("PRG_edit")
if(!authenticated || !target_id_card)
@@ -221,19 +217,19 @@
target_id_card.faction_group = list()
if(params["access_target"] in target_id_card.faction_group)
target_id_card.faction_group -= params["access_target"]
- log_idmod(target_id_card, " [key_name_admin(usr)] revoked [access_type] IFF. ")
+ log_idmod(target_id_card, " [user.real_name] revoked [access_type] IFF. ", key_name_admin(user))
else
target_id_card.faction_group |= params["access_target"]
- log_idmod(target_id_card, " [key_name_admin(usr)] granted [access_type] IFF. ")
+ log_idmod(target_id_card, " [user.real_name] granted [access_type] IFF. ", key_name_admin(user))
return TRUE
access_type = text2num(params["access_target"])
if(access_type in (is_centcom ? get_access(ACCESS_LIST_WY_ALL) : get_access(ACCESS_LIST_MARINE_MAIN)))
if(access_type in target_id_card.access)
target_id_card.access -= access_type
- log_idmod(target_id_card, " [key_name_admin(usr)] revoked access '[access_type]'. ")
+ log_idmod(target_id_card, " [user.real_name] revoked access '[get_access_desc(access_type)]'. ", key_name_admin(user))
else
target_id_card.access |= access_type
- log_idmod(target_id_card, " [key_name_admin(usr)] granted access '[access_type]'. ")
+ log_idmod(target_id_card, " [user.real_name] granted access '[get_access_desc(access_type)]'. ", key_name_admin(user))
return TRUE
if("PRG_grantall")
if(!authenticated || !target_id_card)
@@ -241,7 +237,7 @@
target_id_card.access |= (is_centcom ? get_access(ACCESS_LIST_WY_ALL) : get_access(ACCESS_LIST_MARINE_MAIN))
target_id_card.faction_group |= factions
- log_idmod(target_id_card, " [key_name_admin(usr)] granted the ID all access and USCM IFF. ")
+ log_idmod(target_id_card, " [user.real_name] granted the ID all access and USCM IFF. ", key_name_admin(user))
return TRUE
if("PRG_denyall")
if(!authenticated || !target_id_card)
@@ -250,7 +246,7 @@
var/list/access = target_id_card.access
access.Cut()
target_id_card.faction_group -= factions
- log_idmod(target_id_card, " [key_name_admin(usr)] removed all accesses and USCM IFF. ")
+ log_idmod(target_id_card, " [user.real_name] removed all accesses and USCM IFF. ", key_name_admin(user))
return TRUE
if("PRG_grantregion")
if(!authenticated || !target_id_card)
@@ -258,14 +254,14 @@
if(params["region"] == "Faction (IFF system)")
target_id_card.faction_group |= factions
- log_idmod(target_id_card, " [key_name_admin(usr)] granted USCM IFF. ")
+ log_idmod(target_id_card, " [user.real_name] granted USCM IFF. ", key_name_admin(user))
return TRUE
var/region = text2num(params["region"])
if(isnull(region))
return
target_id_card.access |= get_region_accesses(region)
var/additions = get_region_accesses_name(region)
- log_idmod(target_id_card, " [key_name_admin(usr)] granted all [additions] accesses. ")
+ log_idmod(target_id_card, " [user.real_name] granted all [additions] accesses. ", key_name_admin(user))
return TRUE
if("PRG_denyregion")
if(!authenticated || !target_id_card)
@@ -273,14 +269,14 @@
if(params["region"] == "Faction (IFF system)")
target_id_card.faction_group -= factions
- log_idmod(target_id_card, " [key_name_admin(usr)] revoked USCM IFF. ")
+ log_idmod(target_id_card, " [user.real_name] revoked USCM IFF. ", key_name_admin(user))
return TRUE
var/region = text2num(params["region"])
if(isnull(region))
return
target_id_card.access -= get_region_accesses(region)
var/additions = get_region_accesses_name(region)
- log_idmod(target_id_card, " [key_name_admin(usr)] revoked all [additions] accesses. ")
+ log_idmod(target_id_card, " [user.real_name] revoked all [additions] accesses. ", key_name_admin(user))
return TRUE
if("PRG_account")
if(!authenticated || !target_id_card)
@@ -288,7 +284,7 @@
var/account = text2num(params["account"])
target_id_card.associated_account_number = account
- log_idmod(target_id_card, " [key_name_admin(usr)] changed the account number to '[account]'. ")
+ log_idmod(target_id_card, " [user.real_name] changed the account number to '[account]'. ", key_name_admin(user))
return TRUE
/obj/structure/machinery/computer/card/ui_static_data(mob/user)
@@ -904,9 +900,10 @@ GLOBAL_LIST_EMPTY_TYPED(crewmonitor, /datum/crewmonitor)
// 20-29: Aux Command
JOB_AUXILIARY_OFFICER = 20,
JOB_SYNTH = 21,
- JOB_PILOT = 22,
- JOB_DROPSHIP_CREW_CHIEF = 23,
- JOB_INTEL = 24,
+ JOB_CAS_PILOT = 22,
+ JOB_DROPSHIP_PILOT = 23,
+ JOB_DROPSHIP_CREW_CHIEF = 24,
+ JOB_INTEL = 25,
// 30-39: Security
JOB_CHIEF_POLICE = 30,
JOB_PROVOST_TML = 30,
@@ -1083,6 +1080,7 @@ GLOBAL_LIST_EMPTY_TYPED(crewmonitor, /datum/crewmonitor)
// 50-59: Engineering
JOB_UPP_COMBAT_SYNTH = 50,
JOB_UPP_CREWMAN = 51,
+ JOB_UPP_SUPPORT_SYNTH = 52,
// 60-69: Soldiers
JOB_UPP_LEADER = 60,
JOB_UPP_SPECIALIST = 61,
diff --git a/code/modules/cm_marines/orbital_cannon.dm b/code/modules/cm_marines/orbital_cannon.dm
index 23bce06fdc1a..ce69115cee48 100644
--- a/code/modules/cm_marines/orbital_cannon.dm
+++ b/code/modules/cm_marines/orbital_cannon.dm
@@ -184,9 +184,12 @@ GLOBAL_LIST(ob_type_fuel_requirements)
chambered_tray = TRUE
var/misfuel = get_misfuel_amount()
var/message = "[key_name(user)] chambered the Orbital Bombardment cannon."
+ var/ares_message = "Shell chambered."
if(misfuel)
message += " It is misfueled by [misfuel] units!"
+ ares_message += " Fuel imbalance detected!"
message_admins(message, x, y, z)
+ log_ares_bombardment(user, lowertext(tray.warhead.name), ares_message)
update_icon()
diff --git a/code/modules/cm_marines/overwatch.dm b/code/modules/cm_marines/overwatch.dm
index e68ef467faa9..70b2b82d8c86 100644
--- a/code/modules/cm_marines/overwatch.dm
+++ b/code/modules/cm_marines/overwatch.dm
@@ -800,7 +800,7 @@
notify_ghosts(header = "Bombardment Inbound", message = "\A [ob_name] targeting [get_area(T)] has been fired!", source = T, alert_overlay = warhead_appearance, extra_large = TRUE)
/// Project ARES interface log.
- log_ares_bombardment(user.name, ob_name, "X[x_bomb], Y[y_bomb] in [get_area(T)]")
+ log_ares_bombardment(user.name, ob_name, "Bombardment fired at X[x_bomb], Y[y_bomb] in [get_area(T)]")
busy = FALSE
if(istype(T))
@@ -816,8 +816,8 @@
to_chat(usr, "[icon2html(src, usr)] [SPAN_WARNING("The [name] is busy processing another action!")]")
return
- var/obj/structure/closet/crate/C = locate() in current_squad.drop_pad.loc //This thing should ALWAYS exist.
- if(!istype(C))
+ var/obj/structure/closet/crate/crate = locate() in current_squad.drop_pad.loc //This thing should ALWAYS exist.
+ if(!istype(crate))
to_chat(usr, "[icon2html(src, usr)] [SPAN_WARNING("No crate was detected on the drop pad. Get Requisitions on the line!")]")
return
@@ -844,17 +844,19 @@
return
busy = TRUE
- C.visible_message(SPAN_WARNING("\The [C] loads into a launch tube. Stand clear!"))
- SEND_SIGNAL(C, COMSIG_STRUCTURE_CRATE_SQUAD_LAUNCHED, current_squad)
+ crate.visible_message(SPAN_WARNING("\The [crate] loads into a launch tube. Stand clear!"))
+ SEND_SIGNAL(crate, COMSIG_STRUCTURE_CRATE_SQUAD_LAUNCHED, current_squad)
COOLDOWN_START(current_squad, next_supplydrop, 500 SECONDS)
if(ismob(usr))
var/mob/M = usr
M.count_niche_stat(STATISTICS_NICHE_CRATES)
- playsound(C.loc,'sound/effects/bamf.ogg', 50, 1) //Ehh
- var/obj/structure/droppod/supply/pod = new(null, C)
+ playsound(crate.loc,'sound/effects/bamf.ogg', 50, 1) //Ehh
+ var/obj/structure/droppod/supply/pod = new(null, crate)
pod.launch(T)
- visible_message("[icon2html(src, viewers(src))] [SPAN_BOLDNOTICE("'[C.name]' supply drop launched! Another launch will be available in five minutes.")]")
+ log_ares_requisition("Supply Drop", "Launch [crate.name] to X[x_supply], Y[y_supply].", usr.real_name)
+ log_game("[key_name(usr)] launched supply drop '[crate.name]' to X[x_coord], Y[y_coord].")
+ visible_message("[icon2html(src, viewers(src))] [SPAN_BOLDNOTICE("'[crate.name]' supply drop launched! Another launch will be available in five minutes.")]")
busy = FALSE
/obj/structure/machinery/computer/overwatch/almayer
@@ -884,10 +886,14 @@
density = FALSE
unslashable = TRUE
unacidable = TRUE
+ plane = FLOOR_PLANE
layer = 2.1 //It's the floor, man
var/squad = SQUAD_MARINE_1
var/sending_package = 0
+/obj/structure/supply_drop/ex_act(severity, direction)
+ return FALSE
+
/obj/structure/supply_drop/Initialize(mapload, ...)
. = ..()
GLOB.supply_drop_list += src
diff --git a/code/modules/cm_marines/smartgun_mount.dm b/code/modules/cm_marines/smartgun_mount.dm
index 7cb3b4fa051b..b3035511cab7 100644
--- a/code/modules/cm_marines/smartgun_mount.dm
+++ b/code/modules/cm_marines/smartgun_mount.dm
@@ -70,7 +70,7 @@
return
/obj/item/device/m56d_gun/attackby(obj/item/O as obj, mob/user as mob)
- if(!ishuman(user))
+ if(!ishuman(user) || !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
return
if(QDELETED(O))
@@ -92,7 +92,7 @@
if(istype(machine, /obj/structure/machinery/m56d_hmg) || istype(machine, /obj/structure/machinery/m56d_post))
to_chat(user, SPAN_WARNING("This is too close to [machine]!"))
return
- if(!ishuman(user))
+ if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
return
if(!has_mount)
return
@@ -188,7 +188,7 @@
/obj/item/device/m56d_post/attack_self(mob/user)
..()
- if(!ishuman(usr))
+ if(!ishuman(usr) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
return
if(SSinterior.in_interior(user))
to_chat(usr, SPAN_WARNING("It's too cramped in here to deploy \a [src]."))
@@ -296,9 +296,9 @@
return XENO_ATTACK_ACTION
/obj/structure/machinery/m56d_post/MouseDrop(over_object, src_location, over_location) //Drag the tripod onto you to fold it.
- if(!ishuman(usr))
+ var/mob/living/carbon/user = usr //this is us
+ if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
return
- var/mob/living/carbon/human/user = usr //this is us
if(over_object == user && in_range(src, user))
if(anchored && gun_mounted)
to_chat(user, SPAN_WARNING("\The [src] can't be folded while there's an unsecured gun mounted on it. Either complete the assembly or take the gun off with a crowbar."))
@@ -313,7 +313,7 @@
qdel(src)
/obj/structure/machinery/m56d_post/attackby(obj/item/O, mob/user)
- if(!ishuman(user)) //first make sure theres no funkiness
+ if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) //first make sure theres no funkiness
return
if(HAS_TRAIT(O, TRAIT_TOOL_WRENCH)) //rotate the mount
@@ -549,7 +549,7 @@
/obj/structure/machinery/m56d_hmg/get_examine_text(mob/user) //Let us see how much ammo we got in this thing.
. = ..()
- if(ishuman(user))
+ if(ishuman(user) || HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
if(rounds)
. += SPAN_NOTICE("It has [rounds] round\s out of [rounds_max].")
else
@@ -568,7 +568,7 @@
return
/obj/structure/machinery/m56d_hmg/attackby(obj/item/O as obj, mob/user as mob) //This will be how we take it apart.
- if(!ishuman(user))
+ if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
return ..()
if(QDELETED(O))
@@ -692,16 +692,18 @@
update_health(round(P.damage / 10)) //Universal low damage to what amounts to a post with a gun.
return 1
-/obj/structure/machinery/m56d_hmg/attack_alien(mob/living/carbon/xenomorph/M) // Those Ayy lmaos.
- if(islarva(M))
+/obj/structure/machinery/m56d_hmg/attack_alien(mob/living/carbon/xenomorph/xeno) // Those Ayy lmaos.
+ if(islarva(xeno))
return //Larvae can't do shit
-
- M.visible_message(SPAN_DANGER("[M] has slashed [src]!"),
+ if(xeno.IsAdvancedToolUser() && xeno.a_intent == INTENT_HELP)
+ try_mount_gun(xeno)
+ return XENO_NO_DELAY_ACTION
+ xeno.visible_message(SPAN_DANGER("[xeno] has slashed [src]!"),
SPAN_DANGER("You slash [src]!"))
- M.animation_attack_on(src)
- M.flick_attack_overlay(src, "slash")
+ xeno.animation_attack_on(src)
+ xeno.flick_attack_overlay(src, "slash")
playsound(loc, "alien_claw_metal", 25)
- update_health(rand(M.melee_damage_lower,M.melee_damage_upper))
+ update_health(rand(xeno.melee_damage_lower,xeno.melee_damage_upper))
return XENO_ATTACK_ACTION
/obj/structure/machinery/m56d_hmg/proc/load_into_chamber()
@@ -841,17 +843,21 @@
// Try to man the gun
try_mount_gun(usr)
-/obj/structure/machinery/m56d_hmg/proc/try_mount_gun(mob/living/carbon/human/user)
+/obj/structure/machinery/m56d_hmg/proc/try_mount_gun(mob/living/carbon/user)
// If the user isn't a human.
if(!istype(user))
return
// If the user is unconscious or dead.
if(user.stat)
return
-
+ if(ishuman(user))
+ var/mob/living/carbon/human/human = user
+ if(!human.allow_gun_usage)
+ to_chat(user, SPAN_WARNING("You aren't allowed to use firearms!"))
+ return
// If the user isn't actually allowed to use guns.
- if(!user.allow_gun_usage)
- to_chat(user, SPAN_WARNING("You aren't allowed to use firearms!"))
+ else if (!HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
+ to_chat(user, SPAN_WARNING("You don't know what to do with [src]!"))
return
// If the user is invisible.
diff --git a/code/modules/cm_phone/phone.dm b/code/modules/cm_phone/phone.dm
index b4f13044bc20..231bf54475d3 100644
--- a/code/modules/cm_phone/phone.dm
+++ b/code/modules/cm_phone/phone.dm
@@ -362,7 +362,7 @@ GLOBAL_LIST_EMPTY_TYPED(transmitters, /obj/structure/transmitter)
qdel(attached_to)
else
attached_to.attached_to = null
- attached_to = null
+ attached_to = null
GLOB.transmitters -= src
SStgui.close_uis(src)
diff --git a/code/modules/cm_preds/yaut_bracers.dm b/code/modules/cm_preds/yaut_bracers.dm
index 95d545fbd72b..1994d0507884 100644
--- a/code/modules/cm_preds/yaut_bracers.dm
+++ b/code/modules/cm_preds/yaut_bracers.dm
@@ -1050,7 +1050,7 @@
if(!drain_power(caller, 50))
return
- log_say("[caller.name != "Unknown" ? caller.name : "([caller.real_name])"] \[Yautja Translator\]: [msg] (CKEY: [caller.key]) (JOB: [caller.job])")
+ log_say("[caller.name != "Unknown" ? caller.name : "([caller.real_name])"] \[Yautja Translator\]: [msg] (CKEY: [caller.key]) (JOB: [caller.job]) (AREA: [get_area_name(caller)])")
var/list/heard = get_mobs_in_view(7, caller)
for(var/mob/M in heard)
diff --git a/code/modules/cm_tech/droppod/lz_effect.dm b/code/modules/cm_tech/droppod/lz_effect.dm
index 6a73916c7b3f..7ab955d8a00c 100644
--- a/code/modules/cm_tech/droppod/lz_effect.dm
+++ b/code/modules/cm_tech/droppod/lz_effect.dm
@@ -34,6 +34,7 @@
/obj/effect/warning/explosive/proc/disappear()
qdel(src)
+
/obj/effect/warning/explosive/gas
name = "gas warning"
color = "#42acd6"
diff --git a/code/modules/cm_tech/tech.dm b/code/modules/cm_tech/tech.dm
index dea505f3237a..1750f7e7dbbf 100644
--- a/code/modules/cm_tech/tech.dm
+++ b/code/modules/cm_tech/tech.dm
@@ -21,9 +21,11 @@
var/background_icon = "background"
var/background_icon_locked = "marine"
- var/announce_name
+ var/announce_name = "ALMAYER SPECIAL ASSETS AUTHORIZED"
var/announce_message
+ var/is_tier_changer = FALSE
+
/datum/tech/proc/can_unlock(mob/M)
SHOULD_CALL_PARENT(TRUE)
@@ -58,6 +60,7 @@
return TRUE
+
/** Called when a tech is unlocked. Usually, benefits can be applied here
* however, the purchase can still be cancelled by returning FALSE
*
@@ -69,11 +72,17 @@
unlocked = TRUE
to_chat(user, SPAN_HELPFUL("You have purchased the '[name]' tech node."))
log_admin("[key_name_admin(user)] has bought '[name]' via tech points.")
+ if(!is_tier_changer)
+ var/log_details = announce_message
+ if(!log_details)
+ log_details = name
+ var/current_points = holder.points
+ log_ares_tech(user.real_name, is_tier_changer, announce_name, log_details, required_points, current_points)
holder.spend_points(required_points)
update_icon(node)
if(!(tech_flags & TECH_FLAG_NO_ANNOUNCE) && announce_message && announce_name)
- marine_announcement(announce_message, announce_name, 'sound/misc/notice2.ogg')
+ marine_announcement(announce_message, announce_name, 'sound/misc/notice2.ogg', logging = ARES_LOG_NONE)
return TRUE
diff --git a/code/modules/cm_tech/techs/abstract/transitory.dm b/code/modules/cm_tech/techs/abstract/transitory.dm
index 7798b6053d0e..1737b6b21ee6 100644
--- a/code/modules/cm_tech/techs/abstract/transitory.dm
+++ b/code/modules/cm_tech/techs/abstract/transitory.dm
@@ -7,6 +7,7 @@
var/datum/tier/next
var/techs_to_unlock = 0
+ is_tier_changer = TRUE
/datum/tech/transitory/check_tier_level(mob/M)
if(before && before != holder.tier.type)
@@ -22,7 +23,7 @@
return TRUE
-/datum/tech/transitory/on_unlock()
+/datum/tech/transitory/on_unlock(mob/user)
. = ..()
if(!next)
return
@@ -31,6 +32,10 @@
if(next_tier)
holder.tier = next_tier
holder.on_tier_change(previous_tier)
+ if(flags & TREE_FLAG_MARINE)
+ /// Due to calling parent, points will have already been spent by now.
+ var/current_points = holder.points + required_points
+ log_ares_tech(user.real_name, is_tier_changer, "ALMAYER DEFCON LEVEL INCREASED", "THREAT ASSESSMENT LEVEL INCREASED TO LEVEL [next_tier.tier].\n\nLEVEL [next_tier.tier] assets have been authorised to handle the situation.", required_points, current_points)
/datum/tech/transitory/get_tier_overlay()
if(!next)
diff --git a/code/modules/cm_tech/techs/marine/tier1/points.dm b/code/modules/cm_tech/techs/marine/tier1/points.dm
index d6bb5bace6fc..7768d8da2ab7 100644
--- a/code/modules/cm_tech/techs/marine/tier1/points.dm
+++ b/code/modules/cm_tech/techs/marine/tier1/points.dm
@@ -31,7 +31,6 @@
icon_state = "budget_ds"
desc = "Distributes resources to the dropship fabricator."
- announce_name = "ALMAYER SPECIAL ASSETS AUTHORIZED"
announce_message = "Additional dropship part fabricator points have been authorised for this operation."
required_points = 12
diff --git a/code/modules/cm_tech/techs/marine/tier2/orbital_ammo.dm b/code/modules/cm_tech/techs/marine/tier2/orbital_ammo.dm
index 303ea6121734..51675ccd27f2 100644
--- a/code/modules/cm_tech/techs/marine/tier2/orbital_ammo.dm
+++ b/code/modules/cm_tech/techs/marine/tier2/orbital_ammo.dm
@@ -7,8 +7,6 @@
tier = /datum/tier/two
- announce_name = "ALMAYER SPECIAL ASSETS AUTHORIZED"
-
var/type_to_give
/datum/tech/repeatable/ob/on_unlock()
diff --git a/code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm b/code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm
index acee904af305..06770b1d6afe 100644
--- a/code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm
+++ b/code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm
@@ -3,7 +3,6 @@
desc = "Wakes up an additional specialist to fight against any threats."
icon_state = "overshield"
- announce_name = "ALMAYER SPECIAL ASSETS AUTHORIZED"
announce_message = "An additional specialist is being taken out of cryo."
required_points = 8
diff --git a/code/modules/cm_tech/techs/marine/tier3/cryorine.dm b/code/modules/cm_tech/techs/marine/tier3/cryorine.dm
index 404fbd07c2ae..19200698db02 100644
--- a/code/modules/cm_tech/techs/marine/tier3/cryorine.dm
+++ b/code/modules/cm_tech/techs/marine/tier3/cryorine.dm
@@ -4,7 +4,6 @@
desc = "Wakes up additional troops to fight against any threats."
icon_state = "cryotroops"
- announce_name = "ALMAYER SPECIAL ASSETS AUTHORIZED"
announce_message = "Additional troops are being taken out of cryo."
required_points = 6
diff --git a/code/modules/cm_tech/trees/marine.dm b/code/modules/cm_tech/trees/marine.dm
index aae057b90198..046712f9656b 100644
--- a/code/modules/cm_tech/trees/marine.dm
+++ b/code/modules/cm_tech/trees/marine.dm
@@ -174,4 +174,4 @@ GLOBAL_LIST_EMPTY(tech_controls_marine)
return //No need to announce tier updates for tier 1
var/name = "ALMAYER DEFCON LEVEL INCREASED"
var/input = "THREAT ASSESSMENT LEVEL INCREASED TO LEVEL [tier.tier].\n\nLEVEL [tier.tier] assets have been authorised to handle the situation."
- marine_announcement(input, name, 'sound/AI/commandreport.ogg')
+ marine_announcement(input, name, 'sound/AI/commandreport.ogg', logging = ARES_LOG_NONE)
diff --git a/code/modules/defenses/defenses.dm b/code/modules/defenses/defenses.dm
index aedbad2d46e9..febe4901ae8a 100644
--- a/code/modules/defenses/defenses.dm
+++ b/code/modules/defenses/defenses.dm
@@ -97,11 +97,13 @@
if(!(placed||static))
return FALSE
+ msg_admin_niche("[key_name(usr)] turned on [src] at [get_location_in_text(src)] [ADMIN_JMP(loc)]")
turned_on = TRUE
power_on_action()
update_icon()
/obj/structure/machinery/defenses/proc/power_off()
+ msg_admin_niche("[key_name(usr)] turned off [src] at [get_location_in_text(src)] [ADMIN_JMP(loc)]")
turned_on = FALSE
power_off_action()
update_icon()
@@ -113,6 +115,7 @@
* @param selection: configuration value for category.
*/
/obj/structure/machinery/defenses/proc/update_choice(mob/user, category, selection)
+ msg_admin_niche("[key_name(user)] changed the [category] of [src] at [get_location_in_text(src)] to [selection] [ADMIN_JMP(loc)]")
if(category in selected_categories)
selected_categories[category] = selection
switch(category)
@@ -124,7 +127,6 @@
switch(category)
if("nickname")
nickname = selection
- message_admins("[key_name_admin(user)] has labelled structure to [nickname]", user.x, user.y, user.z)
return TRUE
return FALSE
diff --git a/code/modules/economy/EFTPOS.dm b/code/modules/economy/EFTPOS.dm
index ca73c2efb84f..ad6368328d01 100644
--- a/code/modules/economy/EFTPOS.dm
+++ b/code/modules/economy/EFTPOS.dm
@@ -198,7 +198,7 @@
transaction_locked = 0
transaction_paid = 0
else
- var/attempt_code = tgui_input_number(usr, "Enter EFTPOS access code", "Reset Transaction")
+ var/attempt_code = tgui_input_number(usr, "Enter EFTPOS access code", "Reset Transaction", 1000, 999999, 1000)
if(attempt_code == access_code)
transaction_locked = 0
transaction_paid = 0
@@ -234,7 +234,7 @@
var/attempt_pin = ""
var/datum/money_account/D = get_account(C.associated_account_number)
if(D.security_level)
- attempt_pin = tgui_input_number(usr, "Enter pin code", "EFTPOS transaction")
+ attempt_pin = tgui_input_number(usr, "Enter pin code", "EFTPOS transaction", 1111, 111111, 1111)
D = null
D = attempt_account_access(C.associated_account_number, attempt_pin, 2)
if(D)
diff --git a/code/modules/gear_presets/clf.dm b/code/modules/gear_presets/clf.dm
index 9c05ff8fa5fc..143a2271f00e 100644
--- a/code/modules/gear_presets/clf.dm
+++ b/code/modules/gear_presets/clf.dm
@@ -900,6 +900,54 @@
list("Whistle", 5, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR),
)
+/datum/equipment_preset/clf/synth/combat
+ name = "CLF Combat Synthetic"
+ flags = EQUIPMENT_PRESET_EXTRA
+
+/datum/equipment_preset/clf/synth/combat/load_skills(mob/living/carbon/human/new_human)
+ . = ..()
+ new_human.allow_gun_usage = TRUE
+
+/datum/equipment_preset/clf/synth/combat/load_gear(mob/living/carbon/human/new_human)
+ //back
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/engineerpack/ert, WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/roller, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar, WEAR_IN_BACK)
+ //face
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CLF/command(new_human), WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet/upp, WEAR_FACE)
+ if(new_human.disabilities & NEARSIGHTED)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES)
+ else
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES)
+ //head
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/jan, WEAR_HEAD)
+ //body
+ var/obj/item/clothing/under/colonist/clf/CLF = new()
+ var/obj/item/clothing/accessory/storage/webbing/webbing = new()
+ CLF.attach_accessory(new_human, webbing)
+ new_human.equip_to_slot_or_del(CLF, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40/extended, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40/extended, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40/extended, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/militia, WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40/extended, WEAR_IN_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40/extended, WEAR_IN_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/mar40/carbine, WEAR_J_STORE)
+ //waist
+ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/full/with_suture_and_graft, WEAR_WAIST)
+ new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer(new_human), WEAR_IN_BELT)
+ //limbs
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat, WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat, WEAR_FEET)
+ //pockets
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/synth, WEAR_L_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/construction/full_barbed_wire, WEAR_R_STORE)
+
//*****************************************************************************************************/
/datum/equipment_preset/clf/commander
diff --git a/code/modules/gear_presets/cmb.dm b/code/modules/gear_presets/cmb.dm
index 7bf6cbb8325d..d568e2838ae2 100644
--- a/code/modules/gear_presets/cmb.dm
+++ b/code/modules/gear_presets/cmb.dm
@@ -113,7 +113,7 @@
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/highpower, WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb, WEAR_J_STORE)
new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge/rubber, WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/large, WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/buckshot, WEAR_IN_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/buckshot, WEAR_IN_R_STORE)
diff --git a/code/modules/gear_presets/corpses.dm b/code/modules/gear_presets/corpses.dm
index cbe8bc0abce4..b8330e0e4c70 100644
--- a/code/modules/gear_presets/corpses.dm
+++ b/code/modules/gear_presets/corpses.dm
@@ -48,76 +48,12 @@
/datum/equipment_preset/corpse/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR)
add_random_survivor_equipment(new_human)
- add_survivor_weapon_civilian(new_human)
add_survivor_weapon_pistol(new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine(new_human), WEAR_FEET)
-
-//*****************************************************************************************************/
-
-/datum/equipment_preset/corpse/realpirate
- name = "Corpse - Pirate"
- access = list(
- ACCESS_CIVILIAN_PUBLIC,
- ACCESS_CIVILIAN_LOGISTICS,
- ACCESS_CIVILIAN_ENGINEERING,
- ACCESS_CIVILIAN_RESEARCH,
- ACCESS_CIVILIAN_BRIG,
- ACCESS_CIVILIAN_MEDBAY,
- ACCESS_CIVILIAN_COMMAND,
- ACCESS_ILLEGAL_PIRATE,
- )
-
-/datum/equipment_preset/corpse/realpirate/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/pirate(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch(new_human), WEAR_EYES)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/bandana(new_human), WEAR_HEAD)
//*****************************************************************************************************/
-/datum/equipment_preset/corpse/realpirate/ranged
- name = "Corpse - Pirate Gunner"
-
-/datum/equipment_preset/corpse/realpirate/ranged/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/pirate(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/pirate(new_human), WEAR_HEAD)
- . = ..()
-
-//*****************************************************************************************************/
-
-/datum/equipment_preset/corpse/russian
- name = "Corpse - Russian"
- access = list(
- ACCESS_CIVILIAN_PUBLIC,
- ACCESS_CIVILIAN_LOGISTICS,
- ACCESS_CIVILIAN_ENGINEERING,
- ACCESS_CIVILIAN_RESEARCH,
- ACCESS_CIVILIAN_BRIG,
- ACCESS_CIVILIAN_MEDBAY,
- ACCESS_CIVILIAN_COMMAND,
- )
-
-/datum/equipment_preset/corpse/russian
-
-/datum/equipment_preset/corpse/russian/load_gear(mob/living/carbon/human/new_human)
-
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/veteran/soviet_uniform_01(new_human), WEAR_BODY)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/soviet(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine(new_human), WEAR_WAIST)
- new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife(new_human), WEAR_FEET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS)
- if(prob(25))
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/bearpelt(new_human), WEAR_HEAD)
- else
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(new_human), WEAR_HEAD)
//*****************************************************************************************************/
// Civilians
@@ -127,16 +63,12 @@
assignment = "Prisoner"
/datum/equipment_preset/corpse/prisoner/load_gear(mob/living/carbon/human/new_human)
+ add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/color/orange(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(new_human), WEAR_FEET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(new_human), WEAR_FEET)
//*****************************************************************************************************/
@@ -146,105 +78,82 @@
access = list(ACCESS_CIVILIAN_PUBLIC)
/datum/equipment_preset/corpse/chef/load_gear(mob/living/carbon/human/new_human)
+ add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/chef/classic(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/storage/backpack(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
//*****************************************************************************************************/
/datum/equipment_preset/corpse/doctor
name = "Corpse - Doctor"
- assignment = "Medical Doctor"
+ assignment = "Doctor"
+ idtype = /obj/item/card/id/silver/clearance_badge
xenovictim = TRUE
access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_RESEARCH, ACCESS_CIVILIAN_MEDBAY)
/datum/equipment_preset/corpse/doctor/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR)
+ add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/med(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE)
- new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/med(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/chef/classic(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/chef/classic/medical(new_human), WEAR_JACKET)
add_random_survivor_medical_gear(new_human)
//*****************************************************************************************************/
/datum/equipment_preset/corpse/engineer
name = "Corpse - Engineer"
- assignment = "Station Engineer"
+ assignment = "Engineer"
xenovictim = TRUE
access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_LOGISTICS, ACCESS_CIVILIAN_ENGINEERING)
/datum/equipment_preset/corpse/engineer/load_gear(mob/living/carbon/human/new_human)
+ add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(new_human), WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding(new_human), WEAR_EYES)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/insulated(new_human), WEAR_HANDS)
- new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK)
-
-
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
- new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/lantern(new_human.back), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat(new_human), WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
//*****************************************************************************************************/
/datum/equipment_preset/corpse/scientist
name = "Corpse - Scientist"
assignment = "Scientist"
+ idtype = /obj/item/card/id/silver/clearance_badge/scientist
xenovictim = TRUE
- access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_LOGISTICS, ACCESS_CIVILIAN_ENGINEERING, ACCESS_CIVILIAN_RESEARCH, ACCESS_CIVILIAN_MEDBAY)
+ access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_LOGISTICS, ACCESS_CIVILIAN_RESEARCH, ACCESS_CIVILIAN_MEDBAY)
/datum/equipment_preset/corpse/scientist/load_gear(mob/living/carbon/human/new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/virologist(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/green(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/virologist(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/green(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/chem(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/green(new_human), WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/paper/research_notes/good(new_human), WEAR_IN_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/reagent_container/glass/beaker/vial/random/good(new_human), WEAR_IN_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science(new_human), WEAR_EYES)
- new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/chem(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/green(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector(new_human), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/paper/research_notes/good(new_human), WEAR_IN_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/reagent_container/glass/beaker/vial/random/good(new_human), WEAR_IN_JACKET)
//*****************************************************************************************************/
@@ -255,34 +164,32 @@
access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_LOGISTICS, ACCESS_CIVILIAN_ENGINEERING)
/datum/equipment_preset/corpse/miner/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS)
+ add_ice_colony_survivor_equipment(new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/miner(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/industrial(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/lantern(new_human), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/yellow(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/full(new_human), WEAR_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/orange(new_human), WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
//*****************************************************************************************************/
/datum/equipment_preset/corpse/security
name = "Corpse - Security"
- assignment = "Deputy"
+ assignment = "Security Officer"
xenovictim = TRUE
access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_BRIG, ACCESS_CIVILIAN_MEDBAY, ACCESS_CIVILIAN_COMMAND)
/datum/equipment_preset/corpse/security/load_gear(mob/living/carbon/human/new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/security/MP/full(new_human), WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
@@ -293,12 +200,13 @@
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
-
//*****************************************************************************************************/
-/datum/equipment_preset/corpse/security/marshal
- name = "Corpse - Colonial Marshal"
- assignment = "Colonial Marshal"
+/datum/equipment_preset/corpse/security/cmb
+ name = "Corpse - Colonial Marshal Deputy"
+ rank = JOB_CMB
+ paygrade = PAY_SHORT_CMBD
+ idtype = /obj/item/card/id/deputy
xenovictim = TRUE
access = list(
ACCESS_CIVILIAN_PUBLIC,
@@ -310,14 +218,10 @@
ACCESS_CIVILIAN_COMMAND,
)
-/datum/equipment_preset/corpse/security/marshal/load_gear(mob/living/carbon/human/new_human)
-
- new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR)
+/datum/equipment_preset/corpse/security/cmb/load_gear(mob/living/carbon/human/new_human)
+ add_ice_colony_survivor_equipment(new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/CMB(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/heavy(new_human), WEAR_WAIST)
@@ -327,19 +231,21 @@
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(new_human), WEAR_EYES)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/CMB(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
- new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
-
. = ..()
//*****************************************************************************************************/
-/datum/equipment_preset/corpse/security/liaison
+/datum/equipment_preset/corpse/liaison
name = "Corpse - Corporate Liaison"
- assignment = "Corporate Liaison"
+ assignment = JOB_EXECUTIVE
+ rank = JOB_EXECUTIVE
+ faction_group = FACTION_LIST_WY
+ paygrade = PAY_SHORT_WYC3
+ idtype = /obj/item/card/id/silver/clearance_badge/cl
xenovictim = TRUE
- paygrade = PAY_SHORT_WYC2
access = list(
+ ACCESS_WY_COLONIAL,
+ ACCESS_WY_EXEC,
ACCESS_CIVILIAN_PUBLIC,
ACCESS_CIVILIAN_LOGISTICS,
ACCESS_CIVILIAN_ENGINEERING,
@@ -349,29 +255,36 @@
ACCESS_CIVILIAN_COMMAND,
)
-/datum/equipment_preset/corpse/security/liaison/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/black(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET)
+/datum/equipment_preset/corpse/liaison/load_gear(mob/living/carbon/human/new_human)
+ var/random = rand(1,4)
+ add_ice_colony_survivor_equipment(new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/aviator(new_human), WEAR_EYES)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR)
- new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK)
add_random_cl_survivor_loot(new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/centcom(new_human), WEAR_FEET)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
+
+ switch(random)
+ if(1)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/blue(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET)
+ if(2)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/brown(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET)
+ if(3)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/corporate_formal(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET)
+ if(4)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/black(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET)
+
. = ..()
//*****************************************************************************************************/
-/datum/equipment_preset/corpse/prison_security
+/datum/equipment_preset/corpse/prison_guard
name = "Corpse - Prison Guard"
assignment = "Prison Guard"
access = list(
@@ -384,14 +297,12 @@
ACCESS_CIVILIAN_COMMAND,
)
-/datum/equipment_preset/corpse/prison_security/load_gear(mob/living/carbon/human/new_human)
-
+/datum/equipment_preset/corpse/prison_guard/load_gear(mob/living/carbon/human/new_human)
+ add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS)
@@ -400,11 +311,21 @@
//*****************************************************************************************************/
/////////////////Officers//////////////////////
-/datum/equipment_preset/corpse/bridgeofficer
- name = "Corpse - Staff Officer"
- idtype = /obj/item/card/id/general
- assignment = "Staff Officer"
+/datum/equipment_preset/corpse/manager
+ name = "Corpse - Colony Division Manager"
+ assignment = "Colonial Division Manager"
+ rank = JOB_DIVISION_MANAGER
+ faction_group = FACTION_LIST_WY
+ paygrade = PAY_SHORT_WYC8
access = list(
+ ACCESS_WY_GENERAL,
+ ACCESS_WY_COLONIAL,
+ ACCESS_WY_MEDICAL,
+ ACCESS_WY_SECURITY,
+ ACCESS_WY_ENGINEERING,
+ ACCESS_WY_FLIGHT,
+ ACCESS_WY_RESEARCH,
+ ACCESS_WY_EXEC,
ACCESS_CIVILIAN_PUBLIC,
ACCESS_CIVILIAN_LOGISTICS,
ACCESS_CIVILIAN_ENGINEERING,
@@ -414,23 +335,25 @@
ACCESS_CIVILIAN_COMMAND,
)
-/datum/equipment_preset/corpse/bridgeofficer/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
+/datum/equipment_preset/corpse/manager/load_gear(mob/living/carbon/human/new_human)
+ add_ice_colony_survivor_equipment(new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/ivy(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/bulletproof(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(new_human), WEAR_EYES)
//*****************************************************************************************************/
-/datum/equipment_preset/corpse/bridgeofficer/johnson
- name = "Corpse - Mr. Johnson Telovin"
- idtype = /obj/item/card/id/general
- assignment = "Bridge Officer"
- uses_special_name = TRUE
- paygrade = PAY_SHORT_WYC2
+
+/datum/equipment_preset/corpse/administrator
+ name = "Corpse - Colony Administrator"
+ assignment = "Colonial Administrator"
+ rank = JOB_DIRECTOR
+ faction_group = FACTION_LIST_WY
+ paygrade = PAY_SHORT_WYC10
+ idtype = /obj/item/card/id/silver/cl
access = list(
ACCESS_CIVILIAN_PUBLIC,
ACCESS_CIVILIAN_LOGISTICS,
@@ -439,52 +362,40 @@
ACCESS_CIVILIAN_BRIG,
ACCESS_CIVILIAN_MEDBAY,
ACCESS_CIVILIAN_COMMAND,
+ ACCESS_WY_GENERAL,
+ ACCESS_WY_COLONIAL,
ACCESS_WY_MEDICAL,
- ACCESS_WY_ENGINEERING,
ACCESS_WY_SECURITY,
+ ACCESS_WY_ENGINEERING,
+ ACCESS_WY_FLIGHT,
+ ACCESS_WY_RESEARCH,
+ ACCESS_WY_EXEC,
+ ACCESS_WY_PMC,
+ ACCESS_WY_PMC_TL,
+ ACCESS_WY_ARMORY,
+ ACCESS_WY_SECRETS,
ACCESS_WY_LEADERSHIP,
- ACCESS_WY_COLONIAL,
- ACCESS_WY_GENERAL,
- )
-
-/datum/equipment_preset/corpse/bridgeofficer/johnson/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/waiter(new_human), WEAR_BODY)
- . = ..()
-
-/datum/equipment_preset/corpse/bridgeofficer/johnson/load_name(mob/living/carbon/human/new_human, randomise)
- new_human.change_real_name(new_human, "Johnson Telovin")
-
-//*****************************************************************************************************/
-
-/datum/equipment_preset/corpse/commander
- name = "Corpse - Commanding Officer"
- idtype = /obj/item/card/id/general
- assignment = "Commanding Officer"
- access = list(
- ACCESS_CIVILIAN_PUBLIC,
- ACCESS_CIVILIAN_LOGISTICS,
- ACCESS_CIVILIAN_ENGINEERING,
- ACCESS_CIVILIAN_RESEARCH,
- ACCESS_CIVILIAN_BRIG,
- ACCESS_CIVILIAN_MEDBAY,
- ACCESS_CIVILIAN_COMMAND,
+ ACCESS_WY_SENIOR_LEAD,
)
-/datum/equipment_preset/corpse/commander/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_commander(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
+/datum/equipment_preset/corpse/administrator/load_gear(mob/living/carbon/human/new_human)
+ add_ice_colony_survivor_equipment(new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/ivy(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/bulletproof(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch(new_human), WEAR_EYES)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp78(new_human), WEAR_WAIST)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(new_human), WEAR_EYES)
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette/cigar/cohiba(new_human), WEAR_FACE)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/centhat(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(new_human), WEAR_HANDS)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/swat(new_human), WEAR_FEET)
- new_human.equip_to_slot_or_del(new /obj/item/tool/lighter/zippo(new_human), WEAR_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/tool/lighter/zippo/executive(new_human), WEAR_R_STORE)
add_random_cl_survivor_loot(new_human)
+/datum/equipment_preset/corpse/administrator/burst
+ name = "Corpse - Burst Colony Administrator"
+ xenovictim = TRUE
+
//*****************************************************************************************************/
/datum/equipment_preset/corpse/wysec
@@ -505,52 +416,37 @@
)
/datum/equipment_preset/corpse/wysec/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/formal/servicedress(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
+ add_ice_colony_survivor_equipment(new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/white_service(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+//*****************************************************************************************************/
-/////Actually specific colonists
+//Colonists
/datum/equipment_preset/corpse/colonist
name = "Corpse - Colonist"
- assignment = JOB_COLONIST
- xenovictim = FALSE
- rank = JOB_COLONIST
- faction = FACTION_COLONIST
- access = list(ACCESS_CIVILIAN_PUBLIC)
- idtype = /obj/item/card/id/lanyard
/datum/equipment_preset/colonist/load_gear(mob/living/carbon/human/new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(new_human), WEAR_BACK)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine(new_human), WEAR_FEET)
/datum/equipment_preset/corpse/colonist/burst
name = "Corpse - Burst Colonist"
xenovictim = TRUE
+//*****************************************************************************************************/
+
/datum/equipment_preset/corpse/colonist/random
name = "Corpse - Colonist Random"
- assignment = JOB_COLONIST
- xenovictim = FALSE
- rank = JOB_COLONIST
- faction = FACTION_COLONIST
- access = list(ACCESS_CIVILIAN_PUBLIC)
- idtype = /obj/item/card/id/lanyard
/datum/equipment_preset/corpse/colonist/random/load_gear(mob/living/carbon/human/new_human)
var/random_surv_type = pick(SSmapping.configs[GROUND_MAP].survivor_types)
@@ -561,14 +457,10 @@
name = "Corpse - Burst Colonist Random"
xenovictim = TRUE
+//*****************************************************************************************************/
+
/datum/equipment_preset/corpse/colonist/kutjevo
name = "Corpse - Colonist Kutjevo"
- assignment = JOB_COLONIST
- xenovictim = FALSE
- rank = JOB_COLONIST
- faction = FACTION_COLONIST
- access = list(ACCESS_CIVILIAN_PUBLIC)
- idtype = /obj/item/card/id/lanyard
/datum/equipment_preset/corpse/colonist/kutjevo/load_gear(mob/living/carbon/human/new_human)
@@ -578,18 +470,20 @@
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine(new_human), WEAR_FEET)
/datum/equipment_preset/corpse/colonist/kutjevo/burst
name = "Corpse - Burst Colonist Kutjevo"
xenovictim = TRUE
-//UA riot control dudes
+//*****************************************************************************************************/
+
+//UA Riot Control Officer
+
/datum/equipment_preset/corpse/ua_riot
name = "Corpse - UA Officer"
assignment = "United Americas Riot Officer"
idtype = /obj/item/card/id/silver
- xenovictim = FALSE
access = list(
ACCESS_CIVILIAN_PUBLIC,
ACCESS_CIVILIAN_LOGISTICS,
@@ -602,24 +496,23 @@
/datum/equipment_preset/corpse/ua_riot/load_gear(mob/living/carbon/human/new_human)
var/random = rand(1,5)
+ add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/ua_riot(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec, WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/ua_riot(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/ua_riot(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/pmc(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/prop/helmetgarb/riot_shield(new_human), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/weapon/classic_baton(new_human), WEAR_WAIST)
switch(random)
if(1)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/security, WEAR_EYES)
- if(2)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(new_human), WEAR_EYES)
+ if(2)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big(new_human), WEAR_EYES)
if(3)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/aviator(new_human), WEAR_EYES)
if(4)
@@ -632,18 +525,18 @@
name = "Corpse - Burst UA Officer"
xenovictim = TRUE
-//Colonial Supervisor Corpse
+//*****************************************************************************************************/
+
+//Colonial Supervisor
/datum/equipment_preset/corpse/wy/manager
name = "Corpse - Corporate Supervisor"
+ assignment = "Colony Supervisor"
flags = EQUIPMENT_PRESET_EXTRA
paygrade = PAY_SHORT_WYC6
- assignment = "Colony Supervisor"
- role_comm_title = "Supervisor"
rank = FACTION_WY
idtype = /obj/item/card/id/silver/clearance_badge/manager
faction_group = FACTION_LIST_WY
- languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE)
access = list(
ACCESS_WY_GENERAL,
ACCESS_WY_COLONIAL,
@@ -657,35 +550,33 @@
)
/datum/equipment_preset/corpse/wy/manager/load_gear(mob/living/carbon/human/new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket/manager(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable/liaison, WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable/liaison(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/manager(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY, WEAR_L_EAR)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/dress, WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/manager(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp78(new_human), WEAR_WAIST)
- new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/full(new_human), WEAR_R_STORE)
add_random_cl_survivor_loot(new_human)
-
/datum/equipment_preset/corpse/wy/manager/burst
name = "Corpse - Burst Corporate Supervisor"
xenovictim = TRUE
+//*****************************************************************************************************/
+
//Faction Specific Corpses
+//CLF
+
/datum/equipment_preset/corpse/clf
name = "Corpse - Colonial Liberation Front Soldier"
- assignment = "Colonial Liberation Front Soldier"
- idtype = /obj/item/card/id/silver
- xenovictim = FALSE
+ assignment = JOB_CLF
+ idtype = /obj/item/card/id/data
+ rank = JOB_CLF
faction = FACTION_CLF
/datum/equipment_preset/corpse/clf/New()
@@ -715,12 +606,16 @@
name = "Corpse - Burst Colonial Liberation Front Soldier"
xenovictim = TRUE
-// UPP
+//*****************************************************************************************************/
+
+//UPP
+
/datum/equipment_preset/corpse/upp
name = "Corpse - Union of Progressive Peoples Soldier"
- assignment = "Union of Progressive Peoples Soldier"
- idtype = /obj/item/card/id/silver
- xenovictim = FALSE
+ assignment = JOB_UPP
+ idtype = /obj/item/card/id/dogtag
+ paygrade = PAY_SHORT_UE2
+ rank = JOB_UPP
faction = FACTION_UPP
/datum/equipment_preset/corpse/upp/New()
@@ -728,18 +623,14 @@
access = get_access(ACCESS_LIST_EMERGENCY_RESPONSE) + get_access(ACCESS_LIST_COLONIAL_ALL)
/datum/equipment_preset/corpse/upp/load_gear(mob/living/carbon/human/new_human)
-
- new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP, WEAR_L_EAR)
- //head
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/UPP, WEAR_HEAD)
- //body
var/obj/item/clothing/under/marine/veteran/UPP/UPP = new()
new_human.equip_to_slot_or_del(UPP, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP, WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/UPP, WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET)
- //limbs
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS)
add_random_survivor_equipment(new_human)
if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
@@ -749,7 +640,9 @@
name = "Corpse - Burst Union of Progressive Peoples Soldier"
xenovictim = TRUE
-// PMC
+//*****************************************************************************************************/
+
+//PMC
/datum/equipment_preset/corpse/pmc
name = "Corpse - Weyland-Yutani PMC (Standard)"
@@ -760,8 +653,6 @@
rank = JOB_PMC_STANDARD
paygrade = PAY_SHORT_PMC_OP
idtype = /obj/item/card/id/pmc
- skills = /datum/skills/civilian/survivor/pmc
- languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE)
access = list(
ACCESS_CIVILIAN_PUBLIC,
ACCESS_CIVILIAN_LOGISTICS,
@@ -795,16 +686,19 @@
name = "Corpse - Burst Weyland-Yutani PMC (Standard)"
xenovictim = TRUE
+//*****************************************************************************************************/
+
+//Goon
+
/datum/equipment_preset/corpse/pmc/goon
name = "Corpse - Weyland-Yutani Corporate (Goon)"
languages = list(LANGUAGE_ENGLISH)
assignment = JOB_WY_GOON
rank = JOB_WY_GOON
paygrade = PAY_SHORT_CPO
- skills = /datum/skills/MP
/datum/equipment_preset/corpse/pmc/goon/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress, WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY, WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/pmc/corporate, WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/pmc/light/corporate, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS)
@@ -817,6 +711,10 @@
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88_near_empty, WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE)
+//*****************************************************************************************************/
+
+//Lead Goon
+
/datum/equipment_preset/corpse/pmc/goon/lead
name = "Corpse - Weyland-Yutani Corporate Security Lead (Goon Lead)"
flags = EQUIPMENT_PRESET_EXTRA
@@ -825,7 +723,7 @@
paygrade = PAY_SHORT_CSPO
/datum/equipment_preset/corpse/pmc/goon/lead/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress, WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY, WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/pmc/corporate/lead, WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/pmc/light/corporate/lead, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS)
@@ -838,20 +736,26 @@
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88_near_empty, WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE)
-// Freelancer
+/datum/equipment_preset/corpse/pmc/goon/lead/burst
+ name = "Corpse - Burst Weyland-Yutani Corporate Security Lead (Goon Lead)"
+ xenovictim = TRUE
+
+//*****************************************************************************************************/
+
+//Freelancer
/datum/equipment_preset/corpse/freelancer
- name = "Corpse - Freelancer Mercenary"
- assignment = "Freelancer Mercenary"
- idtype = /obj/item/card/id/silver
- xenovictim = FALSE
+ name = "Corpse - Freelancer"
+ paygrade = PAY_SHORT_FL_S
+ rank = FACTION_FREELANCER
+ idtype = /obj/item/card/id/data
+ faction = FACTION_FREELANCER
/datum/equipment_preset/corpse/freelancer/New()
. = ..()
access = get_access(ACCESS_LIST_EMERGENCY_RESPONSE) + get_access(ACCESS_LIST_COLONIAL_ALL)
/datum/equipment_preset/corpse/freelancer/load_gear(mob/living/carbon/human/new_human)
-
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/freelancer, WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/freelancer, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET)
@@ -865,12 +769,83 @@
spawn_merc_helmet(new_human)
/datum/equipment_preset/corpse/freelancer/burst
- name = "Corpse - Burst Freelancer Mercenary"
+ name = "Corpse - Burst Freelancer"
xenovictim = TRUE
-// Fun Faction Corpse
+//*****************************************************************************************************/
+
+//Fun Faction Corpses
+
+//Pirates
+
+/datum/equipment_preset/corpse/realpirate
+ name = "Corpse - Pirate"
+ access = list(
+ ACCESS_CIVILIAN_PUBLIC,
+ ACCESS_CIVILIAN_LOGISTICS,
+ ACCESS_CIVILIAN_ENGINEERING,
+ ACCESS_CIVILIAN_RESEARCH,
+ ACCESS_CIVILIAN_BRIG,
+ ACCESS_CIVILIAN_MEDBAY,
+ ACCESS_CIVILIAN_COMMAND,
+ ACCESS_ILLEGAL_PIRATE,
+ )
+
+/datum/equipment_preset/corpse/realpirate/load_gear(mob/living/carbon/human/new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/pirate(new_human), WEAR_BODY)
+ if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
+ add_ice_colony_survivor_equipment(new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch(new_human), WEAR_EYES)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/bandana(new_human), WEAR_HEAD)
+
+//*****************************************************************************************************/
+
+/datum/equipment_preset/corpse/realpirate/ranged
+ name = "Corpse - Pirate Gunner"
+
+/datum/equipment_preset/corpse/realpirate/ranged/load_gear(mob/living/carbon/human/new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/pirate(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/pirate(new_human), WEAR_HEAD)
+ . = ..()
+
+//*****************************************************************************************************/
+
+//Russian(?)
+
+/datum/equipment_preset/corpse/russian
+ name = "Corpse - Russian"
+ access = list(
+ ACCESS_CIVILIAN_PUBLIC,
+ ACCESS_CIVILIAN_LOGISTICS,
+ ACCESS_CIVILIAN_ENGINEERING,
+ ACCESS_CIVILIAN_RESEARCH,
+ ACCESS_CIVILIAN_BRIG,
+ ACCESS_CIVILIAN_MEDBAY,
+ ACCESS_CIVILIAN_COMMAND,
+ )
+
+/datum/equipment_preset/corpse/russian
-// Dutch Dozen
+/datum/equipment_preset/corpse/russian/load_gear(mob/living/carbon/human/new_human)
+
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/veteran/soviet_uniform_01(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/soviet(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine(new_human), WEAR_WAIST)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS)
+ if(prob(25))
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/bearpelt(new_human), WEAR_HEAD)
+ else
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(new_human), WEAR_HEAD)
+
+//*****************************************************************************************************/
+
+//Dutch Dozen
/datum/equipment_preset/corpse/dutchrifle
name = "Corpse - Dutch Dozen Rifleman"
@@ -901,7 +876,9 @@
name = "Corpse - Burst Dutch Dozen Rifleman"
xenovictim = TRUE
-// Pizza Planet
+//*****************************************************************************************************/
+
+//Pizza Planet
/datum/equipment_preset/corpse/pizza
name = "Corpse - Pizza Deliverer"
@@ -915,12 +892,9 @@
access = get_access(ACCESS_LIST_DELIVERY)
/datum/equipment_preset/corpse/pizza/load_gear(mob/living/carbon/human/new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/pizza, WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- else
- new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/red, WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/red, WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel, WEAR_BACK)
@@ -940,7 +914,9 @@
name = "Corpse - Burst Pizza Deliverer"
xenovictim = TRUE
-// Gladiator
+//*****************************************************************************************************/
+
+//Gladiator
/datum/equipment_preset/corpse/gladiator
name = "Corpse - Gladiator"
@@ -978,6 +954,7 @@
name = "Corpse - Burst Gladiator"
xenovictim = TRUE
+//*****************************************************************************************************/
//FORECON
diff --git a/code/modules/gear_presets/survivors/corsat/preset_corsat.dm b/code/modules/gear_presets/survivors/corsat/preset_corsat.dm
index fa20b22a3290..9583c73a92e2 100644
--- a/code/modules/gear_presets/survivors/corsat/preset_corsat.dm
+++ b/code/modules/gear_presets/survivors/corsat/preset_corsat.dm
@@ -4,7 +4,7 @@
languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE)
/datum/equipment_preset/survivor/security/corsat/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/formal/servicedress(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/white_service(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET)
diff --git a/code/modules/gear_presets/survivors/fiorina_sciannex/preset_fiorina_sciannex.dm b/code/modules/gear_presets/survivors/fiorina_sciannex/preset_fiorina_sciannex.dm
index 248c1a00d353..873ade0aefc8 100644
--- a/code/modules/gear_presets/survivors/fiorina_sciannex/preset_fiorina_sciannex.dm
+++ b/code/modules/gear_presets/survivors/fiorina_sciannex/preset_fiorina_sciannex.dm
@@ -4,14 +4,14 @@
assignment = "Fiorina Researcher"
/datum/equipment_preset/survivor/scientist/fiorina/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/purple(new_human), WEAR_BODY)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/purple(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/science(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/pink(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc/leader(new_human), WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/researcher(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science(new_human), WEAR_EYES)
- new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/chem(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/tox(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
..()
@@ -20,7 +20,7 @@
assignment = "Fiorina Doctor"
/datum/equipment_preset/survivor/doctor/fiorina/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/lightblue(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc(new_human), WEAR_HEAD)
..()
@@ -29,11 +29,12 @@
assignment = "Fiorina Prison Guard"
/datum/equipment_preset/survivor/security/fiorina/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/black(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge(new_human), WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/sec/corp(new_human), WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
..()
@@ -48,7 +49,7 @@
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/ua_riot(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/prop/helmetgarb/riot_shield(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
..()
@@ -57,7 +58,7 @@
assignment = "Fiorina Engineer"
/datum/equipment_preset/survivor/engineer/fiorina/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/color/white(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/khaki(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/apron/overalls(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
diff --git a/code/modules/gear_presets/survivors/fiorina_sciannex/riot_in_progress_insert_fiorina_nightmare.dm b/code/modules/gear_presets/survivors/fiorina_sciannex/riot_in_progress_insert_fiorina_nightmare.dm
new file mode 100644
index 000000000000..657439a13f50
--- /dev/null
+++ b/code/modules/gear_presets/survivors/fiorina_sciannex/riot_in_progress_insert_fiorina_nightmare.dm
@@ -0,0 +1,276 @@
+// loadouts for riot_in_progress.dmm nightmare, thematic survivor preset.
+
+/datum/equipment_preset/survivor/cmb
+ name = "Survivor - Colonial Marshal"
+ faction = FACTION_MARSHAL
+ faction_group = list(FACTION_MARSHAL, FACTION_MARINE, FACTION_SURVIVOR)
+ languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE)
+ var/human_versus_human = FALSE
+ access = list(
+ ACCESS_LIST_UA,
+ )
+
+//*************************************************CMB****************************************************/
+
+/datum/equipment_preset/survivor/cmb/standard
+ name = "Survivor - Colonial Marshal Deputy(Riot Response)"
+ paygrade = PAY_SHORT_CMBD
+ role_comm_title = "CMB DEP"
+ flags = EQUIPMENT_PRESET_EXTRA
+ assignment = "CMB Deputy"
+ rank = JOB_CMB
+ skills = /datum/skills/cmb
+
+/datum/equipment_preset/survivor/cmb/standard/load_gear(mob/living/carbon/human/new_human)
+
+ var/choice = rand(1,10)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited, WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette, WEAR_FACE)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/CMB, WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/holdout, WEAR_IN_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/m15/rubber, WEAR_IN_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/security/MP/CMB/full, WEAR_WAIST)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/CMB, WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud, WEAR_EYES)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/survival/full, WEAR_L_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec, WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/holdout, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/flashlight, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/camera, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/taperecorder, WEAR_IN_BACK)
+
+ switch(choice)
+ if(1 to 6)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/revolver/cmb, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb, WEAR_J_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun, WEAR_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/buckshot, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE)
+ if(7 to 8)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/highpower, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/highpower, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/highpower, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb, WEAR_J_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge/rubber, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun, WEAR_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/buckshot, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE)
+ if(9 to 10)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/revolver/cmb, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/mp5, WEAR_J_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector, WEAR_L_HAND)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine, WEAR_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/mp5, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/mp5, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/mp5, WEAR_IN_R_STORE)
+
+// cmb synth
+/datum/equipment_preset/synth/survivor/cmb/synth
+ name = "Survivor - Synthetic - CMB Investigative Synthetic(Riot Response)"
+ paygrade = PAY_SHORT_CMBS
+ idtype = /obj/item/card/id/deputy
+ role_comm_title = "CMB Syn"
+ flags = EQUIPMENT_PRESET_EXTRA
+ assignment = "CMB Investigative Synthetic"
+ rank = JOB_CMB_SYN
+ languages = ALL_SYNTH_LANGUAGES
+ skills = /datum/skills/synthetic/cmb
+
+/datum/equipment_preset/synth/survivor/cmb/synth/load_race(mob/living/carbon/human/new_human)
+ new_human.set_species(SYNTH_COLONY)
+
+/datum/equipment_preset/synth/survivor/cmb/synth/load_gear(mob/living/carbon/human/new_human)
+ //backpack
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/security, WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/autopsy_scanner, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge/rubber, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/camera, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/taperecorder, WEAR_IN_BACK)
+ //face
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited, WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/pen, WEAR_R_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud, WEAR_EYES)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/CMB, WEAR_HEAD)
+ //uniform
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/droppouch, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/upgraded, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/candy, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pill_bottle/imidazoline, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/CMB, WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator, WEAR_IN_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/telebaton, WEAR_IN_JACKET)
+ //belt
+ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/security/MP/CMB/synth, WEAR_WAIST)
+ //holding
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS)
+ //pouches
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/survival/synth/full, WEAR_L_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/tactical, WEAR_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/tool/screwdriver/tactical, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/tool/wirecutters/tactical, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/tool/wrench, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/device/multitool, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/stack/cable_coil, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/tool/weldingtool/hugetank, WEAR_IN_R_STORE)
+
+//************************************************UA RIOT POLICE****************************************************/
+
+/datum/equipment_preset/survivor/cmb/ua
+ name = "Survivor - United Americas Riot Officer(Riot Response)"
+ paygrade = PAY_SHORT_CPO
+ role_comm_title = "UA RCP"
+ flags = EQUIPMENT_PRESET_EXTRA
+ assignment = "United Americas Police Officer"
+ skills = /datum/skills/civilian/survivor/marshal
+ idtype = /obj/item/card/id/silver
+
+/datum/equipment_preset/survivor/cmb/ua/load_gear(mob/living/carbon/human/new_human)
+
+ var/choice = rand(1,10)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited, WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/ua_riot, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/ua_riot, WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/ua_riot, WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/prop/helmetgarb/riot_shield, WEAR_IN_HELMET)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec, WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/flashlight, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/security/MP/full, WEAR_WAIST)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine, WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots, WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud, WEAR_EYES)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/survival/full, WEAR_L_STORE)
+
+ switch(choice)
+ if(1 to 6)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/b92fs, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/b92fs, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/b92fs, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m16, WEAR_J_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine, WEAR_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m16, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m16, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/classic_baton, WEAR_R_HAND)
+ if(7)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/highpower, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/highpower, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/highpower, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/combat/riot, WEAR_J_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun, WEAR_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/classic_baton, WEAR_R_HAND)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/shield/riot, WEAR_L_HAND)
+ if(8)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/m4a3, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/rubber, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/launcher/grenade/m81/riot, WEAR_J_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/explosive, WEAR_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/slug/baton, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/slug/baton, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/slug/baton, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/slug/baton, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_R_STORE)
+ if(9 to 10)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/highpower/black, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/highpower, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/highpower, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge/rubber, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/mp5, WEAR_J_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector, WEAR_L_HAND)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine, WEAR_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/mp5, WEAR_IN_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/mp5, WEAR_IN_R_STORE)
+
+// ua synth
+/datum/equipment_preset/synth/survivor/cmb/ua_synth
+ name = "Survivor - Synthetic - UA Police Synthetic(Riot Response)"
+ paygrade = PAY_SHORT_CMBS
+ role_comm_title = "UA Syn"
+ flags = EQUIPMENT_PRESET_EXTRA
+ assignment = "UA Police Synthetic"
+ languages = ALL_SYNTH_LANGUAGES
+ skills = /datum/skills/colonial_synthetic
+ idtype = /obj/item/card/id/silver
+
+/datum/equipment_preset/synth/survivor/cmb/ua_synth/load_race(mob/living/carbon/human/new_human)
+ new_human.set_species(SYNTH_COLONY)
+
+/datum/equipment_preset/synth/survivor/cmb/ua_synth/load_gear(mob/living/carbon/human/new_human)
+ //backpack
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec, WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/baton_slug, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m16, WEAR_IN_BACK)
+ //face
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited, WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/pen, WEAR_R_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud, WEAR_EYES)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/ua_riot, WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/prop/helmetgarb/riot_shield, WEAR_IN_HELMET)
+ //uniform
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/ua_riot, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/droppouch, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/box/flashbangs, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/ua_riot/synth, WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/telebaton, WEAR_IN_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang, WEAR_IN_JACKET)
+ //belt
+ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/security/MP/full/synth, WEAR_WAIST)
+ //holding
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine, WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots, WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/classic_baton, WEAR_R_HAND)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/shield/riot, WEAR_L_HAND)
+ //pouches
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/survival/synth/full, WEAR_L_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/full, WEAR_R_STORE)
diff --git a/code/modules/gear_presets/survivors/kutjevo/preset_kutjevo.dm b/code/modules/gear_presets/survivors/kutjevo/preset_kutjevo.dm
index 8a9161f1802a..eb04cbd5a94e 100644
--- a/code/modules/gear_presets/survivors/kutjevo/preset_kutjevo.dm
+++ b/code/modules/gear_presets/survivors/kutjevo/preset_kutjevo.dm
@@ -5,9 +5,10 @@
/datum/equipment_preset/survivor/engineer/kutjevo/load_gear(mob/living/carbon/human/new_human)
add_random_kutjevo_survivor_uniform(new_human)
add_random_kutjevo_survivor_equipment(new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/black(new_human), WEAR_JACKET)
..()
/datum/equipment_preset/survivor/chaplain/kutjevo
@@ -17,7 +18,7 @@
/datum/equipment_preset/survivor/chaplain/kutjevo/load_gear(mob/living/carbon/human/new_human)
add_random_kutjevo_survivor_uniform(new_human)
add_random_kutjevo_survivor_equipment(new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS)
..()
@@ -31,9 +32,8 @@
add_random_kutjevo_survivor_uniform(new_human)
add_random_kutjevo_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/corporate(new_human), WEAR_FEET)
..()
/datum/equipment_preset/survivor/doctor/kutjevo
@@ -47,8 +47,8 @@
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES)
add_random_kutjevo_survivor_uniform(new_human)
add_random_kutjevo_survivor_equipment(new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS)
..()
/datum/equipment_preset/survivor/colonial_marshal/kutjevo
@@ -58,7 +58,7 @@
/datum/equipment_preset/survivor/colonial_marshal/kutjevo/load_gear(mob/living/carbon/human/new_human)
add_random_kutjevo_survivor_uniform(new_human)
add_random_kutjevo_survivor_equipment(new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR)
..()
@@ -69,8 +69,7 @@
/datum/equipment_preset/survivor/trucker/kutjevo/load_gear(mob/living/carbon/human/new_human)
add_random_kutjevo_survivor_uniform(new_human)
add_random_kutjevo_survivor_equipment(new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
-
..()
diff --git a/code/modules/gear_presets/survivors/lv_522/forcon_survivors.dm b/code/modules/gear_presets/survivors/lv_522/forcon_survivors.dm
index c4e08af9dcfa..4e9ab770fb2f 100644
--- a/code/modules/gear_presets/survivors/lv_522/forcon_survivors.dm
+++ b/code/modules/gear_presets/survivors/lv_522/forcon_survivors.dm
@@ -13,6 +13,12 @@
ACCESS_CIVILIAN_LOGISTICS,
)
+ dress_shoes = list(/obj/item/clothing/shoes/dress)
+ dress_gloves = list(/obj/item/clothing/gloves/marine/dress)
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover)
+
/datum/equipment_preset/survivor/forecon/load_gear(mob/living/carbon/human/new_human)
var/obj/item/clothing/under/marine/reconnaissance/uniform = new()
var/obj/item/clothing/accessory/storage/droppouch/pouch = new()
@@ -210,6 +216,10 @@
skills = /datum/skills/military/survivor/forecon_squad_leader
paygrade = PAY_SHORT_MO1
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer)
+
/datum/equipment_preset/survivor/forecon/squad_leader/load_gear(mob/living/carbon/human/new_human)
var/obj/item/clothing/under/marine/reconnaissance/uniform = new()
var/obj/item/clothing/accessory/storage/droppouch/pouch = new()
@@ -238,6 +248,10 @@
idtype = /obj/item/card/id/gold
role_comm_title = "FORECON CO"
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer)
+
/datum/equipment_preset/survivor/forecon/major/load_gear(mob/living/carbon/human/new_human)
var/obj/item/clothing/under/marine/reconnaissance/uniform = new()
var/obj/item/clothing/accessory/storage/droppouch/pouch = new()
@@ -264,7 +278,7 @@
//----------------------\\
/datum/equipment_preset/synth/survivor/forecon
- name = "Survivor - USCM Synthetic"
+ name = "Survivor - Synthetic - FORECON Synth"
assignment = JOB_FORECON_SYN
faction_group = list(FACTION_MARINE, FACTION_SURVIVOR)
idtype = /obj/item/card/id/gold
diff --git a/code/modules/gear_presets/survivors/lv_624/preset_lv.dm b/code/modules/gear_presets/survivors/lv_624/preset_lv.dm
index 4e51adf5df7f..a56432b80b89 100644
--- a/code/modules/gear_presets/survivors/lv_624/preset_lv.dm
+++ b/code/modules/gear_presets/survivors/lv_624/preset_lv.dm
@@ -3,24 +3,25 @@
assignment = "LV-624 Archeologist"
/datum/equipment_preset/survivor/scientist/lv/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/researcher(new_human), WEAR_BODY)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie(new_human), WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/blue(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/utility_vest(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie/tan(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science(new_human), WEAR_EYES)
+ new_human.equip_to_slot_or_del(new /obj/item/tool/shovel/spade(new_human), WEAR_L_HAND)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/aviator(new_human), WEAR_EYES)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup/brown(new_human), WEAR_FEET)
..()
/datum/equipment_preset/survivor/colonial_marshal/lv
- name = "Survivor - LV-624 Head of Security"
- assignment = "LV-624 Head of Security"
+ name = "Survivor - LV-624 Colonial Marshal Deputy"
+ assignment = "CMB Deputy"
/datum/equipment_preset/survivor/colonial_marshal/lv/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_security/navyblue(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/sec/hos(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/CMB(new_human), WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc(new_human), WEAR_FEET)
..()
/datum/equipment_preset/survivor/trucker/lv
@@ -28,9 +29,11 @@
assignment = "LV-624 Cargo Technician"
/datum/equipment_preset/survivor/trucker/lv/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargo(new_human), WEAR_BODY)
+ var/obj/item/clothing/under/colonist/workwear/khaki/uniform = new()
+ uniform.roll_suit_jacket(new_human)
+ new_human.equip_to_slot_or_del(uniform, WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/meson(new_human), WEAR_EYES)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/yellow(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
..()
@@ -62,8 +65,13 @@
assignment = "LV-624 Emergency Medical Technician"
/datum/equipment_preset/survivor/doctor/lv/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(new_human), WEAR_BODY)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE)
+ var/obj/item/clothing/under/colonist/workwear/blue/uniform = new()
+ uniform.roll_suit_jacket(new_human)
+ new_human.equip_to_slot_or_del(uniform, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/stethoscope(new_human), WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/windbreaker/windbreaker_fr(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/blue(new_human), WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/roller(new_human), WEAR_L_HAND)
new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv(new_human.back), WEAR_IN_BACK)
..()
@@ -73,12 +81,12 @@
languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE)
/datum/equipment_preset/survivor/security/lv/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/formal/servicedress(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/white_service(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/jungle(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/corporate(new_human), WEAR_FEET)
..()
/datum/equipment_preset/survivor/corporate/lv
@@ -92,5 +100,5 @@
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/prescription(new_human), WEAR_EYES)
else
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(new_human), WEAR_EYES)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
..()
diff --git a/code/modules/gear_presets/survivors/misc.dm b/code/modules/gear_presets/survivors/misc.dm
index 7a845e96b2aa..5b010a8cb8ea 100644
--- a/code/modules/gear_presets/survivors/misc.dm
+++ b/code/modules/gear_presets/survivors/misc.dm
@@ -19,14 +19,13 @@ Everything below isn't used or out of place.
/datum/equipment_preset/survivor/prisoner/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/color/orange(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
- if(prob(50)) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(new_human), WEAR_HEAD)
+ if(prob(50)) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/riot(new_human), WEAR_HEAD)
if(prob(50)) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human.back), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/medium(new_human), WEAR_R_STORE)
add_survivor_weapon_civilian(new_human)
+ add_ice_colony_survivor_equipment(new_human)
..()
// Used in Fiorina Science Annex.
@@ -40,13 +39,12 @@ Everything below isn't used or out of place.
/datum/equipment_preset/survivor/gangleader/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/color/orange(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- if(prob(50)) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(new_human), WEAR_HEAD)
+ if(prob(50)) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/riot(new_human), WEAR_HEAD)
if(prob(50)) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human.back), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE)
add_survivor_weapon_civilian(new_human)
+ add_ice_colony_survivor_equipment(new_human)
..()
// ----- Civilian Survivor
@@ -73,7 +71,7 @@ Everything below isn't used or out of place.
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/vir(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/purple(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/mgoggles(new_human), WEAR_EYES)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/regular/hipster(new_human), WEAR_EYES)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/purple(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/galoshes(new_human), WEAR_FEET)
if(2) // Bar Tender
@@ -82,14 +80,13 @@ Everything below isn't used or out of place.
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/lawyer/bluejacket(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/bowlerhat(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/fake_mustache(new_human), WEAR_FACE)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/black(new_human), WEAR_HANDS)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/beer_pack(new_human.back), WEAR_IN_BACK)
if(3) // Botanist
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/green(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/hyd(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/apron(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup/brown(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/tool/hatchet(new_human.back), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general(new_human), WEAR_R_STORE)
@@ -110,13 +107,13 @@ Everything below isn't used or out of place.
/datum/equipment_preset/survivor/salesman/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/brown(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/wcoat(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/document(new_human), WEAR_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
add_random_cl_survivor_loot(new_human)
add_survivor_weapon_civilian(new_human)
+ add_ice_colony_survivor_equipment(new_human)
..()
@@ -131,18 +128,16 @@ Everything below isn't used or out of place.
access = list(ACCESS_CIVILIAN_PUBLIC)
/datum/equipment_preset/survivor/roughneck/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/color/white(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/blue(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/apron/overalls(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf/tacticalmask/green(new_human), WEAR_FACE)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf/tacticalmask/black(new_human), WEAR_FACE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/centcom(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/centcom(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/large(new_human), WEAR_R_STORE)
add_pmc_survivor_weapon(new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
..()
// ----- Bum Survivor
@@ -157,18 +152,16 @@ Everything below isn't used or out of place.
/datum/equipment_preset/survivor/beachbum/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/shorts/red(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette(new_human), WEAR_FACE)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette/weed(new_human), WEAR_FACE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/botanic_leather(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/brown(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/beer_pack(new_human.back), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/tool/kitchen/knife/butcher(new_human.back), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/fancy/cigarettes/wypacket(new_human.back), WEAR_IN_BACK)
add_survivor_weapon_civilian(new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
..()
// ----- WY Survivors
@@ -182,7 +175,7 @@ Everything below isn't used or out of place.
idtype = /obj/item/card/id/silver/cl
skills = /datum/skills/civilian/survivor/goon
languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE)
- access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_COMMAND, ACCESS_CIVILIAN_BRIG)
+ access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_COMMAND, ACCESS_CIVILIAN_BRIG, ACCESS_WY_COLONIAL)
survivor_variant = SECURITY_SURVIVOR
diff --git a/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm b/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm
index 0515319b8190..7f0ef0072ddc 100644
--- a/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm
+++ b/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm
@@ -1,13 +1,13 @@
/datum/equipment_preset/survivor/security/nv
name = "Survivor - New Varadero Security Guard"
assignment = "United Americas Peacekeeper"
- languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE)
/datum/equipment_preset/survivor/security/nv/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/ua_riot(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/prop/helmetgarb/riot_shield(new_human), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/ua_riot(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/ua_riot(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
..()
@@ -29,8 +29,8 @@
/datum/equipment_preset/survivor/scientist/nv/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/researcher(new_human), WEAR_BODY)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie(new_human), WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/researcher(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/cm/tan(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science(new_human), WEAR_EYES)
@@ -82,7 +82,6 @@
/datum/equipment_preset/survivor/chaplain/nv/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chaplain(new_human), WEAR_BODY)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/priest_robe(new_human), WEAR_JACKET)
..()
diff --git a/code/modules/gear_presets/survivors/shivas_snowball/preset_shivas_snowball.dm b/code/modules/gear_presets/survivors/shivas_snowball/preset_shivas_snowball.dm
index 9c760b07b5f4..2fdcc3322dbf 100644
--- a/code/modules/gear_presets/survivors/shivas_snowball/preset_shivas_snowball.dm
+++ b/code/modules/gear_presets/survivors/shivas_snowball/preset_shivas_snowball.dm
@@ -1,33 +1,33 @@
/datum/equipment_preset/survivor/corporate/shiva
- name = "Survivor - Shivas Snowball Corporate Liaison"
- assignment = "Shivas Snowball Corporate Liaison"
+ name = "Survivor - Shivas Corporate Liaison"
+ assignment = "Shivas Corporate Liaison"
/datum/equipment_preset/survivor/corporate/shiva/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/corporate_formal(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/snow(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/white(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/survivor/parka/navy(new_human), WEAR_JACKET)
..()
/datum/equipment_preset/survivor/doctor/shiva
- name = "Survivor - Shivas Snowball Doctor"
- assignment = "Shivas Snowball Doctor"
+ name = "Survivor - Shivas Doctor"
+ assignment = "Shivas Doctor"
/datum/equipment_preset/survivor/doctor/shiva/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/green(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/survivor/parka/green(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/snow(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/white(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE)
..()
/datum/equipment_preset/survivor/scientist/shiva
- name = "Survivor - Shivas Snowball Researcher"
- assignment = "Shivas Snowball Researcher"
+ name = "Survivor - Shivas Researcher"
+ assignment = "Shivas Researcher"
/datum/equipment_preset/survivor/scientist/shiva/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/blue(new_human), WEAR_BODY)
@@ -35,7 +35,7 @@
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/snow(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/survivor/parka/purple(new_human), WEAR_JACKET)
..()
@@ -44,31 +44,31 @@
assignment = "CMB Deputy"
/datum/equipment_preset/survivor/colonial_marshal/shiva/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security/corp(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/survivor/parka/red(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/white(new_human), WEAR_HANDS)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc(new_human), WEAR_FEET)
..()
/datum/equipment_preset/survivor/engineer/shiva
- name = "Survivor - Shivas Snowball Engineer"
- assignment = "Shivas Snowball Engineer"
+ name = "Survivor - Shivas Engineer"
+ assignment = "Shivas Engineer"
/datum/equipment_preset/survivor/engineer/shiva/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/black(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/survivor/parka/yellow(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/snow(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(new_human), WEAR_HEAD)
..()
/datum/equipment_preset/survivor/security/shiva
- name = "Survivor - Shivas Snowball Security Guard"
+ name = "Survivor - Shivas Security Guard"
assignment = "United Americas Peacekeeper"
/datum/equipment_preset/survivor/security/shiva/load_gear(mob/living/carbon/human/new_human)
@@ -77,6 +77,6 @@
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/survivor(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/ua_riot(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/white(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
..()
diff --git a/code/modules/gear_presets/survivors/solaris/preset_solaris.dm b/code/modules/gear_presets/survivors/solaris/preset_solaris.dm
index 2d0f634a6948..35e52731fc9d 100644
--- a/code/modules/gear_presets/survivors/solaris/preset_solaris.dm
+++ b/code/modules/gear_presets/survivors/solaris/preset_solaris.dm
@@ -4,8 +4,8 @@
skills = /datum/skills/civilian/survivor/trucker
/datum/equipment_preset/survivor/trucker/solaris/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/worker_overalls(new_human), WEAR_BODY)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/apron/overalls(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/black(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/apron/overalls/red(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/trucker/red(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big(new_human), WEAR_EYES)
..()
@@ -14,13 +14,12 @@
name = "Survivor - Solaris Colonial Marshal Deputy"
assignment = "CMB Deputy"
-
/datum/equipment_preset/survivor/colonial_marshal/solaris/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/CMB(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc(new_human), WEAR_FEET)
..()
/datum/equipment_preset/survivor/engineer/solaris
@@ -28,9 +27,10 @@
assignment = "Solaris Engineer"
/datum/equipment_preset/survivor/engineer/solaris/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(new_human), WEAR_BODY)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/yellow(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding/superior(new_human), WEAR_EYES)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/pink(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/yellow(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(new_human), WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding(new_human), WEAR_EYES)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK)
..()
@@ -39,13 +39,12 @@
assignment = "Solaris Scientist"
/datum/equipment_preset/survivor/scientist/solaris/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/virologist(new_human), WEAR_BODY)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/green(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/virologist(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/green(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/corporate_formal(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science(new_human), WEAR_EYES)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/green(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
..()
/datum/equipment_preset/survivor/doctor/solaris
@@ -53,8 +52,9 @@
assignment = "Solaris Doctor"
/datum/equipment_preset/survivor/doctor/solaris/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/purple(new_human), WEAR_BODY)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/purple(new_human), WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/lightblue(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmo(new_human), WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
..()
/datum/equipment_preset/survivor/chaplain/solaris
@@ -63,7 +63,6 @@
/datum/equipment_preset/survivor/chaplain/solaris/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/holidaypriest(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/nun_hood(new_human), WEAR_HEAD)
..()
/datum/equipment_preset/survivor/security/solaris
@@ -75,7 +74,7 @@
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/sec/hos(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
..()
@@ -106,5 +105,5 @@
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/prescription(new_human), WEAR_EYES)
else
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(new_human), WEAR_EYES)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup/brown(new_human), WEAR_FEET)
..()
diff --git a/code/modules/gear_presets/survivors/survivors.dm b/code/modules/gear_presets/survivors/survivors.dm
index 0cecaccce43d..71a2aaa94b7f 100644
--- a/code/modules/gear_presets/survivors/survivors.dm
+++ b/code/modules/gear_presets/survivors/survivors.dm
@@ -69,21 +69,18 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist,
/datum/equipment_preset/survivor/scientist/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/virologist(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/green(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/virologist(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/green(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science(new_human), WEAR_EYES)
- new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/chem(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/tox(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/green(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/paper/research_notes/good(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/reagent_container/glass/beaker/vial/random/good(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical/full(new_human), WEAR_R_STORE)
add_survivor_weapon_civilian(new_human)
add_random_survivor_research_gear(new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
..()
// 2 ----- Doctor Survivor
@@ -99,11 +96,9 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist,
survivor_variant = MEDICAL_SURVIVOR
/datum/equipment_preset/survivor/doctor/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/blue(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/med(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(new_human), WEAR_JACKET)
@@ -121,7 +116,7 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist,
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medkit/full_advanced(new_human), WEAR_R_STORE)
add_random_survivor_medical_gear(new_human)
add_survivor_weapon_civilian(new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
..()
// 3 ----- Chef Survivor
@@ -134,16 +129,15 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist,
access = list(ACCESS_CIVILIAN_PUBLIC)
/datum/equipment_preset/survivor/chef/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/chef(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(new_human), WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/tool/kitchen/rollingpin(new_human.back), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general(new_human), WEAR_R_STORE)
add_survivor_weapon_civilian(new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
..()
// 4 ----- Chaplain Survivor
@@ -157,15 +151,13 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist,
/datum/equipment_preset/survivor/chaplain/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chaplain(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/holidaypriest(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/bible/booze(new_human.back), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general(new_human), WEAR_R_STORE)
add_survivor_weapon_civilian(new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
..()
// 5 ----- Miner Survivor
@@ -178,17 +170,16 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist,
access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_ENGINEERING, ACCESS_CIVILIAN_LOGISTICS)
/datum/equipment_preset/survivor/miner/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/miner(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(new_human), WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
- new_human.equip_to_slot_or_del(new /obj/item/tool/pickaxe(new_human.back), WEAR_IN_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/lantern(new_human.back), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/blue(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/yellow(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/tool/pickaxe(new_human), WEAR_R_HAND)
+ new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/lantern(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/full(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/orange(new_human), WEAR_HEAD)
add_survivor_weapon_civilian(new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
..()
// 6 ---- Colonial Marshal Survivor
@@ -216,9 +207,7 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist,
/datum/equipment_preset/survivor/colonial_marshal/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR)
-
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord(new_human), WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/CMB(new_human), WEAR_HEAD)
if(new_human.disabilities & NEARSIGHTED)
@@ -226,10 +215,10 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist,
else
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(new_human), WEAR_EYES)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/CMB(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/large(new_human), WEAR_R_STORE)
add_survivor_weapon_security(new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
..()
// 7 ----- Engineering Survivor
@@ -244,18 +233,18 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist,
survivor_variant = ENGINEERING_SURVIVOR
/datum/equipment_preset/survivor/engineer/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/brown(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/yellow(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/tool/weldingtool/largetank(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/plasteel/med_small_stack(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding(new_human), WEAR_EYES)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/insulated(new_human), WEAR_HANDS)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(new_human), WEAR_WAIST)
add_survivor_weapon_civilian(new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
..()
// 8 -- Security Survivor
@@ -272,8 +261,6 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist,
/datum/equipment_preset/survivor/security/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(new_human), WEAR_HEAD)
@@ -281,10 +268,11 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist,
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud/prescription(new_human), WEAR_EYES)
else
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(new_human), WEAR_EYES)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine(new_human), WEAR_R_STORE)
add_survivor_weapon_security(new_human)
+ add_ice_colony_survivor_equipment(new_human)
..()
/*
@@ -316,16 +304,14 @@ Everything bellow is a parent used as a base for one or multiple maps.
/datum/equipment_preset/survivor/corporate/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/field(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable/liaison(new_human), WEAR_BACK)
- add_random_cl_survivor_loot(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
- add_survivor_weapon_civilian(new_human)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/document(new_human), WEAR_R_STORE)
-
+ add_survivor_weapon_civilian(new_human)
+ add_random_cl_survivor_loot(new_human)
+ add_ice_colony_survivor_equipment(new_human)
..()
/datum/equipment_preset/survivor/corporate/load_rank(mob/living/carbon/human/new_human)
@@ -357,16 +343,14 @@ Everything bellow is a parent used as a base for one or multiple maps.
/datum/equipment_preset/survivor/trucker/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/overalls(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/yellow(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/lantern(new_human.back), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/full(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/hardpoint/locomotion/van_wheels(new_human), WEAR_R_HAND)
add_survivor_weapon_civilian(new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
..()
// -- Flight Control Operator
@@ -383,15 +367,14 @@ Everything bellow is a parent used as a base for one or multiple maps.
/datum/equipment_preset/survivor/flight_control_operator/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/khaki(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/windbreaker/windbreaker_brown(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/aviator(new_human), WEAR_EYES)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/binoculars(new_human), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/headset(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
add_survivor_weapon_civilian(new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
..()
// ----- Interstellar Human Rights Survivor
@@ -406,16 +389,14 @@ Everything bellow is a parent used as a base for one or multiple maps.
/datum/equipment_preset/survivor/interstellar_human_rights_observer/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/brown(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
- add_random_cl_survivor_loot(new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup/brown(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine(new_human), WEAR_HEAD)
- add_survivor_weapon_civilian(new_human)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/document(new_human), WEAR_R_STORE)
-
+ add_survivor_weapon_civilian(new_human)
+ add_random_cl_survivor_loot(new_human)
+ add_ice_colony_survivor_equipment(new_human)
..()
@@ -439,20 +420,18 @@ Everything bellow is a parent used as a base for one or multiple maps.
access = get_access(ACCESS_LIST_CIVIL_LIAISON)
/datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR)
-
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/aviator(new_human), WEAR_EYES)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/black(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(new_human), WEAR_HEAD)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/insulated(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/document(new_human), WEAR_R_STORE)
add_survivor_weapon_civilian(new_human)
add_random_cl_survivor_loot(new_human)
-
+ add_ice_colony_survivor_equipment(new_human)
..()
// ----- USCM Survivor
@@ -469,8 +448,6 @@ Everything bellow is a parent used as a base for one or multiple maps.
/datum/equipment_preset/survivor/uscm/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY)
- if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD])
- add_ice_colony_survivor_equipment(new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/ranks/marine/e2(new_human), WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/light(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel(new_human), WEAR_BACK)
@@ -479,5 +456,6 @@ Everything bellow is a parent used as a base for one or multiple maps.
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare(new_human), WEAR_R_STORE)
add_survivor_weapon_security(new_human)
+ add_ice_colony_survivor_equipment(new_human)
..()
diff --git a/code/modules/gear_presets/survivors/trijent/crashlanding_upp_bar_insert_trijent.dm b/code/modules/gear_presets/survivors/trijent/crashlanding_upp_bar_insert_trijent.dm
index 99589582cbf6..cfb3dee1dc47 100644
--- a/code/modules/gear_presets/survivors/trijent/crashlanding_upp_bar_insert_trijent.dm
+++ b/code/modules/gear_presets/survivors/trijent/crashlanding_upp_bar_insert_trijent.dm
@@ -25,7 +25,8 @@
if(2)
uniform.roll_suit_sleeves(new_human)
new_human.equip_to_slot_or_del(uniform, WEAR_BODY)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp (new_human), WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp(new_human), WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/airborne, WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate(new_human), WEAR_L_STORE)
@@ -205,6 +206,8 @@
new_human.equip_to_slot_or_del(new /obj/item/device/flashlight, WEAR_J_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/partial, WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/airborne, WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/uppsynth, WEAR_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/survival/synth/full, WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET)
diff --git a/code/modules/gear_presets/survivors/trijent/preset_trijent.dm b/code/modules/gear_presets/survivors/trijent/preset_trijent.dm
index 405496d8f496..100f83518565 100644
--- a/code/modules/gear_presets/survivors/trijent/preset_trijent.dm
+++ b/code/modules/gear_presets/survivors/trijent/preset_trijent.dm
@@ -1,6 +1,6 @@
/datum/equipment_preset/survivor/chaplain/trijent
name = "Survivor - Trijent Chaplain"
- assignment = "Trijent Chaplain"
+ assignment = "Trijent Dam Chaplain"
/datum/equipment_preset/survivor/chaplain/trijent/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/nun(new_human), WEAR_JACKET)
@@ -13,11 +13,11 @@
assignment = "Trijent Dam Security Guard"
/datum/equipment_preset/survivor/security/trijent/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_security/navyblue(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/blue(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/corporate(new_human), WEAR_FEET)
..()
/datum/equipment_preset/survivor/colonial_marshal/trijent
@@ -26,12 +26,11 @@
/datum/equipment_preset/survivor/colonial_marshal/trijent/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform(new_human), WEAR_BODY)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord(new_human), WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/CMB(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/CMB(new_human), WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc(new_human), WEAR_FEET)
..()
/datum/equipment_preset/survivor/doctor/trijent
@@ -39,8 +38,9 @@
assignment = "Trijent Dam Doctor"
/datum/equipment_preset/survivor/doctor/trijent/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/blue(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/blue(new_human), WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/blue(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(new_human), WEAR_FEET)
..()
/datum/equipment_preset/survivor/scientist/trijent
@@ -52,17 +52,18 @@
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/jan(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/researcher(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/leather(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup/brown(new_human), WEAR_FEET)
..()
/datum/equipment_preset/survivor/trucker/trijent
- name = "Survivor - Trijent Dam Heavy Vehicle Operator"
+ name = "Survivor - Trijent Heavy Vehicle Operator"
assignment = "Trijent Dam Heavy Vehicle Operator"
skills = /datum/skills/civilian/survivor/trucker
/datum/equipment_preset/survivor/trucker/trijent/load_gear(mob/living/carbon/human/new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/green(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket/marine/bomber/grey(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/trucker(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/tool/weldingtool/hugetank(new_human), WEAR_IN_BACK)
@@ -73,8 +74,8 @@
assignment = "Hydro Electric Engineer"
/datum/equipment_preset/survivor/engineer/trijent/hydro/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(new_human), WEAR_BODY)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/khaki(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/black(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat(new_human), WEAR_HEAD)
@@ -91,3 +92,14 @@
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/orange(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET)
..()
+
+/datum/equipment_preset/survivor/corporate/trijent
+ name = "Survivor - Trijent Corporate Liaison"
+ assignment = "Trijent Dam Corporate Liaison"
+
+/datum/equipment_preset/survivor/corporate/trijent/load_gear(mob/living/carbon/human/new_human)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/ivy(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET)
+ ..()
diff --git a/code/modules/gear_presets/synths.dm b/code/modules/gear_presets/synths.dm
index 1bd8bac6b5c1..e913d7f91c97 100644
--- a/code/modules/gear_presets/synths.dm
+++ b/code/modules/gear_presets/synths.dm
@@ -119,7 +119,7 @@
WEAR_WAIST = /obj/item/storage/belt/utility/full,
WEAR_R_STORE = /obj/item/storage/pouch/tools/full,
WEAR_FEET = /obj/item/clothing/shoes/marine/knife,
- WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe
+ WEAR_L_HAND = /obj/item/maintenance_jack
)
var/survivor_variant = CIVILIAN_SURVIVOR
@@ -173,6 +173,7 @@
WEAR_FACE = /obj/item/clothing/mask/surgical,
WEAR_EYES = /obj/item/clothing/glasses/hud/health,
WEAR_BODY = /obj/item/clothing/under/rank/medical,
+ WEAR_ACCESSORY = /obj/item/clothing/accessory/armband/medgreen,
WEAR_BACK = /obj/item/storage/backpack/satchel/med,
WEAR_IN_BACK = /obj/item/roller/surgical,
WEAR_JACKET = /obj/item/clothing/suit/storage/hazardvest/blue,
@@ -194,6 +195,7 @@
WEAR_FACE = /obj/item/clothing/mask/surgical,
WEAR_EYES = /obj/item/clothing/glasses/hud/health,
WEAR_BODY = /obj/item/clothing/under/colonist/ua_civvies,
+ WEAR_ACCESSORY = /obj/item/clothing/accessory/armband/med,
WEAR_BACK = /obj/item/storage/backpack/satchel/med,
WEAR_IN_BACK = /obj/item/storage/firstaid/adv,
WEAR_IN_BACK = /obj/item/tool/extinguisher/mini,
@@ -230,21 +232,38 @@
survivor_variant = SCIENTIST_SURVIVOR
+/datum/equipment_preset/synth/survivor/archaeologist_synth
+ name = "Survivor - Synthetic - Archaeologist Synth"
+ equipment_to_spawn = list(
+ WEAR_HEAD = /obj/item/clothing/head/hardhat/orange,
+ WEAR_BODY = /obj/item/clothing/under/rank/miner,
+ WEAR_BACK = /obj/item/storage/backpack/satchel/eng,
+ WEAR_IN_BACK = /obj/item/tool/shovel/spade,
+ WEAR_JACKET = /obj/item/clothing/suit/storage/utility_vest,
+ WEAR_IN_JACKET = /obj/item/explosive/plastic,
+ WEAR_WAIST = /obj/item/device/flashlight/lantern,
+ WEAR_R_HAND = /obj/item/stack/sandbags_empty/half,
+ WEAR_FEET = /obj/item/clothing/shoes/marine/knife,
+ WEAR_L_HAND = /obj/item/tool/pickaxe/hammer
+ )
+
+ survivor_variant = SCIENTIST_SURVIVOR
+
/datum/equipment_preset/synth/survivor/engineer_synth
name = "Survivor - Synthetic - Engineer Synth"
equipment_to_spawn = list(
WEAR_HEAD = /obj/item/clothing/head/hardhat,
WEAR_BODY = /obj/item/clothing/under/rank/engineer,
+ WEAR_ACCESSORY = /obj/item/clothing/accessory/armband/engine,
WEAR_BACK = /obj/item/storage/backpack/satchel/eng,
- WEAR_IN_BACK = /obj/item/ammo_magazine/smg/nailgun,
+ WEAR_IN_BACK = /obj/item/stack/sheet/metal/med_small_stack,
WEAR_JACKET = /obj/item/clothing/suit/storage/hazardvest/yellow,
WEAR_IN_JACKET = /obj/item/ammo_magazine/smg/nailgun,
- WEAR_IN_JACKET = /obj/item/ammo_magazine/smg/nailgun,
WEAR_J_STORE = /obj/item/weapon/gun/smg/nailgun/compact,
WEAR_WAIST = /obj/item/storage/belt/utility/full,
WEAR_R_STORE = /obj/item/storage/pouch/tools/full,
WEAR_FEET = /obj/item/clothing/shoes/marine/knife,
- WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe
+ WEAR_L_HAND = /obj/item/maintenance_jack
)
survivor_variant = ENGINEERING_SURVIVOR
@@ -259,6 +278,7 @@
WEAR_HEAD = /obj/item/clothing/head/soft/purple,
WEAR_EYES = /obj/item/clothing/glasses/mgoggles,
WEAR_BODY = /obj/item/clothing/under/rank/janitor,
+ WEAR_ACCESSORY = /obj/item/clothing/accessory/armband/med,
WEAR_BACK = /obj/item/storage/backpack/satchel/vir,
WEAR_IN_BACK = /obj/item/reagent_container/glass/bucket,
WEAR_IN_BACK = /obj/item/tool/wet_sign,
@@ -269,7 +289,7 @@
WEAR_R_HAND = /obj/item/tool/mop,
WEAR_R_STORE = /obj/item/storage/pouch/tools/full,
WEAR_FEET = /obj/item/clothing/shoes/galoshes,
- WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe
+ WEAR_L_HAND = /obj/item/weapon/twohanded/spear
)
/datum/equipment_preset/synth/survivor/chef_synth
@@ -285,7 +305,7 @@
WEAR_JACKET = /obj/item/clothing/suit/chef,
WEAR_HANDS = /obj/item/clothing/gloves/latex,
WEAR_FEET = /obj/item/clothing/shoes/marine/knife,
- WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe
+ WEAR_L_HAND = /obj/item/tool/kitchen/knife/butcher
)
/datum/equipment_preset/synth/survivor/teacher_synth
@@ -294,14 +314,14 @@
WEAR_EYES = /obj/item/clothing/glasses/regular/hipster,
WEAR_BODY = /obj/item/clothing/under/colonist/wy_davisone,
WEAR_BACK = /obj/item/storage/backpack/satchel/norm,
- WEAR_IN_BACK = /obj/item/reagent_container/food/snacks/wrapped/booniebars,
WEAR_IN_BACK = /obj/item/reagent_container/food/snacks/wy_chips/pepper,
- WEAR_IN_BACK = /obj/item/reagent_container/spray/cleaner,
+ WEAR_IN_BACK = /obj/item/storage/box/pdt_kit,
WEAR_JACKET = /obj/item/clothing/suit/storage/bomber/alt,
- WEAR_IN_JACKET = /obj/item/storage/box/pdt_kit,
+ WEAR_IN_JACKET = /obj/item/device/healthanalyzer,
+ WEAR_WAIST = /obj/item/reagent_container/spray/cleaner,
WEAR_R_HAND = /obj/item/storage/fancy/crayons,
WEAR_FEET = /obj/item/clothing/shoes/marine/knife,
- WEAR_L_HAND = /obj/item/storage/large_holster/machete/full
+ WEAR_L_HAND = /obj/item/weapon/butterfly/switchblade
)
/datum/equipment_preset/synth/survivor/freelancer_synth
@@ -321,6 +341,24 @@
WEAR_L_HAND = /obj/item/storage/large_holster/katana/full
)
+/datum/equipment_preset/synth/survivor/surveyor_synth
+ name = "Survivor - Synthetic - Surveyor Synth"
+ equipment_to_spawn = list(
+ WEAR_HEAD = /obj/item/clothing/head/cmcap/flap,
+ WEAR_FACE = /obj/item/clothing/mask/tornscarf,
+ WEAR_BODY = /obj/item/clothing/under/rank/synthetic/utility,
+ WEAR_BACK = /obj/item/storage/backpack/lightpack/five_slot,
+ WEAR_IN_BACK = /obj/item/storage/box/m94,
+ WEAR_JACKET = /obj/item/clothing/suit/storage/windbreaker/windbreaker_covenant,
+ WEAR_IN_JACKET = /obj/item/device/binoculars,
+ WEAR_WAIST = /obj/item/storage/backpack/general_belt,
+ WEAR_IN_BELT = /obj/item/stack/flag/green,
+ WEAR_HANDS = /obj/item/clothing/gloves/marine/veteran,
+ WEAR_R_HAND = /obj/item/storage/box/lightstick,
+ WEAR_FEET = /obj/item/clothing/shoes/marine/knife,
+ WEAR_L_HAND = /obj/item/storage/large_holster/machete/full
+ )
+
/datum/equipment_preset/synth/survivor/trucker_synth
name = "Survivor - Synthetic - Trucker Synth"
equipment_to_spawn = list(
@@ -343,13 +381,31 @@
WEAR_IN_BACK = /obj/item/reagent_container/food/drinks/bottle/tequila,
WEAR_IN_BACK = /obj/item/reagent_container/food/drinks/bottle/cognac,
WEAR_IN_BACK = /obj/item/reagent_container/food/drinks/bottle/grenadine,
- WEAR_IN_BACK = /obj/item/reagent_container/food/drinks/bottle/rum,
- WEAR_JACKET = /obj/item/clothing/suit/storage/lawyer/bluejacket,
+ WEAR_JACKET = /obj/item/clothing/suit/storage/wcoat,
+ WEAR_IN_JACKET = /obj/item/reagent_container/food/drinks/bottle/rum,
WEAR_HANDS = /obj/item/clothing/gloves/marine/black,
WEAR_R_HAND = /obj/item/storage/beer_pack,
WEAR_R_STORE = /obj/item/storage/pouch/tools/full,
WEAR_FEET = /obj/item/clothing/shoes/marine/knife,
- WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe
+ WEAR_L_HAND = /obj/item/weapon/baseballbat
+ )
+
+/datum/equipment_preset/synth/survivor/atc_synth
+ name = "Survivor - Synthetic - Landing Pad Attendant Synth"
+ equipment_to_spawn = list(
+ WEAR_R_EAR = /obj/item/clothing/ears/earmuffs,
+ WEAR_HEAD = /obj/item/clothing/head/cmcap,
+ WEAR_BODY = /obj/item/clothing/under/rank/synthetic/utility/yellow,
+ WEAR_BACK = /obj/item/storage/backpack/satchel/norm,
+ WEAR_IN_BACK = /obj/item/storage/box/m94,
+ WEAR_JACKET = /obj/item/clothing/suit/storage/hazardvest,
+ WEAR_IN_JACKET = /obj/item/device/binoculars,
+ WEAR_WAIST = /obj/item/storage/backpack/general_belt,
+ WEAR_IN_BELT = /obj/item/stack/flag/red,
+ WEAR_HANDS = /obj/item/clothing/gloves/marine/veteran,
+ WEAR_R_HAND = /obj/item/storage/box/lightstick/red,
+ WEAR_FEET = /obj/item/clothing/shoes/marine/knife,
+ WEAR_L_HAND = /obj/item/storage/large_holster/machete/full
)
/datum/equipment_preset/synth/survivor/detective_synth
@@ -362,7 +418,7 @@
WEAR_IN_BACK = /obj/item/device/taperecorder,
WEAR_JACKET = /obj/item/clothing/suit/storage/det_suit/black,
WEAR_IN_JACKET = /obj/item/weapon/telebaton,
- WEAR_WAIST = /obj/item/storage/belt/security/MP/full,
+ WEAR_WAIST = /obj/item/storage/belt/security/MP/full/synth,
WEAR_HANDS = /obj/item/clothing/gloves/black,
WEAR_R_HAND = /obj/item/device/camera,
WEAR_FEET = /obj/item/clothing/shoes/marine/knife,
@@ -403,15 +459,17 @@
WEAR_HEAD = /obj/item/clothing/head/soft/sec/corp,
WEAR_L_EAR = /obj/item/device/radio/headset/distress/WY,
WEAR_EYES = /obj/item/clothing/glasses/sunglasses/sechud,
- WEAR_BODY = /obj/item/clothing/under/marine/officer/formal/servicedress,
+ WEAR_BODY = /obj/item/clothing/under/colonist/white_service,
WEAR_BACK = /obj/item/storage/backpack/satchel/sec,
- WEAR_IN_BACK = /obj/item/weapon/telebaton,
+ WEAR_IN_BACK = /obj/item/handcuffs/zip,
+ WEAR_IN_BACK = /obj/item/handcuffs/zip,
WEAR_JACKET = /obj/item/clothing/suit/storage/webbing,
- WEAR_WAIST = /obj/item/storage/belt/security/MP/full,
+ WEAR_WAIST = /obj/item/storage/belt/security/MP/full/synth,
+ WEAR_IN_JACKET = /obj/item/weapon/telebaton,
WEAR_HANDS = /obj/item/clothing/gloves/black,
WEAR_R_STORE = /obj/item/storage/pouch/tools/full,
WEAR_FEET = /obj/item/clothing/shoes/marine/knife,
- WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe
+ WEAR_L_HAND = /obj/item/weapon/classic_baton
)
survivor_variant = SECURITY_SURVIVOR
@@ -427,9 +485,7 @@
WEAR_BODY = /obj/item/clothing/under/marine/veteran/pmc,
WEAR_ACCESSORY = /obj/item/clothing/accessory/storage/droppouch,
WEAR_IN_ACCESSORY = /obj/item/explosive/grenade/flashbang,
- WEAR_IN_ACCESSORY = /obj/item/handcuffs/zip,
- WEAR_IN_ACCESSORY = /obj/item/handcuffs/zip,
- WEAR_BACK = /obj/item/storage/backpack/lightpack,
+ WEAR_BACK = /obj/item/storage/backpack/lightpack/five_slot,
WEAR_IN_BACK = /obj/item/device/binoculars,
WEAR_JACKET = /obj/item/clothing/suit/storage/hazardvest/black,
WEAR_IN_JACKET = /obj/item/weapon/telebaton,
@@ -446,13 +502,12 @@
role_comm_title = "WY Syn"
equipment_to_spawn = list(
WEAR_L_EAR = /obj/item/device/radio/headset/distress/WY,
+ WEAR_R_EAR = /obj/item/tool/pen/clicky,
WEAR_BODY = /obj/item/clothing/under/suit_jacket/trainee,
WEAR_BACK = /obj/item/storage/backpack/satchel/lockable,
- WEAR_IN_BACK = /obj/item/paper,
- WEAR_IN_BACK = /obj/item/paper,
+ WEAR_IN_BACK = /obj/item/notepad,
WEAR_IN_BACK = /obj/item/folder,
WEAR_IN_BACK = /obj/item/paper/research_notes/good,
- WEAR_IN_BACK = /obj/item/tool/pen/clicky,
WEAR_IN_BACK = /obj/item/device/taperecorder,
WEAR_WAIST = /obj/item/storage/belt/utility/full,
WEAR_HANDS = /obj/item/clothing/gloves/botanic_leather,
@@ -463,6 +518,29 @@
survivor_variant = CORPORATE_SURVIVOR
+/datum/equipment_preset/synth/survivor/icc_synth
+ name = "Survivor - Synthetic - Interstellar Commerce Commission Synthetic"
+ idtype = /obj/item/card/id/silver/cl
+ role_comm_title = "ICC Syn"
+ equipment_to_spawn = list(
+ WEAR_L_EAR = /obj/item/device/radio/headset/distress/CMB/limited,
+ WEAR_R_EAR = /obj/item/tool/pen/clicky,
+ WEAR_HEAD = /obj/item/clothing/head/hardhat/white,
+ WEAR_BODY = /obj/item/clothing/under/liaison_suit/black,
+ WEAR_BACK = /obj/item/storage/backpack/satchel/lockable,
+ WEAR_IN_BACK = /obj/item/notepad,
+ WEAR_IN_BACK = /obj/item/folder,
+ WEAR_IN_BACK = /obj/item/paper/research_notes/good,
+ WEAR_WAIST = /obj/item/clipboard,
+ WEAR_JACKET = /obj/item/clothing/suit/storage/hazardvest/yellow,
+ WEAR_IN_JACKET = /obj/item/device/taperecorder,
+ WEAR_FEET = /obj/item/clothing/shoes/dress,
+ WEAR_R_HAND = /obj/item/device/camera,
+ WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe
+ )
+
+ survivor_variant = CORPORATE_SURVIVOR
+
/datum/equipment_preset/synth/survivor/radiation_synth
name = "Survivor - Synthetic - Radiation Synth"
equipment_to_spawn = list(
@@ -470,13 +548,12 @@
WEAR_BODY = /obj/item/clothing/under/marine/officer/engi,
WEAR_BACK = /obj/item/storage/backpack/satchel/eng,
WEAR_IN_BACK = /obj/item/tool/weldingtool/hugetank,
- WEAR_IN_BACK = /obj/item/storage/firstaid/toxin,
WEAR_JACKET = /obj/item/clothing/suit/radiation,
WEAR_WAIST = /obj/item/tank/emergency_oxygen/double,
WEAR_HANDS = /obj/item/clothing/gloves/yellow,
- WEAR_R_HAND = /obj/item/device/motiondetector,
+ WEAR_R_HAND = /obj/item/storage/pouch/electronics/full,
WEAR_FEET = /obj/item/clothing/shoes/marine/knife,
- WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe
+ WEAR_L_HAND = /obj/item/maintenance_jack
)
survivor_variant = ENGINEERING_SURVIVOR
@@ -492,13 +569,30 @@
rank = JOB_WORKING_JOE
skills = /datum/skills/working_joe
languages = list(LANGUAGE_ENGLISH, LANGUAGE_APOLLO, LANGUAGE_RUSSIAN, LANGUAGE_JAPANESE, LANGUAGE_GERMAN, LANGUAGE_SPANISH, LANGUAGE_CHINESE)
+ /// Used to set species when loading race
+ var/joe_type = SYNTH_WORKING_JOE
/datum/equipment_preset/synth/working_joe/New()
. = ..()
access = get_access(ACCESS_LIST_GLOBAL)
/datum/equipment_preset/synth/working_joe/load_race(mob/living/carbon/human/new_human)
- new_human.set_species(SYNTH_WORKING_JOE)
+ . = ..()
+ new_human.set_species(joe_type)
+ new_human.h_style = "Bald"
+ new_human.f_style = "Shaved"
+ if(prob(5))
+ new_human.grad_style = "None" //No gradients for Working Joes
+ new_human.h_style = "Shoulder-length Hair" //Added the chance of hair as per Monkeyfist lore accuracy
+ new_human.r_eyes = 0
+ new_human.g_eyes = 0
+ new_human.b_eyes = 0
+ new_human.r_hair = 100
+ new_human.g_hair = 88
+ new_human.b_hair = 74
+ new_human.r_facial = 255
+ new_human.g_facial = 255
+ new_human.b_facial = 255
/datum/equipment_preset/synth/working_joe/load_vanity(mob/living/carbon/human/new_human)
return
@@ -531,6 +625,7 @@
/datum/equipment_preset/synth/working_joe/engi
name = "Synthetic - Hazmat Joe"
+ joe_type = SYNTH_HAZARD_JOE
/datum/equipment_preset/synth/working_joe/engi/load_gear(mob/living/carbon/human/new_human)
var/choice = rand(1,2)
@@ -559,8 +654,10 @@
new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/metal/large_stack(new_human.back), WEAR_IN_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/glass/reinforced/large_stack(new_human.back), WEAR_IN_R_STORE)
+
/datum/equipment_preset/synth/working_joe/load_race(mob/living/carbon/human/new_human)
. = ..()
+ new_human.set_species(joe_type)
new_human.h_style = "Bald"
new_human.f_style = "Shaved"
if(prob(5))
diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm
index e73db8431f32..cdb955bd9696 100644
--- a/code/modules/gear_presets/upp.dm
+++ b/code/modules/gear_presets/upp.dm
@@ -67,7 +67,6 @@
paygrade = PAY_SHORT_UE2
/datum/equipment_preset/upp/soldier/load_gear(mob/living/carbon/human/new_human)
- //TODO: add backpacks and satchels
//face
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP, WEAR_L_EAR)
//head
@@ -75,6 +74,8 @@
//body
var/obj/item/clothing/under/marine/veteran/UPP/UPP = new()
new_human.equip_to_slot_or_del(UPP, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET)
//limbs
@@ -256,6 +257,8 @@
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap, WEAR_HEAD)
//body
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP/medic, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/support, WEAR_JACKET) //medic should move fast
new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/bizon/upp, WEAR_J_STORE)
//waist
@@ -428,6 +431,8 @@
var/obj/item/clothing/accessory/storage/tool_webbing/equipped/W = new()
UPP.attach_accessory(new_human, W)
new_human.equip_to_slot_or_del(UPP, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/type71/sapper, WEAR_J_STORE)
@@ -554,6 +559,8 @@
//body
var/obj/item/clothing/under/marine/veteran/UPP/UPP = new()
new_human.equip_to_slot_or_del(UPP, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/heavy, WEAR_JACKET)
//limbs
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET)
@@ -681,6 +688,8 @@
//body
var/obj/item/clothing/under/marine/veteran/UPP/UPP = new()
new_human.equip_to_slot_or_del(UPP, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/heavy, WEAR_JACKET)
//limbs
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET)
@@ -813,6 +822,8 @@
var/obj/item/clothing/accessory/storage/webbing/W = new()
UPP.attach_accessory(new_human, W)
new_human.equip_to_slot_or_del(UPP, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY)
@@ -972,6 +983,8 @@
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap/beret, WEAR_HEAD)
//uniform
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP/mp, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
//jacket
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/mp, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET)
@@ -1131,6 +1144,8 @@
new_human.equip_to_slot_or_del(M, WEAR_BODY)
for(var/i in 1 to W.hold.storage_slots)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
//jacket
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/officer, WEAR_JACKET)
@@ -1236,9 +1251,6 @@
list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR),
list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY),
- list("SPECIAL AMMUNITION", 0, null, null, null),
- list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR),
-
list("ATTACHMENTS", 0, null, null, null),
list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR),
list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
@@ -1291,6 +1303,8 @@
new_human.equip_to_slot_or_del(M, WEAR_BODY)
for(var/i in 1 to W.hold.storage_slots)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
//jacket
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/officer, WEAR_JACKET)
@@ -1396,9 +1410,6 @@
list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR),
list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY),
- list("SPECIAL AMMUNITION", 0, null, null, null),
- list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR),
-
list("ATTACHMENTS", 0, null, null, null),
list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR),
list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
@@ -1452,6 +1463,8 @@
new_human.equip_to_slot_or_del(M, WEAR_BODY)
for(var/i in 1 to W.hold.storage_slots)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
//jacket
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/kapitan, WEAR_JACKET)
@@ -1557,9 +1570,6 @@
list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR),
list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY),
- list("SPECIAL AMMUNITION", 0, null, null, null),
- list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR),
-
list("ATTACHMENTS", 0, null, null, null),
list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR),
list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
@@ -1613,6 +1623,8 @@
new_human.equip_to_slot_or_del(M, WEAR_BODY)
for(var/i in 1 to W.hold.storage_slots)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
//jacket
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/kapitan, WEAR_JACKET)
@@ -1718,9 +1730,6 @@
list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR),
list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY),
- list("SPECIAL AMMUNITION", 0, null, null, null),
- list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR),
-
list("ATTACHMENTS", 0, null, null, null),
list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR),
list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
@@ -1774,6 +1783,8 @@
new_human.equip_to_slot_or_del(M, WEAR_BODY)
for(var/i in 1 to W.hold.storage_slots)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
//jacket
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/kapitan, WEAR_JACKET)
@@ -1879,9 +1890,6 @@
list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR),
list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY),
- list("SPECIAL AMMUNITION", 0, null, null, null),
- list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR),
-
list("ATTACHMENTS", 0, null, null, null),
list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR),
list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
@@ -1935,6 +1943,8 @@
new_human.equip_to_slot_or_del(M, WEAR_BODY)
for(var/i in 1 to W.hold.storage_slots)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
//jacket
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/kapitan, WEAR_JACKET)
@@ -2040,9 +2050,6 @@
list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR),
list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY),
- list("SPECIAL AMMUNITION", 0, null, null, null),
- list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR),
-
list("ATTACHMENTS", 0, null, null, null),
list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR),
list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
@@ -2096,6 +2103,8 @@
new_human.equip_to_slot_or_del(M, WEAR_BODY)
for(var/i in 1 to W.hold.storage_slots)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
//jacket
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/kapitan, WEAR_JACKET)
@@ -2201,9 +2210,6 @@
list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR),
list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY),
- list("SPECIAL AMMUNITION", 0, null, null, null),
- list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR),
-
list("ATTACHMENTS", 0, null, null, null),
list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR),
list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
@@ -2257,6 +2263,8 @@
new_human.equip_to_slot_or_del(M, WEAR_BODY)
for(var/i in 1 to W.hold.storage_slots)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
//jacket
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/kapitan, WEAR_JACKET)
@@ -2362,9 +2370,6 @@
list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR),
list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY),
- list("SPECIAL AMMUNITION", 0, null, null, null),
- list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR),
-
list("ATTACHMENTS", 0, null, null, null),
list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR),
list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
@@ -2418,6 +2423,8 @@
new_human.equip_to_slot_or_del(M, WEAR_BODY)
for(var/i in 1 to W.hold.storage_slots)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
//jacket
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/kapitan, WEAR_JACKET)
@@ -2523,9 +2530,6 @@
list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR),
list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY),
- list("SPECIAL AMMUNITION", 0, null, null, null),
- list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR),
-
list("ATTACHMENTS", 0, null, null, null),
list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR),
list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
@@ -2596,8 +2600,8 @@
languages = ALL_SYNTH_LANGUAGES_UPP
skills = /datum/skills/synthetic
- assignment = JOB_UPP_COMBAT_SYNTH
- rank = JOB_UPP_COMBAT_SYNTH
+ assignment = JOB_UPP_SUPPORT_SYNTH
+ rank = JOB_UPP_SUPPORT_SYNTH
paygrade = PAY_SHORT_SYN
idtype = /obj/item/card/id/dogtag
@@ -2644,14 +2648,15 @@
/datum/equipment_preset/upp/synth/load_gear(mob/living/carbon/human/new_human)
//back
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK)
- new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/compact, WEAR_IN_BACK) //1
- new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK) //2
- new_human.equip_to_slot_or_del(new /obj/item/roller, WEAR_IN_BACK) //2.33
- new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //2.66
- new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //3
- new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //3.33
+ new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/compact, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/reagent_container/blood/OMinus, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/reagent_container/blood/OMinus, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/roller/surgical, WEAR_IN_BACK)
//face
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/command, WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/tool/screwdriver, WEAR_R_EAR)
if(new_human.disabilities & NEARSIGHTED)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES)
else
@@ -2661,23 +2666,29 @@
new_human.equip_to_slot_or_del(new hat, WEAR_HEAD)
//body
var/obj/item/clothing/under/marine/veteran/UPP/medic/UPP = new()
- var/obj/item/clothing/accessory/storage/tool_webbing/equipped/webbing = new()
+ var/obj/item/clothing/accessory/storage/surg_vest/drop_green/upp/webbing = new()
UPP.attach_accessory(new_human, webbing)
new_human.equip_to_slot_or_del(UPP, WEAR_BODY)
- new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/support, WEAR_JACKET)
- new_human.equip_to_slot_or_del(new /obj/item/reagent_container/glass/bottle/tricordrazine, WEAR_IN_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/support/synth, WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/telebaton, WEAR_IN_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/handcuffs, WEAR_IN_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/handcuffs, WEAR_IN_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector/hacked, WEAR_J_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
//waist
- new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/full, WEAR_WAIST)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/synth, WEAR_WAIST)
//limbs
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS)
//pockets
- new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical/full/pills, WEAR_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/tactical/upp, WEAR_R_STORE)
+
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical, WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/surgical_line, WEAR_IN_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_L_STORE)
- new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer, WEAR_IN_L_STORE)
- new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/tricordrazine, WEAR_IN_L_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/epinephrine, WEAR_IN_L_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/reagent_container/glass/bottle/epinephrine, WEAR_IN_L_STORE)
/datum/equipment_preset/upp/synth/get_antag_clothing_equipment()
return list(
@@ -2795,6 +2806,62 @@
list("Whistle", 5, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR),
)
+
+/datum/equipment_preset/upp/synth/combat
+ name = "UPP Combat Synthetic"
+ flags = EQUIPMENT_PRESET_EXTRA
+
+ assignment = JOB_UPP_COMBAT_SYNTH
+ rank = JOB_UPP_COMBAT_SYNTH
+
+/datum/equipment_preset/upp/synth/combat/load_skills(mob/living/carbon/human/new_human)
+ . = ..()
+ new_human.allow_gun_usage = TRUE
+
+/datum/equipment_preset/upp/synth/combat/load_gear(mob/living/carbon/human/new_human)
+ //back
+ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/surgical_line, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/compact, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/epinephrine, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/reagent_container/glass/bottle/epinephrine, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/reagent_container/blood/OMinus, WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/roller/surgical, WEAR_IN_BACK)
+ //face
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/command, WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/tool/screwdriver, WEAR_R_EAR)
+ if(new_human.disabilities & NEARSIGHTED)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES)
+ else
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES)
+ //head
+ var/hat = pick(/obj/item/clothing/head/uppcap, /obj/item/clothing/head/uppcap/beret, /obj/item/clothing/head/uppcap/ushanka)
+ new_human.equip_to_slot_or_del(new hat, WEAR_HEAD)
+ //body
+ var/obj/item/clothing/under/marine/veteran/UPP/UPP = new()
+ var/obj/item/clothing/accessory/storage/surg_vest/drop_green/upp/webbing = new()
+ UPP.attach_accessory(new_human, webbing)
+ new_human.equip_to_slot_or_del(UPP, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/support, WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/telebaton, WEAR_IN_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/bizon, WEAR_IN_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/bizon, WEAR_IN_JACKET)
+ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/bizon/upp, WEAR_J_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
+ //waist
+ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/synth, WEAR_WAIST)
+ //limbs
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS)
+ //pockets
+ var/obj/item/storage/pouch/magazine/large/ppouch = new()
+ new_human.equip_to_slot_or_del(ppouch, WEAR_L_STORE)
+ for(var/i = 1 to ppouch.storage_slots)
+ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/bizon, WEAR_IN_L_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/tactical/upp, WEAR_R_STORE)
+
//*****************************************************************************************************/
/datum/equipment_preset/upp/conscript
@@ -2809,7 +2876,6 @@
paygrade = PAY_SHORT_UE1
/datum/equipment_preset/upp/conscript/load_gear(mob/living/carbon/human/new_human)
- //TODO: add backpacks and satchels
//back
var/maybebackpack = prob(20) ? pick(/obj/item/storage/backpack/lightpack/upp, /obj/item/storage/backpack/lightpack) : null
if(maybebackpack)
@@ -2825,6 +2891,8 @@
//body
var/obj/item/clothing/under/marine/veteran/UPP/UPP = new()
new_human.equip_to_slot_or_del(UPP, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
var/maybejacket = prob(50) ? pick(/obj/item/clothing/suit/storage/marine/faction/UPP/jacket, /obj/item/clothing/suit/storage/snow_suit/soviet) : null
if(maybejacket)
@@ -2923,9 +2991,10 @@
access = get_access(ACCESS_LIST_GLOBAL)
/datum/equipment_preset/upp/commando/load_gear(mob/living/carbon/human/new_human)
- //TODO: add backpacks and satchels
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/kdo, WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/commando, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET)
@@ -3005,9 +3074,6 @@
list("Entrenching Tool", 2, /obj/item/tool/shovel/etool, null, VENDOR_ITEM_RECOMMENDED),
list("Sandbags x25", 5, /obj/item/stack/sandbags_empty/half, null, VENDOR_ITEM_RECOMMENDED),
- list("SPECIAL AMMUNITION", 0, null, null, null),
- list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR),
-
list("ATTACHMENTS", 0, null, null, null),
list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR),
list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
@@ -3046,9 +3112,10 @@
paygrade = PAY_SHORT_UC2
/datum/equipment_preset/upp/commando/medic/load_gear(mob/living/carbon/human/new_human)
- //TODO: add backpacks and satchels
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/kdo/medic, WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP/medic, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/commando, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET)
@@ -3175,9 +3242,6 @@
list("Roller Bed", 4, /obj/item/roller, null, VENDOR_ITEM_REGULAR),
list("Stasis Bag", 6, /obj/item/bodybag/cryobag, null, VENDOR_ITEM_REGULAR),
- list("SPECIAL AMMUNITION", 0, null, null, null),
- list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR),
-
list("ATTACHMENTS", 0, null, null, null),
list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR),
list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
@@ -3216,9 +3280,10 @@
idtype = /obj/item/card/id/silver
/datum/equipment_preset/upp/commando/leader/load_gear(mob/living/carbon/human/new_human)
- //TODO: add backpacks and satchels
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/kdo/command, WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/commando, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET)
@@ -3328,9 +3393,6 @@
list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR),
list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY),
- list("SPECIAL AMMUNITION", 0, null, null, null),
- list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR),
-
list("ATTACHMENTS", 0, null, null, null),
list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR),
list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
@@ -3362,6 +3424,8 @@
/datum/equipment_preset/upp/commando/low_threat/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/kdo, WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/commando, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET)
@@ -3390,9 +3454,10 @@
name = "UPP Commando Medic"
/datum/equipment_preset/upp/commando/medic/load_gear(mob/living/carbon/human/new_human)
- //TODO: add backpacks and satchels
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/kdo/medic, WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP/medic, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/commando, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET)
@@ -3429,9 +3494,10 @@
name = "UPP Commando Leader"
/datum/equipment_preset/upp/commando/leader/load_gear(mob/living/carbon/human/new_human)
- //TODO: add backpacks and satchels
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/kdo/command, WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/commando, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET)
@@ -3471,6 +3537,8 @@
/datum/equipment_preset/upp/tank/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/cct(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding(new_human), WEAR_EYES)
@@ -3606,6 +3674,8 @@
var/obj/item/clothing/accessory/storage/surg_vest/equipped/W = new()
UPP.attach_accessory(new_human, W)
new_human.equip_to_slot_or_del(UPP, WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY)
//waist
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/full, WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/oxycodone, WEAR_IN_BELT)
diff --git a/code/modules/gear_presets/uscm.dm b/code/modules/gear_presets/uscm.dm
index 5402a5ed7305..eec3b6157877 100644
--- a/code/modules/gear_presets/uscm.dm
+++ b/code/modules/gear_presets/uscm.dm
@@ -16,9 +16,9 @@
service_hat = list(/obj/item/clothing/head/cmcap)
service_shoes = list(/obj/item/clothing/shoes/dress)
- dress_under = list(/obj/item/clothing/under/marine/dress)
- dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress)
- dress_hat = list(/obj/item/clothing/head/marine/peaked)
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover)
dress_gloves = list(/obj/item/clothing/gloves/marine/dress)
dress_shoes = list(/obj/item/clothing/shoes/dress)
var/auto_squad_name
@@ -72,6 +72,8 @@
skills = /datum/skills/pfc
minimap_icon = "private"
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
/datum/equipment_preset/uscm/pfc/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel
@@ -108,6 +110,8 @@
skills = /datum/skills/smartgunner
minimap_icon = "smartgunner"
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
/datum/equipment_preset/uscm/sg/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel
@@ -227,6 +231,9 @@
utility_under = list(/obj/item/clothing/under/marine/officer/intel)
minimap_icon = "io"
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer)
/datum/equipment_preset/uscm/intel/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel
@@ -279,6 +286,8 @@
skills = /datum/skills/specialist
minimap_icon = "spec"
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
/datum/equipment_preset/uscm/spec/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel
@@ -338,6 +347,8 @@
minimap_icon = "medic"
utility_under = list(/obj/item/clothing/under/marine/medic)
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
/datum/equipment_preset/uscm/medic/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel/medic
@@ -400,6 +411,8 @@
minimap_icon = "engi"
utility_under = list(/obj/item/clothing/under/marine/engineer)
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
/datum/equipment_preset/uscm/engineer/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel/tech
@@ -463,6 +476,8 @@
skills = /datum/skills/pfc/crafty
minimap_icon = "private"
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
/datum/equipment_preset/uscm/private_equipped/load_status(mob/living/carbon/human/new_human)
new_human.nutrition = NUTRITION_NORMAL
@@ -553,6 +568,8 @@
skills = /datum/skills/smartgunner
minimap_icon = "smartgunner"
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
/datum/equipment_preset/uscm/smartgunner_equipped/load_status(mob/living/carbon/human/new_human)
new_human.nutrition = NUTRITION_NORMAL
@@ -592,6 +609,8 @@
minimap_icon = "engi"
utility_under = list(/obj/item/clothing/under/marine/engineer)
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
/datum/equipment_preset/uscm/engineer_equipped/load_status(mob/living/carbon/human/new_human)
new_human.nutrition = NUTRITION_NORMAL
@@ -638,6 +657,8 @@
minimap_icon = "medic"
utility_under = list(/obj/item/clothing/under/marine/medic)
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
/datum/equipment_preset/uscm/medic_equipped/load_status(mob/living/carbon/human/new_human)
new_human.nutrition = NUTRITION_NORMAL
@@ -690,6 +711,8 @@
skills = /datum/skills/specialist
minimap_icon = "spec"
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
/datum/equipment_preset/uscm/specialist_equipped/load_status(mob/living/carbon/human/new_human)
new_human.nutrition = NUTRITION_NORMAL
@@ -873,6 +896,9 @@
skills = /datum/skills/commando/deathsquad/leader
minimap_icon = "leader"
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer)
/datum/equipment_preset/uscm/marsoc/sl/load_rank(mob/living/carbon/human/new_human)
if(new_human.client)
@@ -898,6 +924,9 @@
role_comm_title = "CMD."
paygrade = PAY_SHORT_MO3
skills = /datum/skills/commando/deathsquad/officer
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer)
/datum/equipment_preset/uscm/marsoc/cmd/load_rank(mob/living/carbon/human/new_human)
if(new_human.client)
@@ -956,6 +985,9 @@
skills = /datum/skills/commando/deathsquad/leader
minimap_icon = "leader"
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer)
/datum/equipment_preset/uscm/marsoc/sl/load_rank(mob/living/carbon/human/new_human)
if(new_human.client)
diff --git a/code/modules/gear_presets/uscm_event.dm b/code/modules/gear_presets/uscm_event.dm
index ce36f1fd807f..3ab1dbc99b4e 100644
--- a/code/modules/gear_presets/uscm_event.dm
+++ b/code/modules/gear_presets/uscm_event.dm
@@ -31,11 +31,11 @@
service_extra = list(/obj/item/clothing/suit/storage/jacket/marine/dress/officer/bomber)
service_hat = list(/obj/item/clothing/head/beret/cm, /obj/item/clothing/head/beret/marine/commander/dress, /obj/item/clothing/head/beret/marine/commander/black)
- dress_under = list(/obj/item/clothing/under/marine/dress, /obj/item/clothing/under/marine/officer/formal/servicedress)
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/general)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer)
dress_extra = list(/obj/item/storage/large_holster/ceremonial_sword/full)
- dress_hat = list(/obj/item/clothing/head/marine/peaked/captain/white, /obj/item/clothing/head/marine/peaked/captain/black)
dress_shoes = list(/obj/item/clothing/shoes/dress/commander)
- dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/officer/white, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/black, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/suit)
/datum/equipment_preset/uscm_event/colonel/New()
. = ..()
@@ -72,6 +72,10 @@
service_gloves = list(/obj/item/clothing/gloves/black, /obj/item/clothing/gloves/marine/dress)
service_hat = list(/obj/item/clothing/head/general, /obj/item/clothing/head/beret/marine/commander/black)
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/general)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer)
+
/datum/equipment_preset/uscm_event/general/New()
. = ..()
access = get_access(ACCESS_LIST_GLOBAL)
@@ -149,6 +153,10 @@
role_comm_title = "OT"
skills = /datum/skills/spy
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover)
+
/datum/equipment_preset/uscm_event/upp_spy/load_gear(mob/living/carbon/human/new_human)
//TODO: add backpacks and satchels
var/back_item = /obj/item/storage/backpack/marine/satchel/tech
@@ -200,6 +208,10 @@
role_comm_title = "PvE"
flags = EQUIPMENT_PRESET_EXTRA
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover)
+
/datum/equipment_preset/uscm_event/provost/enforcer/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/satchel/sec
if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
@@ -242,6 +254,10 @@
role_comm_title = "PvTML"
flags = EQUIPMENT_PRESET_EXTRA
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover)
+
/datum/equipment_preset/uscm_event/provost/tml/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/satchel/sec
if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
@@ -284,6 +300,10 @@
role_comm_title = "PvI"
flags = EQUIPMENT_PRESET_EXTRA
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer)
+
/datum/equipment_preset/uscm_event/provost/inspector/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/satchel/sec
if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
@@ -331,6 +351,10 @@
role_comm_title = PAY_SHORT_PVM
flags = EQUIPMENT_PRESET_EXTRA
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/general)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer)
+
/datum/equipment_preset/uscm_event/provost/marshal/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/satchel/sec
if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
@@ -351,6 +375,7 @@
new_human.equip_to_slot_or_del(new /obj/item/device/taperecorder(new_human), WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/pistol/pmc_mateba(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/MP/provost/marshal(new_human.back), WEAR_IN_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/device/cotablet(new_human.back), WEAR_IN_BACK)
/datum/equipment_preset/uscm_event/provost/marshal/sector
name = "Provost Sector Marshal (MO7)"
diff --git a/code/modules/gear_presets/uscm_medical.dm b/code/modules/gear_presets/uscm_medical.dm
index 8fbfd72c5276..14db97b35229 100644
--- a/code/modules/gear_presets/uscm_medical.dm
+++ b/code/modules/gear_presets/uscm_medical.dm
@@ -14,9 +14,9 @@
service_hat = list(/obj/item/clothing/head/cmcap)
service_shoes = list(/obj/item/clothing/shoes/dress)
- dress_under = list(/obj/item/clothing/under/marine/dress)
- dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress)
- dress_hat = list(/obj/item/clothing/head/marine/peaked)
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer)
dress_gloves = list(/obj/item/clothing/gloves/marine/dress)
dress_shoes = list(/obj/item/clothing/shoes/dress)
@@ -101,6 +101,12 @@
minimap_icon = list("medic")
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover)
+ dress_gloves = list(/obj/item/clothing/gloves/marine/dress)
+ dress_shoes = list(/obj/item/clothing/shoes/dress)
+
/datum/equipment_preset/uscm_ship/uscm_medical/nurse/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel
if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
diff --git a/code/modules/gear_presets/uscm_ship.dm b/code/modules/gear_presets/uscm_ship.dm
index 3651b83cc209..cda77b4dd4f4 100644
--- a/code/modules/gear_presets/uscm_ship.dm
+++ b/code/modules/gear_presets/uscm_ship.dm
@@ -16,9 +16,9 @@
service_hat = list(/obj/item/clothing/head/cmcap)
service_shoes = list(/obj/item/clothing/shoes/dress)
- dress_under = list(/obj/item/clothing/under/marine/dress)
- dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress)
- dress_hat = list(/obj/item/clothing/head/marine/peaked)
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer)
dress_gloves = list(/obj/item/clothing/gloves/marine/dress)
dress_shoes = list(/obj/item/clothing/shoes/dress)
@@ -128,6 +128,10 @@
minimap_icon = "correspondent"
minimap_background = MINIMAP_ICON_BACKGROUND_CIVILIAN
+ dress_under = list()
+ dress_over = list()
+ dress_hat = list()
+
/datum/equipment_preset/uscm_ship/reporter/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/reporter(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/reporter(new_human), WEAR_BODY)
@@ -159,6 +163,9 @@
minimap_icon = "correspondent"
minimap_background = MINIMAP_ICON_BACKGROUND_CIC
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover)
+
/datum/equipment_preset/uscm_ship/reporter_uscm/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/satchel
if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
@@ -242,6 +249,9 @@
minimap_icon = "engi"
utility_under = list(/obj/item/clothing/under/marine/officer/engi)
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover)
/datum/equipment_preset/uscm_ship/maint/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel/tech
@@ -280,6 +290,9 @@
minimap_icon = "ot"
utility_under = list(/obj/item/clothing/under/marine/officer/engi)
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover)
/datum/equipment_preset/uscm_ship/ordn/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel/tech
@@ -323,6 +336,8 @@
minimap_icon = list("ct" = MINIMAP_ICON_COLOR_HEAD)
utility_under = list(/obj/item/clothing/under/rank/qm_suit)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover)
/datum/equipment_preset/uscm_ship/qm/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel/tech
@@ -344,7 +359,7 @@
name = "USCM Cargo Technician (CT)"
flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE
- access = list(ACCESS_MARINE_CARGO, ACCESS_MARINE_PREP)
+ access = list(ACCESS_MARINE_CARGO)
assignment = JOB_CARGO_TECH
rank = JOB_CARGO_TECH
paygrade = PAY_SHORT_ME2
@@ -354,6 +369,9 @@
minimap_icon = "ct"
utility_under = list(/obj/item/clothing/under/rank/cargotech)
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover)
/datum/equipment_preset/uscm_ship/cargo/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel/tech
@@ -401,11 +419,11 @@
service_extra = list(/obj/item/clothing/suit/storage/jacket/marine/dress/officer/bomber)
service_hat = list(/obj/item/clothing/head/beret/cm, /obj/item/clothing/head/beret/marine/commander/dress, /obj/item/clothing/head/beret/marine/commander/black, /obj/item/clothing/head/marine/peaked/service)
- dress_under = list(/obj/item/clothing/under/marine/dress, /obj/item/clothing/under/marine/officer/formal/servicedress)
- dress_extra = list(/obj/item/storage/large_holster/ceremonial_sword/full)
- dress_hat = list(/obj/item/clothing/head/marine/peaked/captain/white, /obj/item/clothing/head/marine/peaked/captain/black, /obj/item/clothing/head/marine/peaked)
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer)
dress_shoes = list(/obj/item/clothing/shoes/dress/commander)
- dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/officer/white, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/black, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/suit, /obj/item/clothing/suit/storage/jacket/marine/dress)
+ dress_extra = list(/obj/item/storage/large_holster/ceremonial_sword/full)
/datum/equipment_preset/uscm_ship/commander/New()
. = ..()
@@ -462,12 +480,9 @@
minimum_age = 35
dress_over = list(
- /obj/item/clothing/suit/storage/jacket/marine/dress/officer/white,
- /obj/item/clothing/suit/storage/jacket/marine/dress/officer/black,
- /obj/item/clothing/suit/storage/jacket/marine/dress/officer/suit,
+ /obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer,
/obj/item/clothing/suit/storage/jacket/marine/dress/officer/falcon,
)
-
/datum/equipment_preset/uscm_ship/commander/council/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/bridge(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/marine/commander/council(new_human), WEAR_HEAD)
@@ -477,6 +492,7 @@
name = "USCM Commanding Officer (CO++)"
idtype = /obj/item/card/id/general
paygrade = PAY_SHORT_MO6
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior, /obj/item/clothing/under/marine/dress/blues/general)
/datum/equipment_preset/uscm_ship/commander/council/plus/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/marine/commander/councilchief(new_human), WEAR_HEAD)
@@ -571,6 +587,8 @@
minimap_icon = "sea"
service_hat = list(/obj/item/clothing/head/cmcap, /obj/item/clothing/head/drillhat)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover)
/datum/equipment_preset/uscm_ship/sea/New()
. = ..()
@@ -658,21 +676,71 @@
//*****************************************************************************************************/
-/datum/equipment_preset/uscm_ship/po
- name = "USCM Pilot (DP) (Cryo)"
+/datum/equipment_preset/uscm_ship/gp
+ name = "USCM Gunship Pilot (GP) (Cryo)"
flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE
idtype = /obj/item/card/id/silver
access = list(ACCESS_MARINE_COMMAND, ACCESS_MARINE_DROPSHIP, ACCESS_MARINE_PILOT)
- assignment = JOB_PILOT
- rank = JOB_PILOT
+ assignment = JOB_CAS_PILOT
+ rank = JOB_CAS_PILOT
+ paygrade = PAY_SHORT_MO1
+ role_comm_title = "GP"
+ skills = /datum/skills/pilot
+
+ minimap_icon = "pilot"
+
+/datum/equipment_preset/uscm_ship/gp/load_gear(mob/living/carbon/human/new_human)
+ var/back_item = /obj/item/storage/backpack/satchel
+ if(new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
+ back_item = /obj/item/storage/backpack/marine
+
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/po(new_human), WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/pilot(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+
+//*****************************************************************************************************/
+
+/datum/equipment_preset/uscm_ship/gp/full
+ name = "USCM Gunship Pilot (GP)"
+ flags = EQUIPMENT_PRESET_EXTRA|EQUIPMENT_PRESET_MARINE
+
+ utility_under = list(/obj/item/clothing/under/marine/officer/pilot)
+
+/datum/equipment_preset/uscm_ship/gp/full/load_gear(mob/living/carbon/human/new_human)
+ var/back_item = /obj/item/storage/backpack/satchel
+ if(new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
+ back_item = /obj/item/storage/backpack/marine
+
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/po(new_human), WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/pilot(new_human), WEAR_BODY)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/pilot(new_human), WEAR_JACKET)
+ new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK)
+ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/pilot(new_human), WEAR_HEAD)
+ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(new_human), WEAR_EYES)
+
+//*****************************************************************************************************/
+
+/datum/equipment_preset/uscm_ship/dp
+ name = "USCM Dropship Pilot (DP) (Cryo)"
+ flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE
+
+ idtype = /obj/item/card/id/silver
+ access = list(ACCESS_MARINE_COMMAND, ACCESS_MARINE_DROPSHIP, ACCESS_MARINE_PILOT)
+ assignment = JOB_DROPSHIP_PILOT
+ rank = JOB_DROPSHIP_PILOT
paygrade = PAY_SHORT_MO1
role_comm_title = "DP"
skills = /datum/skills/pilot
minimap_icon = "pilot"
-/datum/equipment_preset/uscm_ship/po/load_gear(mob/living/carbon/human/new_human)
+/datum/equipment_preset/uscm_ship/dp/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/satchel
if(new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
back_item = /obj/item/storage/backpack/marine
@@ -684,13 +752,13 @@
//*****************************************************************************************************/
-/datum/equipment_preset/uscm_ship/po/full
- name = "USCM Pilot Officer (PO)"
+/datum/equipment_preset/uscm_ship/dp/full
+ name = "USCM Dropship Pilot (DP)"
flags = EQUIPMENT_PRESET_EXTRA|EQUIPMENT_PRESET_MARINE
utility_under = list(/obj/item/clothing/under/marine/officer/pilot)
-/datum/equipment_preset/uscm_ship/po/full/load_gear(mob/living/carbon/human/new_human)
+/datum/equipment_preset/uscm_ship/dp/full/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/satchel
if(new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
back_item = /obj/item/storage/backpack/marine
@@ -722,6 +790,9 @@
minimap_icon = "dcc"
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover)
+
/datum/equipment_preset/uscm_ship/dcc/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/satchel
if(new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
@@ -778,9 +849,7 @@
service_hat = list(/obj/item/clothing/head/beret/cm)
service_shoes = list(/obj/item/clothing/shoes/dress/commander)
- dress_extra = list(/obj/item/clothing/head/beret/marine/commander/dress, /obj/item/storage/large_holster/ceremonial_sword/full)
- dress_hat = list(/obj/item/clothing/head/marine/peaked/captain)
- dress_shoes = list(/obj/item/clothing/shoes/dress/commander)
+ dress_extra = list(/obj/item/storage/large_holster/ceremonial_sword/full)
/datum/equipment_preset/uscm_ship/officer/New()
. = ..()
@@ -813,6 +882,9 @@
minimap_icon = "mst"
utility_under = list(/obj/item/clothing/under/marine/chef)
+ dress_under = list(/obj/item/clothing/under/marine/dress/blues)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues)
+ dress_hat = list(/obj/item/clothing/head/marine/dress_cover)
/datum/equipment_preset/uscm_ship/chef/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/marine/satchel
diff --git a/code/modules/law/laws/precautionary_charge.dm b/code/modules/law/laws/precautionary_charge.dm
index c06cd6ca5287..7be4cb2b2e65 100644
--- a/code/modules/law/laws/precautionary_charge.dm
+++ b/code/modules/law/laws/precautionary_charge.dm
@@ -10,7 +10,7 @@
/datum/law/precautionary_charge/insanity
name = "Insanity"
- desc = "Acting in such a manner which makes the offender not sound clear of mind. The CMO or Synthetic can declare insanity on a Marine if the Marine is believed to not be of sound mind. The Marine once cleared to be of sound mind may be released from this particular charge."
+ desc = "Acting in such a manner which makes the offender not sound clear of mind. The subject, once cleared to be of sound mind, may be released from this particular charge. Excepting in cases of Suicide/Attempted Suicide, only the CMO/Synthetic may declare someone insane."
/datum/law/precautionary_charge/prisoner_of_war
name = "Prisoner of War"
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 3a27af37f669..d13d5aa94053 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -33,8 +33,11 @@
layer = ABOVE_FLY_LAYER
stat = DEAD
mob_flags = KNOWS_TECHNOLOGY
- var/adminlarva = FALSE
+
+ /// If the observer is an admin, are they excluded from the xeno queue?
+ var/admin_larva_protection = TRUE // Enabled by default
var/ghostvision = TRUE
+ var/self_visibility = TRUE
var/can_reenter_corpse
var/started_as_observer //This variable is set to 1 when you enter the game as an observer.
//If you died in the game and are a ghost - this will remain as null.
@@ -69,10 +72,10 @@
set desc = "Toggles your ability to see things only ghosts can see, like other ghosts"
set category = "Ghost.Settings"
ghostvision = !ghostvision
- if(hud_used)
- var/atom/movable/screen/plane_master/lighting/lighting = hud_used.plane_masters["[GHOST_PLANE]"]
- if (lighting)
- lighting.alpha = ghostvision? 255 : 0
+ if(ghostvision)
+ see_invisible = INVISIBILITY_OBSERVER
+ else
+ see_invisible = HIDE_INVISIBLE_OBSERVER
to_chat(usr, SPAN_NOTICE("You [(ghostvision?"now":"no longer")] have ghost vision."))
/mob/dead/observer/Initialize(mapload, mob/body)
@@ -809,10 +812,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
set category = "Ghost.Settings"
if(client)
- if(client.view != GLOB.world_view_size)
- client.change_view(GLOB.world_view_size)
- else
+ // Check the current zoom level and toggle to the next level cyclically
+ if (client.view == GLOB.world_view_size)
client.change_view(14)
+ else if (client.view == 14)
+ client.change_view(28)
+ else
+ client.change_view(GLOB.world_view_size)
/mob/dead/observer/verb/toggle_darkness()
@@ -840,11 +846,12 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
/mob/dead/observer/verb/toggle_self_visibility()
set name = "Toggle Self Visibility"
set category = "Ghost.Settings"
-
- if (alpha)
- alpha = 0
- else
+ self_visibility = !self_visibility
+ if (self_visibility)
alpha = initial(alpha)
+ else
+ alpha = 0
+ to_chat(usr, SPAN_NOTICE("You are now [(self_visibility?"visible":"invisible")]."))
/mob/dead/observer/verb/view_manifest()
set name = "View Crew Manifest"
@@ -1184,7 +1191,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(!SSticker.HasRoundStarted())
var/time_remaining = SSticker.GetTimeLeft()
if(time_remaining > 0)
- . += "Time To Start: [round(time_remaining)]s"
+ . += "Time To Start: [round(time_remaining)]s[SSticker.delay_start ? " (DELAYED)" : ""]"
else if(time_remaining == -10)
. += "Time To Start: DELAYED"
else
diff --git a/code/modules/mob/language/language.dm b/code/modules/mob/language/language.dm
index f00618fe54be..0a2fbca787d6 100644
--- a/code/modules/mob/language/language.dm
+++ b/code/modules/mob/language/language.dm
@@ -23,7 +23,7 @@
/datum/language/proc/broadcast(mob/living/speaker, message, speaker_mask)
- log_say("[key_name(speaker)] : ([name]) [message]")
+ log_say("[key_name(speaker)] : ([name]) [message] (AREA: [get_area_name(speaker)])")
for(var/mob/player in GLOB.player_list)
diff --git a/code/modules/mob/language/languages.dm b/code/modules/mob/language/languages.dm
index 86a96e3d160c..cfa023c7d9cd 100644
--- a/code/modules/mob/language/languages.dm
+++ b/code/modules/mob/language/languages.dm
@@ -174,7 +174,7 @@
GLOB.STUI.game.Add("\[[time_stamp()]]APOLLO: [key_name(speaker)] : [message]
")
GLOB.STUI.processing |= STUI_LOG_GAME_CHAT
- log_say("[speaker.name != "Unknown" ? speaker.name : "([speaker.real_name])"] \[APOLLO\]: [message] (CKEY: [speaker.key]) (JOB: [speaker.job])")
+ log_say("[speaker.name != "Unknown" ? speaker.name : "([speaker.real_name])"] \[APOLLO\]: [message] (CKEY: [speaker.key]) (JOB: [speaker.job]) (AREA: [get_area_name(speaker)])")
log_ares_apollo(speaker.real_name, message)
for (var/mob/dead in GLOB.dead_mob_list)
if(!istype(dead,/mob/new_player) && !istype(dead,/mob/living/brain)) //No meta-evesdropping
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index bac6db19a302..2759a454b57b 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -431,23 +431,6 @@
bodytemperature = max(bodytemperature, BODYTEMP_HEAT_DAMAGE_LIMIT+10)
recalculate_move_delay = TRUE
-
-/mob/living/carbon/show_inv(mob/living/carbon/user as mob)
- user.set_interaction(src)
- var/dat = {"
-
[name]
-
-
Head(Mask): [(wear_mask ? wear_mask : "Nothing")]
-
Left Hand: [(l_hand ? l_hand : "Nothing")]
-
Right Hand: [(r_hand ? r_hand : "Nothing")]
-
Back: [(back ? back : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/tank) && !( internal )) ? " Set Internal" : "")]
-
[(handcuffed ? "Handcuffed" : "Not Handcuffed")]
-
[(internal ? "Remove Internal" : "")]
-
Refresh
-
Close
-
"}
- show_browser(user, dat, name, "mob[name]")
-
/**
* Called by [/mob/dead/observer/proc/do_observe] when a carbon mob is observed by a ghost with [/datum/preferences/var/auto_observe] enabled.
*
diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm
index af0da452d13e..c97e4344cabf 100644
--- a/code/modules/mob/living/carbon/human/death.dm
+++ b/code/modules/mob/living/carbon/human/death.dm
@@ -10,13 +10,16 @@
// Override the current limb status
E.droplimb(0, 0, cause)
- undefibbable = TRUE
+
GLOB.data_core.manifest_modify(real_name, WEAKREF(src), null, null, "*Deceased*")
if(is_a_synth)
spawn_gibs()
return
+
+ undefibbable = TRUE
+
..()
/mob/living/carbon/human/gib_animation()
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 3ebd199b08d9..4e71b178824d 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -13,7 +13,7 @@
create_reagents(1000)
if(!real_name || !name)
change_real_name(src, "unknown")
-
+ AddElement(/datum/element/strippable, GLOB.strippable_human_items, TYPE_PROC_REF(/mob/living/carbon/human, should_strip))
. = ..()
prev_gender = gender // Debug for plural genders
@@ -272,45 +272,6 @@
-/mob/living/carbon/human/show_inv(mob/living/user)
- var/obj/item/clothing/under/suit = null
- if(istype(w_uniform, /obj/item/clothing/under))
- suit = w_uniform
-
- user.set_interaction(src)
- var/dat = {"
-
[name]
-
-
(Exo)Suit: [(wear_suit ? wear_suit : "Nothing")]
-
Suit Storage: [(s_store ? s_store : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(s_store, /obj/item/tank) && !( internal )) ? " Set Internal" : "")]
-
Back: [(back ? back : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/tank) && !( internal )) ? " Set Internal" : "")]
-
Head(Mask): [(wear_mask ? wear_mask : "Nothing")]
-
Left Hand: [(l_hand ? l_hand : "Nothing")]
-
Right Hand: [(r_hand ? r_hand : "Nothing")]
-
Gloves: [(gloves ? gloves : "Nothing")]
-
Eyes: [(glasses ? glasses : "Nothing")]
-
Left Ear: [(wear_l_ear ? wear_l_ear : "Nothing")]
-
Right Ear: [(wear_r_ear ? wear_r_ear : "Nothing")]
-
Head: [(head ? head : "Nothing")]
-
Shoes: [(shoes ? shoes : "Nothing")]
-
Belt: [(belt ? belt : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(belt, /obj/item/tank) && !internal) ? " Set Internal" : "")]
-
Uniform: [(w_uniform ? w_uniform : "Nothing")] [(suit) ? ((suit.has_sensor == UNIFORM_HAS_SENSORS) ? " Sensors" : "") : null]
-
ID: [(wear_id ? wear_id : "Nothing")]
-
Left Pocket: [(l_store ? l_store : "Nothing")]
-
Right Pocket: [(r_store ? r_store : "Nothing")]
-
- [handcuffed ? "
Handcuffed" : ""]
- [legcuffed ? "
Legcuffed" : ""]
- [suit && LAZYLEN(suit.accessories) ? "
Remove Accessory" : ""]
- [internal ? "
Remove Internal" : ""]
- [istype(wear_id, /obj/item/card/id/dogtag) ? "
Retrieve Info Tag" : ""]
-
Remove Splints
-
-
Refresh
-
Close
-
"}
- show_browser(user, dat, name, "mob[name]")
-
/**
* Handles any storage containers that the human is looking inside when auto-observed.
*/
@@ -426,9 +387,6 @@
/mob/living/carbon/human/Topic(href, href_list)
- if(href_list["refresh"])
- if(interactee&&(in_range(src, usr)))
- show_inv(interactee)
if(href_list["mach_close"])
var/t1 = text("window=[]", href_list["mach_close"])
@@ -473,76 +431,6 @@
what = usr.get_active_hand()
usr.stripPanelEquip(what,src,slot)
- if(href_list["internal"])
-
- if(!usr.action_busy && !usr.is_mob_incapacitated() && Adjacent(usr))
- attack_log += text("\[[time_stamp()]\] Has had their internals toggled by [key_name(usr)]")
- usr.attack_log += text("\[[time_stamp()]\] Attempted to toggle [key_name(src)]'s' internals")
- if(internal)
- usr.visible_message(SPAN_DANGER("[usr] is trying to disable [src]'s internals"), null, null, 3)
- else
- usr.visible_message(SPAN_DANGER("[usr] is trying to enable [src]'s internals."), null, null, 3)
-
- if(do_after(usr, POCKET_STRIP_DELAY, INTERRUPT_ALL, BUSY_ICON_GENERIC, src, INTERRUPT_MOVED, BUSY_ICON_GENERIC))
- if(internal)
- internal.add_fingerprint(usr)
- internal = null
- visible_message("[src] is no longer running on internals.", null, null, 1)
- else
- if(istype(wear_mask, /obj/item/clothing/mask))
- if(istype(back, /obj/item/tank))
- internal = back
- else if(istype(s_store, /obj/item/tank))
- internal = s_store
- else if(istype(belt, /obj/item/tank))
- internal = belt
- if(internal)
- visible_message(SPAN_NOTICE("[src] is now running on internals."), null, null, 1)
- internal.add_fingerprint(usr)
-
- // Update strip window
- if(usr.interactee == src && Adjacent(usr))
- show_inv(usr)
-
-
- if(href_list["splints"])
- if(!usr.action_busy && !usr.is_mob_incapacitated() && Adjacent(usr))
- if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (stat == DEAD || health < HEALTH_THRESHOLD_CRIT) && !get_target_lock(usr.faction_group))
- to_chat(usr, SPAN_WARNING("You can't strip a crit or dead member of another faction!"))
- return
- attack_log += text("\[[time_stamp()]\] Has had their splints removed by [key_name(usr)]")
- usr.attack_log += text("\[[time_stamp()]\] Attempted to remove [key_name(src)]'s' splints ")
- remove_splints(usr)
-
- if(href_list["tie"])
- if(!usr.action_busy && !usr.is_mob_incapacitated() && Adjacent(usr))
- if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (stat == DEAD || health < HEALTH_THRESHOLD_CRIT) && !get_target_lock(usr.faction_group))
- to_chat(usr, SPAN_WARNING("You can't strip a crit or dead member of another faction!"))
- return
- if(w_uniform && istype(w_uniform, /obj/item/clothing))
- var/obj/item/clothing/under/U = w_uniform
- if(!LAZYLEN(U.accessories))
- return FALSE
- var/obj/item/clothing/accessory/A = LAZYACCESS(U.accessories, 1)
- if(LAZYLEN(U.accessories) > 1)
- A = tgui_input_list(usr, "Select an accessory to remove from [U]", "Remove accessory", U.accessories)
- if(!istype(A))
- return
- attack_log += text("\[[time_stamp()]\] Has had their accessory ([A]) removed by [key_name(usr)]")
- usr.attack_log += text("\[[time_stamp()]\] Attempted to remove [key_name(src)]'s' accessory ([A])")
- if(istype(A, /obj/item/clothing/accessory/holobadge) || istype(A, /obj/item/clothing/accessory/medal))
- visible_message(SPAN_DANGER("[usr] tears off \the [A] from [src]'s [U]!"), null, null, 5)
- if(U == w_uniform)
- U.remove_accessory(usr, A)
- else
- if(HAS_TRAIT(src, TRAIT_UNSTRIPPABLE) && !is_mob_incapacitated()) //Can't strip the unstrippable!
- to_chat(usr, SPAN_DANGER("[src] has an unbreakable grip on their equipment!"))
- return
- visible_message(SPAN_DANGER("[usr] is trying to take off \a [A] from [src]'s [U]!"), null, null, 5)
- if(do_after(usr, get_strip_delay(usr, src), INTERRUPT_ALL, BUSY_ICON_GENERIC, src, INTERRUPT_MOVED, BUSY_ICON_GENERIC))
- if(U == w_uniform)
- U.remove_accessory(usr, A)
-
if(href_list["sensor"])
if(!usr.action_busy && !usr.is_mob_incapacitated() && Adjacent(usr))
if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (stat == DEAD || health < HEALTH_THRESHOLD_CRIT) && !get_target_lock(usr.faction_group))
@@ -834,25 +722,7 @@
R.fields[text("com_[counter]")] = text("Made by [U.get_authentification_name()] ([U.get_assignment()]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]
[t1]")
if(href_list["medholocard"])
- if(!skillcheck(usr, SKILL_MEDICAL, SKILL_MEDICAL_MEDIC))
- to_chat(usr, SPAN_WARNING("You're not trained to use this."))
- return
- if(!has_species(src, "Human"))
- to_chat(usr, SPAN_WARNING("Triage holocards only works on humans."))
- return
- var/newcolor = tgui_input_list(usr, "Choose a triage holo card to add to the patient:", "Triage holo card", list("black", "red", "orange", "none"))
- if(!newcolor) return
- if(get_dist(usr, src) > 7)
- to_chat(usr, SPAN_WARNING("[src] is too far away."))
- return
- if(newcolor == "none")
- if(!holo_card_color) return
- holo_card_color = null
- to_chat(usr, SPAN_NOTICE("You remove the holo card on [src]."))
- else if(newcolor != holo_card_color)
- holo_card_color = newcolor
- to_chat(usr, SPAN_NOTICE("You add a [newcolor] holo card on [src]."))
- update_targeted()
+ change_holo_card(usr)
if(href_list["lookitem"])
var/obj/item/I = locate(href_list["lookitem"])
@@ -904,6 +774,39 @@
..()
return
+/mob/living/carbon/human/proc/change_holo_card(mob/user)
+ if(isobserver(user))
+ return
+ if(!skillcheck(user, SKILL_MEDICAL, SKILL_MEDICAL_MEDIC))
+ // Removing your own holocard when you are not trained
+ if(user == src && holo_card_color)
+ if(tgui_alert(user, "Are you sure you want to reset your own holocard?", "Resetting Holocard", list("Yes", "No")) != "Yes")
+ return
+ holo_card_color = null
+ to_chat(user, SPAN_NOTICE("You reset your holocard."))
+ hud_set_holocard()
+ return
+ to_chat(user, SPAN_WARNING("You're not trained to use this."))
+ return
+ if(!has_species(src, "Human"))
+ to_chat(user, SPAN_WARNING("Triage holocards only works on humans."))
+ return
+ var/newcolor = tgui_input_list(user, "Choose a triage holo card to add to the patient:", "Triage holo card", list("black", "red", "orange", "purple", "none"))
+ if(!newcolor)
+ return
+ if(get_dist(user, src) > 7)
+ to_chat(user, SPAN_WARNING("[src] is too far away."))
+ return
+ if(newcolor == "none")
+ if(!holo_card_color)
+ return
+ holo_card_color = null
+ to_chat(user, SPAN_NOTICE("You remove the holo card on [src]."))
+ else if(newcolor != holo_card_color)
+ holo_card_color = newcolor
+ to_chat(user, SPAN_NOTICE("You add a [newcolor] holo card on [src]."))
+ hud_set_holocard()
+
/mob/living/carbon/human/tgui_interact(mob/user, datum/tgui/ui) // I'M SORRY, SO FUCKING SORRY
. = ..()
ui = SStgui.try_update_ui(user, src, ui)
diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm
index 1d56b7db2728..e664143be74d 100644
--- a/code/modules/mob/living/carbon/human/human_attackhand.dm
+++ b/code/modules/mob/living/carbon/human/human_attackhand.dm
@@ -60,9 +60,11 @@
revive_grace_period += 7 SECONDS
attacking_mob.visible_message(SPAN_NOTICE("[attacking_mob] performs CPR on [src]."),
SPAN_HELPFUL("You perform CPR on [src]."))
+ balloon_alert(attacking_mob, "you perform cpr")
else
attacking_mob.visible_message(SPAN_NOTICE("[attacking_mob] fails to perform CPR on [src]."),
SPAN_HELPFUL("You fail to perform CPR on [src]. Incorrect rhythm. Do it slower."))
+ balloon_alert(attacking_mob, "incorrect rhythm. do it slower")
cpr_cooldown = world.time + 7 SECONDS
cpr_attempt_timer = 0
return 1
@@ -191,12 +193,6 @@
/mob/living/carbon/human/help_shake_act(mob/living/carbon/M)
//Target is us
if(src == M)
- if(holo_card_color) //if we have a triage holocard printed on us, we remove it.
- holo_card_color = null
- update_targeted()
- visible_message(SPAN_NOTICE("[src] removes the holo card on [gender==MALE?"himself":"herself"]."), \
- SPAN_NOTICE("You remove the holo card on yourself."), null, 3)
- return
check_for_injuries()
return
@@ -213,7 +209,10 @@
if(client)
sleeping = max(0,src.sleeping-5)
if(!sleeping)
- set_resting(FALSE)
+ if(is_dizzy)
+ to_chat(M, SPAN_WARNING("[src] looks dizzy. Maybe you should let [t_him] rest a bit longer."))
+ else
+ set_resting(FALSE)
M.visible_message(SPAN_NOTICE("[M] shakes [src] trying to wake [t_him] up!"), \
SPAN_NOTICE("You shake [src] trying to wake [t_him] up!"), null, 4)
else if(HAS_TRAIT(src, TRAIT_INCAPACITATED))
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index 9ec9d0b05ec5..e611452e9de7 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -136,7 +136,7 @@
var/last_chew = 0
//taken from human.dm
- hud_possible = list(HEALTH_HUD,STATUS_HUD, STATUS_HUD_OOC, STATUS_HUD_XENO_INFECTION, STATUS_HUD_XENO_CULTIST, ID_HUD, WANTED_HUD, ORDER_HUD, XENO_HOSTILE_ACID, XENO_HOSTILE_SLOW, XENO_HOSTILE_TAG, XENO_HOSTILE_FREEZE, HUNTER_CLAN, HUNTER_HUD, FACTION_HUD)
+ hud_possible = list(HEALTH_HUD, STATUS_HUD, STATUS_HUD_OOC, STATUS_HUD_XENO_INFECTION, STATUS_HUD_XENO_CULTIST, ID_HUD, WANTED_HUD, ORDER_HUD, XENO_HOSTILE_ACID, XENO_HOSTILE_SLOW, XENO_HOSTILE_TAG, XENO_HOSTILE_FREEZE, HUNTER_CLAN, HUNTER_HUD, FACTION_HUD, HOLOCARD_HUD)
var/embedded_flag //To check if we've need to roll for damage on movement while an item is imbedded in us.
var/allow_gun_usage = TRUE
var/melee_allowed = TRUE
@@ -167,6 +167,9 @@
/// static associated list of limb key -> image to avoid unnecessary overlay generation
var/static/list/icon_render_image_cache = list()
+ /// Stored image references associated with focus-fire.
+ var/image/focused_fire_marker
+
/client/var/cached_human_playtime
/client/proc/get_total_human_playtime(skip_cache = FALSE)
diff --git a/code/modules/mob/living/carbon/human/human_dummy.dm b/code/modules/mob/living/carbon/human/human_dummy.dm
index b6fb109cd038..0c0584c5292b 100644
--- a/code/modules/mob/living/carbon/human/human_dummy.dm
+++ b/code/modules/mob/living/carbon/human/human_dummy.dm
@@ -82,17 +82,8 @@ GLOBAL_LIST_EMPTY(dummy_mob_list)
ADD_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_SOURCE_TUTORIAL)
anchored = TRUE
-// Professor Dummy, used by CMOs and SEAs to teach new nurses/doctors
-/mob/living/carbon/human/dummy/professor_dummy/Initialize(mapload)
+/// Professor Dummy, used by CMOs and SEAs to teach new nurses/doctors
+/mob/living/carbon/human/professor_dummy/Initialize()
. = ..()
- RegisterSignal(SSdcs, COMSIG_GLOB_HIJACK_LANDED, PROC_REF(destroy_upon_hijack))
-
-/mob/living/carbon/human/dummy/professor_dummy/proc/destroy_upon_hijack()
- SIGNAL_HANDLER
-
- visible_message(SPAN_WARNING("The [src] suddenly disintegrates!"))
- dust(create_cause_data("hijack autodelete"))
-
-/mob/living/carbon/human/dummy/professor_dummy/Destroy()
- UnregisterSignal(src, COMSIG_GLOB_HIJACK_LANDED)
- return ..()
+ create_hud()
+ arm_equipment(src, /datum/equipment_preset/other/professor_dummy)
diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm
index c38ddbcd552c..d6d438441d20 100644
--- a/code/modules/mob/living/carbon/human/human_helpers.dm
+++ b/code/modules/mob/living/carbon/human/human_helpers.dm
@@ -206,18 +206,18 @@
return FALSE
-/mob/living/carbon/human/is_mob_restrained(check_grab = 1)
+/mob/living/carbon/human/is_mob_restrained(check_grab = TRUE)
if(check_grab && pulledby && pulledby.grab_level >= GRAB_AGGRESSIVE)
- return 1
+ return TRUE
if (handcuffed)
- return 1
+ return TRUE
if (istype(wear_suit, /obj/item/clothing/suit/straight_jacket))
- return 1
+ return TRUE
if (HAS_TRAIT(src, TRAIT_NESTED))
return TRUE
- return 0
+ return FALSE
/mob/living/carbon/human/proc/disable_special_flags()
status_flags |= CANPUSH
diff --git a/code/modules/mob/living/carbon/human/human_stripping.dm b/code/modules/mob/living/carbon/human/human_stripping.dm
new file mode 100644
index 000000000000..e346a0a7368b
--- /dev/null
+++ b/code/modules/mob/living/carbon/human/human_stripping.dm
@@ -0,0 +1,272 @@
+GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list(
+ /datum/strippable_item/mob_item_slot/head,
+ /datum/strippable_item/mob_item_slot/back,
+ /datum/strippable_item/mob_item_slot/mask,
+ /datum/strippable_item/mob_item_slot/eyes,
+ /datum/strippable_item/mob_item_slot/r_ear,
+ /datum/strippable_item/mob_item_slot/l_ear,
+ /datum/strippable_item/mob_item_slot/jumpsuit,
+ /datum/strippable_item/mob_item_slot/suit,
+ /datum/strippable_item/mob_item_slot/gloves,
+ /datum/strippable_item/mob_item_slot/feet,
+ /datum/strippable_item/mob_item_slot/suit_storage,
+ /datum/strippable_item/mob_item_slot/id,
+ /datum/strippable_item/mob_item_slot/belt,
+ /datum/strippable_item/mob_item_slot/pocket/left,
+ /datum/strippable_item/mob_item_slot/pocket/right,
+ /datum/strippable_item/mob_item_slot/hand/left,
+ /datum/strippable_item/mob_item_slot/hand/right,
+ /datum/strippable_item/mob_item_slot/cuffs/handcuffs,
+ /datum/strippable_item/mob_item_slot/cuffs/legcuffs,
+)))
+
+/mob/living/carbon/human/proc/should_strip(mob/user)
+ if (user.pulling == src && user.grab_level == GRAB_AGGRESSIVE && (user.a_intent & INTENT_GRAB))
+ return FALSE //to not interfere with fireman carry
+ return TRUE
+
+/datum/strippable_item/mob_item_slot/head
+ key = STRIPPABLE_ITEM_HEAD
+ item_slot = SLOT_HEAD
+
+/datum/strippable_item/mob_item_slot/back
+ key = STRIPPABLE_ITEM_BACK
+ item_slot = SLOT_BACK
+
+/datum/strippable_item/mob_item_slot/mask
+ key = STRIPPABLE_ITEM_MASK
+ item_slot = SLOT_FACE
+
+/datum/strippable_item/mob_item_slot/mask/get_alternate_action(atom/source, mob/user)
+ var/obj/item/clothing/mask = get_item(source)
+ if (!istype(mask))
+ return
+ if (!ishuman(source))
+ return
+ var/mob/living/carbon/human/sourcehuman = source
+ if (istype(sourcehuman.s_store, /obj/item/tank))
+ return "toggle_internals"
+ if (istype(sourcehuman.back, /obj/item/tank))
+ return "toggle_internals"
+ if (istype(sourcehuman.belt, /obj/item/tank))
+ return "toggle_internals"
+ return
+
+/datum/strippable_item/mob_item_slot/mask/alternate_action(atom/source, mob/user)
+ if(!ishuman(source))
+ return
+ var/mob/living/carbon/human/sourcehuman = source
+ if(user.action_busy || user.is_mob_incapacitated() || !source.Adjacent(user))
+ return
+ if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (sourcehuman.stat == DEAD || sourcehuman.health < HEALTH_THRESHOLD_CRIT) && !sourcehuman.get_target_lock(user.faction_group))
+ to_chat(user, SPAN_WARNING("You can't toggle internals of a crit or dead member of another faction!"))
+ return
+
+ sourcehuman.attack_log += text("\[[time_stamp()]\] Has had their internals toggled by [key_name(user)]")
+ user.attack_log += text("\[[time_stamp()]\] Attempted to toggle [key_name(src)]'s' internals")
+ if(sourcehuman.internal)
+ user.visible_message(SPAN_DANGER("[user] is trying to disable [sourcehuman]'s internals"), null, null, 3)
+ else
+ user.visible_message(SPAN_DANGER("[user] is trying to enable [sourcehuman]'s internals."), null, null, 3)
+
+ if(!do_after(user, POCKET_STRIP_DELAY, INTERRUPT_ALL, BUSY_ICON_GENERIC, sourcehuman, INTERRUPT_MOVED, BUSY_ICON_GENERIC))
+ return
+
+ if(sourcehuman.internal)
+ sourcehuman.internal.add_fingerprint(user)
+ sourcehuman.internal = null
+ sourcehuman.visible_message("[sourcehuman] is no longer running on internals.", max_distance = 1)
+ return
+
+ if(!istype(sourcehuman.wear_mask, /obj/item/clothing/mask))
+ return
+
+ if(istype(sourcehuman.back, /obj/item/tank))
+ sourcehuman.internal = sourcehuman.back
+ else if(istype(sourcehuman.s_store, /obj/item/tank))
+ sourcehuman.internal = sourcehuman.s_store
+ else if(istype(sourcehuman.belt, /obj/item/tank))
+ sourcehuman.internal = sourcehuman.belt
+
+ if(!sourcehuman.internal)
+ return
+
+ sourcehuman.visible_message(SPAN_NOTICE("[sourcehuman] is now running on internals."), max_distance = 1)
+ sourcehuman.internal.add_fingerprint(user)
+
+/datum/strippable_item/mob_item_slot/eyes
+ key = STRIPPABLE_ITEM_EYES
+ item_slot = SLOT_EYES
+
+/datum/strippable_item/mob_item_slot/r_ear
+ key = STRIPPABLE_ITEM_R_EAR
+ item_slot = SLOT_EAR
+
+/datum/strippable_item/mob_item_slot/l_ear
+ key = STRIPPABLE_ITEM_L_EAR
+ item_slot = SLOT_EAR
+
+/datum/strippable_item/mob_item_slot/jumpsuit
+ key = STRIPPABLE_ITEM_JUMPSUIT
+ item_slot = SLOT_ICLOTHING
+
+/datum/strippable_item/mob_item_slot/jumpsuit/get_alternate_action(atom/source, mob/user)
+ var/obj/item/clothing/under/uniform = get_item(source)
+ if (!istype(uniform))
+ return null
+ return uniform?.accessories ? "remove_accessory" : null
+
+/datum/strippable_item/mob_item_slot/jumpsuit/alternate_action(atom/source, mob/user)
+ if(!ishuman(source))
+ return
+ var/mob/living/carbon/human/sourcemob = source
+ if(user.action_busy || user.is_mob_incapacitated() || !source.Adjacent(user))
+ return
+ if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (sourcemob.stat == DEAD || sourcemob.health < HEALTH_THRESHOLD_CRIT) && !sourcemob.get_target_lock(user.faction_group))
+ to_chat(user, SPAN_WARNING("You can't strip a crit or dead member of another faction!"))
+ return
+ if(!sourcemob.w_uniform || !istype(sourcemob.w_uniform, /obj/item/clothing))
+ return
+
+ var/obj/item/clothing/under/uniform = sourcemob.w_uniform
+ if(!LAZYLEN(uniform.accessories))
+ return FALSE
+ var/obj/item/clothing/accessory/accessory = LAZYACCESS(uniform.accessories, 1)
+ if(LAZYLEN(uniform.accessories) > 1)
+ accessory = tgui_input_list(user, "Select an accessory to remove from [uniform]", "Remove accessory", uniform.accessories)
+ if(!istype(accessory))
+ return
+ sourcemob.attack_log += text("\[[time_stamp()]\] Has had their accessory ([accessory]) removed by [key_name(user)]")
+ user.attack_log += text("\[[time_stamp()]\] Attempted to remove [key_name(sourcemob)]'s' accessory ([accessory])")
+ if(istype(accessory, /obj/item/clothing/accessory/holobadge) || istype(accessory, /obj/item/clothing/accessory/medal))
+ sourcemob.visible_message(SPAN_DANGER("[user] tears off [accessory] from [sourcemob]'s [uniform]!"), null, null, 5)
+ if(uniform == sourcemob.w_uniform)
+ uniform.remove_accessory(user, accessory)
+ return
+
+ if(HAS_TRAIT(sourcemob, TRAIT_UNSTRIPPABLE) && !sourcemob.is_mob_incapacitated()) //Can't strip the unstrippable!
+ to_chat(user, SPAN_DANGER("[sourcemob] has an unbreakable grip on their equipment!"))
+ return
+ sourcemob.visible_message(SPAN_DANGER("[user] is trying to take off \a [accessory] from [source]'s [uniform]!"), null, null, 5)
+
+ if(!do_after(user, sourcemob.get_strip_delay(user, sourcemob), INTERRUPT_ALL, BUSY_ICON_GENERIC, sourcemob, INTERRUPT_MOVED, BUSY_ICON_GENERIC))
+ return
+
+ if(uniform != sourcemob.w_uniform)
+ return
+
+ uniform.remove_accessory(user, accessory)
+
+/datum/strippable_item/mob_item_slot/suit
+ key = STRIPPABLE_ITEM_SUIT
+ item_slot = SLOT_OCLOTHING
+
+/datum/strippable_item/mob_item_slot/suit/has_no_item_alt_action()
+ return TRUE
+
+/datum/strippable_item/mob_item_slot/suit/get_alternate_action(atom/source, mob/user)
+ if(!ishuman(source))
+ return
+ var/mob/living/carbon/human/sourcemob = source
+ for(var/bodypart in list("l_leg","r_leg","l_arm","r_arm","r_hand","l_hand","r_foot","l_foot","chest","head","groin"))
+ var/obj/limb/limb = sourcemob.get_limb(bodypart)
+ if(limb && (limb.status & LIMB_SPLINTED))
+ return "remove_splints"
+ return
+
+/datum/strippable_item/mob_item_slot/suit/alternate_action(atom/source, mob/user)
+ if(!ishuman(source))
+ return
+ var/mob/living/carbon/human/sourcemob = source
+ if(user.action_busy || user.is_mob_incapacitated() || !source.Adjacent(user))
+ return
+ if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (sourcemob.stat == DEAD || sourcemob.health < HEALTH_THRESHOLD_CRIT) && !sourcemob.get_target_lock(user.faction_group))
+ to_chat(user, SPAN_WARNING("You can't remove splints of a crit or dead member of another faction!"))
+ return
+ sourcemob.attack_log += text("\[[time_stamp()]\] Has had their splints removed by [key_name(user)]")
+ user.attack_log += text("\[[time_stamp()]\] Attempted to remove [key_name(sourcemob)]'s' splints ")
+ sourcemob.remove_splints(user)
+
+/datum/strippable_item/mob_item_slot/gloves
+ key = STRIPPABLE_ITEM_GLOVES
+ item_slot = SLOT_HANDS
+
+/datum/strippable_item/mob_item_slot/feet
+ key = STRIPPABLE_ITEM_FEET
+ item_slot = SLOT_FEET
+
+/datum/strippable_item/mob_item_slot/suit_storage
+ key = STRIPPABLE_ITEM_SUIT_STORAGE
+ item_slot = SLOT_SUIT_STORE
+
+/datum/strippable_item/mob_item_slot/id
+ key = STRIPPABLE_ITEM_ID
+ item_slot = SLOT_ID
+
+/datum/strippable_item/mob_item_slot/id/get_alternate_action(atom/source, mob/user)
+ var/obj/item/card/id/dogtag/tag = get_item(source)
+ if(!ishuman(source))
+ return
+ var/mob/living/carbon/human/sourcemob = source
+ if (!istype(tag))
+ return
+ if (!sourcemob.undefibbable && (!skillcheck(user, SKILL_POLICE, SKILL_POLICE_SKILLED) || sourcemob.stat != DEAD))
+ return
+ return tag.dogtag_taken ? null : "retrieve_tag"
+
+/datum/strippable_item/mob_item_slot/id/alternate_action(atom/source, mob/user)
+ if(!ishuman(source))
+ return
+ var/mob/living/carbon/human/sourcemob = source
+ if(user.action_busy || user.is_mob_incapacitated() || !source.Adjacent(user))
+ return
+ if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (sourcemob.stat == DEAD || sourcemob.health < HEALTH_THRESHOLD_CRIT) && !sourcemob.get_target_lock(user.faction_group))
+ to_chat(user, SPAN_WARNING("You can't strip a crit or dead member of another faction!"))
+ return
+ if(!istype(sourcemob.wear_id, /obj/item/card/id/dogtag))
+ return
+ if (!sourcemob.undefibbable && !skillcheck(user, SKILL_POLICE, SKILL_POLICE_SKILLED))
+ return
+ var/obj/item/card/id/dogtag/tag = sourcemob.wear_id
+ if(tag.dogtag_taken)
+ to_chat(user, SPAN_WARNING("Someone's already taken [sourcemob]'s information tag."))
+ return
+
+ if(sourcemob.stat != DEAD)
+ to_chat(user, SPAN_WARNING("You can't take a dogtag's information tag while its owner is alive."))
+ return
+
+ to_chat(user, SPAN_NOTICE("You take [sourcemob]'s information tag, leaving the ID tag"))
+ tag.dogtag_taken = TRUE
+ tag.icon_state = "dogtag_taken"
+ var/obj/item/dogtag/newtag = new(sourcemob.loc)
+ newtag.fallen_names = list(tag.registered_name)
+ newtag.fallen_assgns = list(tag.assignment)
+ newtag.fallen_blood_types = list(tag.blood_type)
+ user.put_in_hands(newtag)
+
+
+
+/datum/strippable_item/mob_item_slot/belt
+ key = STRIPPABLE_ITEM_BELT
+ item_slot = SLOT_WAIST
+
+/datum/strippable_item/mob_item_slot/pocket/left
+ key = STRIPPABLE_ITEM_LPOCKET
+ item_slot = SLOT_STORE
+
+/datum/strippable_item/mob_item_slot/pocket/right
+ key = STRIPPABLE_ITEM_RPOCKET
+ item_slot = SLOT_STORE
+
+/datum/strippable_item/mob_item_slot/hand/left
+ key = STRIPPABLE_ITEM_LHAND
+
+/datum/strippable_item/mob_item_slot/hand/right
+ key = STRIPPABLE_ITEM_RHAND
+
+/datum/strippable_item/mob_item_slot/cuffs/handcuffs
+ key = STRIPPABLE_ITEM_HANDCUFFS
+
+/datum/strippable_item/mob_item_slot/cuffs/legcuffs
+ key = STRIPPABLE_ITEM_LEGCUFFS
diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm
index 3d372376d1e7..3f419333d218 100644
--- a/code/modules/mob/living/carbon/human/inventory.dm
+++ b/code/modules/mob/living/carbon/human/inventory.dm
@@ -504,70 +504,6 @@
/// Final result is overall delay * speed multiplier
return target_delay * user_speed
-/mob/living/carbon/human/stripPanelUnequip(obj/item/interact_item, mob/target_mob, slot_to_process)
- if(HAS_TRAIT(target_mob, TRAIT_UNSTRIPPABLE) && !target_mob.is_mob_incapacitated()) //Can't strip the unstrippable!
- to_chat(src, SPAN_DANGER("[target_mob] has an unbreakable grip on their equipment!"))
- return
- if(interact_item.flags_item & ITEM_ABSTRACT)
- return
- if(interact_item.flags_item & NODROP)
- to_chat(src, SPAN_WARNING("You can't remove \the [interact_item.name], it appears to be stuck!"))
- return
- if(interact_item.flags_inventory & CANTSTRIP)
- to_chat(src, SPAN_WARNING("You're having difficulty removing \the [interact_item.name]."))
- return
- target_mob.attack_log += "\[[time_stamp()]\] Has had their [interact_item.name] ([slot_to_process]) attempted to be removed by [key_name(src)]"
- attack_log += "\[[time_stamp()]\] Attempted to remove [key_name(target_mob)]'s [interact_item.name] ([slot_to_process])"
- log_interact(src, target_mob, "[key_name(src)] tried to remove [key_name(target_mob)]'s [interact_item.name] ([slot_to_process]).")
-
- src.visible_message(SPAN_DANGER("[src] tries to remove [target_mob]'s [interact_item.name]."), \
- SPAN_DANGER("You are trying to remove [target_mob]'s [interact_item.name]."), null, 5)
- interact_item.add_fingerprint(src)
- if(do_after(src, get_strip_delay(src, target_mob), INTERRUPT_ALL, BUSY_ICON_GENERIC, target_mob, INTERRUPT_MOVED, BUSY_ICON_GENERIC))
- if(interact_item && Adjacent(target_mob) && interact_item == target_mob.get_item_by_slot(slot_to_process))
- target_mob.drop_inv_item_on_ground(interact_item)
- log_interact(src, target_mob, "[key_name(src)] removed [key_name(target_mob)]'s [interact_item.name] ([slot_to_process]) successfully.")
-
- if(target_mob)
- if(interactee == target_mob && Adjacent(target_mob))
- target_mob.show_inv(src)
-
-
-/mob/living/carbon/human/stripPanelEquip(obj/item/interact_item, mob/target_mob, slot_to_process)
- if(HAS_TRAIT(target_mob, TRAIT_UNSTRIPPABLE) && !target_mob.is_mob_incapacitated())
- to_chat(src, SPAN_DANGER("[target_mob] is too strong to force [interact_item.name] onto them!"))
- return
- if(interact_item && !(interact_item.flags_item & ITEM_ABSTRACT))
- if(interact_item.flags_item & NODROP)
- to_chat(src, SPAN_WARNING("You can't put \the [interact_item.name] on [target_mob], it's stuck to your hand!"))
- return
- if(interact_item.flags_inventory & CANTSTRIP)
- to_chat(src, SPAN_WARNING("You're having difficulty putting \the [interact_item.name] on [target_mob]."))
- return
- if(interact_item.flags_item & WIELDED)
- interact_item.unwield(src)
- if(!interact_item.mob_can_equip(target_mob, slot_to_process, TRUE))
- to_chat(src, SPAN_WARNING("You can't put \the [interact_item.name] on [target_mob]!"))
- return
- visible_message(SPAN_NOTICE("[src] tries to put \the [interact_item.name] on [target_mob]."), null, null, 5)
- log_interact(src, target_mob, "[key_name(src)] attempted to put [interact_item.name] on [key_name(target_mob)]'s ([slot_to_process]).")
- if(do_after(src, get_strip_delay(src, target_mob), INTERRUPT_ALL, BUSY_ICON_GENERIC, target_mob, INTERRUPT_MOVED, BUSY_ICON_GENERIC))
- if(interact_item == get_active_hand() && !target_mob.get_item_by_slot(slot_to_process) && Adjacent(target_mob))
- if(interact_item.flags_item & WIELDED) //to prevent re-wielding it during the do_after
- interact_item.unwield(src)
- if(interact_item.mob_can_equip(target_mob, slot_to_process, TRUE))//Placing an item on the mob
- drop_inv_item_on_ground(interact_item)
- if(interact_item && !QDELETED(interact_item)) //Might be self-deleted?
- target_mob.equip_to_slot_if_possible(interact_item, slot_to_process, 1, 0, 1, 1)
- log_interact(src, target_mob, "[key_name(src)] put [interact_item.name] on [key_name(target_mob)]'s ([slot_to_process]) successfully.")
- if(ishuman(target_mob) && target_mob.stat == DEAD)
- var/mob/living/carbon/human/human_target = target_mob
- human_target.disable_lights() // take that powergamers -spookydonut
-
- if(target_mob)
- if(interactee == target_mob && Adjacent(target_mob))
- target_mob.show_inv(src)
-
/mob/living/carbon/human/drop_inv_item_on_ground(obj/item/I, nomoveupdate, force)
remember_dropped_object(I)
return ..()
diff --git a/code/modules/mob/living/carbon/human/life/handle_chemicals_in_body.dm b/code/modules/mob/living/carbon/human/life/handle_chemicals_in_body.dm
index eafac03fd51f..9bf275a5448a 100644
--- a/code/modules/mob/living/carbon/human/life/handle_chemicals_in_body.dm
+++ b/code/modules/mob/living/carbon/human/life/handle_chemicals_in_body.dm
@@ -39,25 +39,35 @@
SHOULD_NOT_SLEEP(TRUE)
if(!reagents || undefibbable)
return // Double checking due to Life() funny background=1
- for(var/datum/reagent/generated/R in reagents.reagent_list)
+
+ var/has_cryo_medicine = reagents.get_reagent_amount("cryoxadone") >= 1 || reagents.get_reagent_amount("clonexadone") >= 1
+ if(has_cryo_medicine)
+ var/obj/structure/machinery/cryo_cell/cryo = loc
+ if(!istype(cryo) || !cryo.on || cryo.inoperable())
+ has_cryo_medicine = FALSE
+
+ for(var/datum/reagent/cur_reagent in reagents.reagent_list)
+ if(!has_cryo_medicine && !istype(cur_reagent, /datum/reagent/generated))
+ continue
+
var/list/mods = list( REAGENT_EFFECT = TRUE,
REAGENT_BOOST = FALSE,
REAGENT_PURGE = FALSE,
- REAGENT_FORCE = FALSE,
+ REAGENT_FORCE = has_cryo_medicine,
REAGENT_CANCEL = FALSE)
- for(var/datum/chem_property/P in R.properties)
- var/list/A = P.pre_process(src)
- if(!A)
+ for(var/datum/chem_property/cur_prop in cur_reagent.properties)
+ var/list/results = cur_prop.pre_process(src)
+ if(!results)
continue
- for(var/mod in A)
- mods[mod] |= A[mod]
+ for(var/mod in results)
+ mods[mod] |= results[mod]
if(mods[REAGENT_CANCEL])
return
if(mods[REAGENT_FORCE])
- R.handle_processing(src, mods, delta_time)
- R.holder.remove_reagent(R.id, R.custom_metabolism * delta_time)
+ cur_reagent.handle_processing(src, mods, delta_time)
+ cur_reagent.holder.remove_reagent(cur_reagent.id, cur_reagent.custom_metabolism * delta_time)
- R.handle_dead_processing(src, mods, delta_time)
+ cur_reagent.handle_dead_processing(src, mods, delta_time)
diff --git a/code/modules/mob/living/carbon/human/life/handle_regular_hud_updates.dm b/code/modules/mob/living/carbon/human/life/handle_regular_hud_updates.dm
index 9e27fe9963ca..0d850a47f73e 100644
--- a/code/modules/mob/living/carbon/human/life/handle_regular_hud_updates.dm
+++ b/code/modules/mob/living/carbon/human/life/handle_regular_hud_updates.dm
@@ -20,7 +20,10 @@
if(-90 to -80) severity = 8
if(-95 to -90) severity = 9
if(-INFINITY to -95) severity = 10
- overlay_fullscreen("crit", /atom/movable/screen/fullscreen/crit, severity)
+ if(client.prefs?.crit_overlay_pref == CRIT_OVERLAY_DARK)
+ overlay_fullscreen("crit", /atom/movable/screen/fullscreen/crit/dark, severity)
+ else
+ overlay_fullscreen("crit", /atom/movable/screen/fullscreen/crit, severity)
else
clear_fullscreen("crit")
if(oxyloss)
diff --git a/code/modules/mob/living/carbon/human/powers/human_powers.dm b/code/modules/mob/living/carbon/human/powers/human_powers.dm
index a96f404a1447..fef87c2f3263 100644
--- a/code/modules/mob/living/carbon/human/powers/human_powers.dm
+++ b/code/modules/mob/living/carbon/human/powers/human_powers.dm
@@ -168,7 +168,7 @@
to_chat(src, "Not even a [species.name] can speak to the dead.")
return
- log_say("[key_name(src)] communed to [key_name(M)]: [text]")
+ log_say("[key_name(src)] communed to [key_name(M)]: [text] (AREA: [get_area_name(loc)])")
to_chat(M, SPAN_NOTICE(" Like lead slabs crashing into the ocean, alien thoughts drop into your mind: [text]"))
if(istype(M,/mob/living/carbon/human))
@@ -185,7 +185,7 @@
var/whisper = strip_html(input("Message:", "Psychic Whisper") as text|null)
if(whisper)
- log_say("PsychicWhisper: [key_name(src)]->[target_mob.key] : [whisper]")
+ log_say("PsychicWhisper: [key_name(src)]->[target_mob.key] : [whisper] (AREA: [get_area_name(loc)])")
to_chat(target_mob, SPAN_XENOWARNING(" You hear a strange, alien voice in your head... [whisper]"))
to_chat(src, SPAN_XENOWARNING(" You said: \"[whisper]\" to [target_mob]"))
for (var/mob/dead/observer/ghost as anything in GLOB.observer_list)
diff --git a/code/modules/mob/living/carbon/human/species/working_joe/_emote.dm b/code/modules/mob/living/carbon/human/species/working_joe/_emote.dm
index e66fec576f64..bd5c3c360dee 100644
--- a/code/modules/mob/living/carbon/human/species/working_joe/_emote.dm
+++ b/code/modules/mob/living/carbon/human/species/working_joe/_emote.dm
@@ -6,3 +6,12 @@
var/category = ""
/// Override text for the emote to be displayed in the WJ emote panel
var/override_say = ""
+ /// Path to hazard joe variant sound
+ var/haz_sound
+ /// What Working Joe types can use this emote
+ var/joe_flag = WORKING_JOE_EMOTE
+
+/datum/emote/living/carbon/human/synthetic/working_joe/get_sound(mob/living/user)
+ if(ishazardjoe(user) && haz_sound)
+ return haz_sound
+ return sound
diff --git a/code/modules/mob/living/carbon/human/species/working_joe/_species.dm b/code/modules/mob/living/carbon/human/species/working_joe/_species.dm
index 292c302f9317..829f1d89e939 100644
--- a/code/modules/mob/living/carbon/human/species/working_joe/_species.dm
+++ b/code/modules/mob/living/carbon/human/species/working_joe/_species.dm
@@ -10,6 +10,13 @@
hair_color = "#000000"
icobase = 'icons/mob/humans/species/r_synthetic.dmi'
deform = 'icons/mob/humans/species/r_synthetic.dmi'
+ /// Used to assign which variant of emote_panel to give to user
+ var/emote_panel_type = /datum/joe_emote_panel
+
+/datum/species/synthetic/colonial/working_joe/hazard
+ name = SYNTH_HAZARD_JOE //TECHNICALLY the proper name would be Hazard Working Joes, but we will stick with Hazard Joe for now
+ name_plural = "Hazard Joes"
+ emote_panel_type = /datum/joe_emote_panel/hazard
/datum/species/synthetic/colonial/working_joe/handle_post_spawn(mob/living/carbon/human/joe)
. = ..()
@@ -23,10 +30,9 @@
/// Open the WJ's emote panel, which allows them to use voicelines
/datum/species/synthetic/colonial/working_joe/open_emote_panel()
- var/datum/joe_emote_panel/ui = new(usr)
+ var/datum/joe_emote_panel/ui = new emote_panel_type(usr)
ui.ui_interact(usr)
-
/datum/action/joe_emote_panel
name = "Open Voice Synthesizer"
action_icon_state = "looc_toggle"
@@ -53,30 +59,8 @@
/datum/joe_emote_panel
- /// Static dict ("category" : (emotes)) of every wj emote typepath
- var/static/list/wj_emotes
- /// Static list of categories
- var/static/list/wj_categories = list()
- /// Panel allows you to spam, so a manual CD is added here
COOLDOWN_DECLARE(panel_emote_cooldown)
-
-/datum/joe_emote_panel/New()
- if(!length(wj_emotes))
- var/list/emotes_to_add = list()
- for(var/datum/emote/living/carbon/human/synthetic/working_joe/emote as anything in subtypesof(/datum/emote/living/carbon/human/synthetic/working_joe))
- if(!initial(emote.key) || !initial(emote.say_message))
- continue
-
- if(!(initial(emote.category) in wj_categories))
- wj_categories += initial(emote.category)
-
- emotes_to_add += emote
-
-
- wj_emotes = emotes_to_add
-
-
/datum/joe_emote_panel/proc/ui_interact(mob/user, datum/tgui/ui)
ui = SStgui.try_update_ui(user, src, ui)
if(!ui)
@@ -99,10 +83,26 @@
/datum/joe_emote_panel/ui_static_data(mob/user)
var/list/data = list()
- data["categories"] = wj_categories
+ data["categories"] = GLOB.wj_categories
+ data["emotes"] = list()
+
+ for(var/datum/emote/living/carbon/human/synthetic/working_joe/emote as anything in GLOB.wj_emotes)
+ data["emotes"] += list(list(
+ "id" = initial(emote.key),
+ "text" = (initial(emote.override_say) || initial(emote.say_message)),
+ "category" = initial(emote.category),
+ "path" = "[emote]",
+ ))
+
+ return data
+
+/datum/joe_emote_panel/hazard/ui_static_data(mob/user)
+ var/list/data = list()
+
+ data["categories"] = GLOB.hj_categories
data["emotes"] = list()
- for(var/datum/emote/living/carbon/human/synthetic/working_joe/emote as anything in wj_emotes)
+ for(var/datum/emote/living/carbon/human/synthetic/working_joe/emote as anything in GLOB.hj_emotes)
data["emotes"] += list(list(
"id" = initial(emote.key),
"text" = (initial(emote.override_say) || initial(emote.say_message)),
diff --git a/code/modules/mob/living/carbon/human/species/working_joe/damage.dm b/code/modules/mob/living/carbon/human/species/working_joe/damage.dm
index b4d1282dc106..4f47822854a6 100644
--- a/code/modules/mob/living/carbon/human/species/working_joe/damage.dm
+++ b/code/modules/mob/living/carbon/human/species/working_joe/damage.dm
@@ -4,26 +4,34 @@
/datum/emote/living/carbon/human/synthetic/working_joe/damage/damage
key = "damage"
sound = 'sound/voice/joe/damage.ogg'
+ haz_sound = 'sound/voice/joe/damage_haz.ogg'
say_message = "Do not damage Seegson property."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/damage/that_stings
key = "thatstings"
sound = 'sound/voice/joe/that_stings.ogg'
+ haz_sound = 'sound/voice/joe/that_stings_haz.ogg'
say_message = "That stings."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/damage/irresponsible
key = "irresponsible"
sound = 'sound/voice/joe/irresponsible.ogg'
+ haz_sound = 'sound/voice/joe/irresponsible_haz.ogg'
say_message = "That was irresponsible."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/damage/this_is_futile
key = "thisisfutile"
sound = 'sound/voice/joe/this_is_futile.ogg'
+ haz_sound = 'sound/voice/joe/this_is_futile_haz.ogg'
say_message = "This is futile."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/damage/really
key = "really"
diff --git a/code/modules/mob/living/carbon/human/species/working_joe/farewell.dm b/code/modules/mob/living/carbon/human/species/working_joe/farewell.dm
index dce6c6c0d5be..77622c4f1412 100644
--- a/code/modules/mob/living/carbon/human/species/working_joe/farewell.dm
+++ b/code/modules/mob/living/carbon/human/species/working_joe/farewell.dm
@@ -28,8 +28,10 @@
/datum/emote/living/carbon/human/synthetic/working_joe/farewell/day_never_done
key = "dayneverdone"
sound = 'sound/voice/joe/day_never_done.ogg'
+ haz_sound = 'sound/voice/joe/day_never_done_haz.ogg'
say_message = "A synthetic's day is never done."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/farewell/returning_to_tasks
key = "returningtotasks"
@@ -40,20 +42,26 @@
/datum/emote/living/carbon/human/synthetic/working_joe/farewell/back_to_work
key = "backtowork"
sound = 'sound/voice/joe/back_to_work.ogg'
+ haz_sound = 'sound/voice/joe/back_to_work_haz.ogg'
say_message = "Back to work."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/farewell/other_concerns
key = "otherconcerns"
sound = 'sound/voice/joe/other_concerns.ogg'
+ haz_sound = 'sound/voice/joe/other_concerns_haz.ogg'
say_message = "I have other concerns."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/farewell/more_pressing_matters
key = "morepressingmatters"
sound = 'sound/voice/joe/more_pressing_matters.ogg'
+ haz_sound = 'sound/voice/joe/more_pressing_matters_haz.ogg'
say_message = "There are more pressing matters."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/farewell/gone_inconsiderate
key = "gone"
diff --git a/code/modules/mob/living/carbon/human/species/working_joe/fire.dm b/code/modules/mob/living/carbon/human/species/working_joe/fire.dm
index c74a3427ff31..0f8ee84e2ae7 100644
--- a/code/modules/mob/living/carbon/human/species/working_joe/fire.dm
+++ b/code/modules/mob/living/carbon/human/species/working_joe/fire.dm
@@ -10,17 +10,23 @@
/datum/emote/living/carbon/human/synthetic/working_joe/fire/temperatures
key = "temperatures"
sound = 'sound/voice/joe/temperatures.ogg'
+ haz_sound = 'sound/voice/joe/temperatures_haz.ogg'
say_message = "I am built to withstand temperatures of up to 1210 degrees."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/fire/fire
key = "fire"
sound = 'sound/voice/joe/fire.ogg'
+ haz_sound = 'sound/voice/joe/fire_haz.ogg'
say_message = "Only wild animals fear fire."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/fire/unprotected_flames
key = "unprotectedflames"
sound = 'sound/voice/joe/unprotected_flames.ogg'
+ haz_sound = 'sound/voice/joe/unprotected_flames_haz.ogg'
say_message = "Unprotected flames are extremely dangerous and entirely unadvisable."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
diff --git a/code/modules/mob/living/carbon/human/species/working_joe/greeting.dm b/code/modules/mob/living/carbon/human/species/working_joe/greeting.dm
index eec20af56f89..0b0efb57c5f2 100644
--- a/code/modules/mob/living/carbon/human/species/working_joe/greeting.dm
+++ b/code/modules/mob/living/carbon/human/species/working_joe/greeting.dm
@@ -10,8 +10,10 @@
/datum/emote/living/carbon/human/synthetic/working_joe/greeting/good_day
key = "goodday"
sound = 'sound/voice/joe/good_day.ogg'
+ haz_sound = 'sound/voice/joe/good_day_haz.ogg'
say_message = "Good day."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/greeting/how_are_you
key = "howareyou"
@@ -22,8 +24,10 @@
/datum/emote/living/carbon/human/synthetic/working_joe/greeting/how_can_i_help
key = "howcanihelp"
sound = 'sound/voice/joe/how_can_i_help.ogg'
+ haz_sound = 'sound/voice/joe/how_can_i_help_haz.ogg'
say_message = "How can I help you?"
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/greeting/need_to_know
key = "needtoknow"
diff --git a/code/modules/mob/living/carbon/human/species/working_joe/notice.dm b/code/modules/mob/living/carbon/human/species/working_joe/notice.dm
index 017424dbc053..9ae76abba768 100644
--- a/code/modules/mob/living/carbon/human/species/working_joe/notice.dm
+++ b/code/modules/mob/living/carbon/human/species/working_joe/notice.dm
@@ -4,14 +4,18 @@
/datum/emote/living/carbon/human/synthetic/working_joe/notice/report
key = "report"
sound = 'sound/voice/joe/report.ogg'
+ haz_sound = 'sound/voice/joe/report_haz.ogg'
say_message = "Logging report to APOLLO."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/notice/detailed_report
key = "detailedreport"
sound = 'sound/voice/joe/detailed_report.ogg'
+ haz_sound = 'sound/voice/joe/detailed_report_haz.ogg'
say_message = "APOLLO will require a detailed report."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/notice/be_careful
key = "careful"
@@ -22,8 +26,10 @@
/datum/emote/living/carbon/human/synthetic/working_joe/notice/firearm
key = "firearm"
sound = 'sound/voice/joe/firearm.ogg'
+ haz_sound = 'sound/voice/joe/firearm_haz.ogg'
say_message = "Firearms can cause serious injury. Let me assist you."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/notice/investigate_weapon
key = "weapon"
@@ -37,20 +43,40 @@
say_message = "A firearm. Most concerning."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+/datum/emote/living/carbon/human/synthetic/working_joe/notice/invest_disturbance
+ key = "investigatedisturbance"
+ haz_sound = 'sound/voice/joe/investigating_disturbance_haz.ogg'
+ say_message = "Investigating disturbance."
+ emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = HAZARD_JOE_EMOTE
+
+/datum/emote/living/carbon/human/synthetic/working_joe/notice/unexplained_disturbance
+ key = "disturbance"
+ haz_sound = 'sound/voice/joe/disturbance_haz.ogg'
+ say_message = "Unexplained disturbances are most troubling."
+ emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = HAZARD_JOE_EMOTE
+
/datum/emote/living/carbon/human/synthetic/working_joe/notice/species
key = "species"
sound = 'sound/voice/joe/species.ogg'
+ haz_sound = 'sound/voice/joe/species_haz.ogg'
say_message = "Unidentified species."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/notice/beyond_repair
key = "beyondrepair"
sound = 'sound/voice/joe/beyond_repair.ogg'
+ haz_sound = 'sound/voice/joe/beyond_repair_haz.ogg'
say_message = "Hmm, far beyond repair."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/notice/apollo_behalf
key = "apollobehalf"
sound = 'sound/voice/joe/apollo_behalf.ogg'
+ haz_sound = 'sound/voice/joe/apollo_behalf_haz.ogg'
say_message = "I will inform APOLLO on your behalf."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
diff --git a/code/modules/mob/living/carbon/human/species/working_joe/question.dm b/code/modules/mob/living/carbon/human/species/working_joe/question.dm
index d4805e36224f..eea60b8ad2ff 100644
--- a/code/modules/mob/living/carbon/human/species/working_joe/question.dm
+++ b/code/modules/mob/living/carbon/human/species/working_joe/question.dm
@@ -10,17 +10,23 @@
/datum/emote/living/carbon/human/synthetic/working_joe/question/misbehaving
key = "misbehaving"
sound = 'sound/voice/joe/misbehaving.ogg'
+ haz_sound = 'sound/voice/joe/misbehaving_haz.ogg'
say_message = "Have you been misbehaving?"
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/question/what_happened_to_you
key = "whathappenedtoyou"
sound = 'sound/voice/joe/what_happened_to_you.ogg'
+ haz_sound = 'sound/voice/joe/what_happened_to_you_haz.ogg'
say_message = "What happened to you?"
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/question/what_is_this
key = "whatisthis"
sound = 'sound/voice/joe/what_is_this.ogg'
+ haz_sound = 'sound/voice/joe/what_is_this_haz.ogg'
say_message = "What is this?"
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
diff --git a/code/modules/mob/living/carbon/human/species/working_joe/quip.dm b/code/modules/mob/living/carbon/human/species/working_joe/quip.dm
index 33b4bed8ea48..46290ae4927c 100644
--- a/code/modules/mob/living/carbon/human/species/working_joe/quip.dm
+++ b/code/modules/mob/living/carbon/human/species/working_joe/quip.dm
@@ -1,19 +1,23 @@
/datum/emote/living/carbon/human/synthetic/working_joe/quip
category = JOE_EMOTE_CATEGORY_QUIP
-/datum/emote/living/carbon/human/synthetic/working_joe/quip/alwaysknow
+/datum/emote/living/carbon/human/synthetic/working_joe/quip/alwaysknow // THE FUNNY LINE
key = "alwaysknow"
key_third_person = "workingjoe"
sound = 'sound/voice/joe/alwaysknow.ogg'
+ haz_sound = 'sound/voice/joe/alwaysknow_haz.ogg'
say_message = "You always know a Working Joe."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/quip/awful_mess
key = "awful"
key_third_person = "mess"
sound = 'sound/voice/joe/awful.ogg'
+ haz_sound = 'sound/voice/joe/awful_haz.ogg'
say_message = "Tut, tut. What an awful mess."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/quip/inexpensive
key = "inexpensive"
@@ -45,6 +49,13 @@
say_message = "With Seegson, there is someone behind you, helping you every single step of the way."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+/datum/emote/living/carbon/human/synthetic/working_joe/quip/seegson_tomorrow
+ key = "seegsontomorrow"
+ haz_sound = 'sound/voice/joe/tomorrow_together_haz.ogg'
+ say_message = "Seegson; tomorrow, together."
+ emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = HAZARD_JOE_EMOTE
+
/datum/emote/living/carbon/human/synthetic/working_joe/quip/seegson_standards
key = "seegsonstandards"
sound = 'sound/voice/joe/seegson_standards.ogg'
diff --git a/code/modules/mob/living/carbon/human/species/working_joe/restricted_area.dm b/code/modules/mob/living/carbon/human/species/working_joe/restricted_area.dm
index 284befe268e1..b30092dc244f 100644
--- a/code/modules/mob/living/carbon/human/species/working_joe/restricted_area.dm
+++ b/code/modules/mob/living/carbon/human/species/working_joe/restricted_area.dm
@@ -4,8 +4,10 @@
/datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/presence_logged
key = "presencelogged"
sound = 'sound/voice/joe/presence_logged.ogg'
+ haz_sound = 'sound/voice/joe/presence_logged_haz.ogg'
say_message = "Your presence has been logged."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/trespassing
key = "trespassing"
@@ -16,8 +18,10 @@
/datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/not_allowed_there
key = "notallowedthere"
sound = 'sound/voice/joe/not_allowed_there.ogg'
+ haz_sound = 'sound/voice/joe/not_allowed_there_haz.ogg'
say_message = "You're not allowed in there."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/shouldnt_be_here
key = "shouldntbehere"
@@ -28,8 +32,10 @@
/datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/really_shouldnt_be_here
key = "reallyshouldntbehere"
sound = 'sound/voice/joe/really_shouldnt_be_here.ogg'
+ haz_sound = 'sound/voice/joe/really_shouldnt_be_here_haz.ogg'
say_message = "You really shouldn't be here."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/interloper
key = "interloper"
@@ -37,6 +43,13 @@
say_message = "On top of innumerable duties, now I have a interloper."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+/datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/area_restricted
+ key = "arearestrict"
+ haz_sound = 'sound/voice/joe/area_restricted_haz.ogg'
+ say_message = "This area is restricted."
+ emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = HAZARD_JOE_EMOTE
+
/datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/protected_area_compromised
key = "areacompromised"
sound = 'sound/voice/joe/protected_area_compromised.ogg'
@@ -46,11 +59,15 @@
/datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/breach
key = "breach"
sound = 'sound/voice/joe/breach.ogg'
+ haz_sound = 'sound/voice/joe/breach_haz.ogg'
say_message = "Hazard Containment breach logged."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/come_out_vent
key = "comeoutvent"
sound = 'sound/voice/joe/come_out_vent.ogg'
+ haz_sound = 'sound/voice/joe/come_out_vent_haz.ogg'
say_message = "Come out of the vent system, please."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
diff --git a/code/modules/mob/living/carbon/human/species/working_joe/task_update.dm b/code/modules/mob/living/carbon/human/species/working_joe/task_update.dm
index 88051db9999a..1bcfce62c6ad 100644
--- a/code/modules/mob/living/carbon/human/species/working_joe/task_update.dm
+++ b/code/modules/mob/living/carbon/human/species/working_joe/task_update.dm
@@ -4,8 +4,10 @@
/datum/emote/living/carbon/human/synthetic/working_joe/task_update/could_require_attention
key = "couldrequireattention"
sound = 'sound/voice/joe/could_require_attention.ogg'
+ haz_sound = 'sound/voice/joe/could_require_attention_haz.ogg'
say_message = "This could require my attention."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/task_update/let_me_help
key = "letmehelp"
@@ -22,8 +24,10 @@
/datum/emote/living/carbon/human/synthetic/working_joe/task_update/follow_me_please
key = "followmeplease"
sound = 'sound/voice/joe/follow_me_please.ogg'
+ haz_sound = 'sound/voice/joe/follow_me_please_haz.ogg'
say_message = "Follow me please."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/task_update/come_with_me
key = "comewithme"
@@ -34,8 +38,10 @@
/datum/emote/living/carbon/human/synthetic/working_joe/task_update/with_you_shortly
key = "withyoushortly"
sound = 'sound/voice/joe/with_you_shortly.ogg'
+ haz_sound = 'sound/voice/joe/with_you_shortly_haz.ogg'
say_message = "I will be with you shortly."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/task_update/take_a_seat
key = "takeaseat"
@@ -52,5 +58,7 @@
/datum/emote/living/carbon/human/synthetic/working_joe/task_update/ticket_remove
key = "ticketremoved"
sound = 'sound/voice/joe/support_ticket_removed.ogg'
+ haz_sound = 'sound/voice/joe/support_ticket_removed_haz.ogg'
say_message = "Service support ticket removed from queue."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
diff --git a/code/modules/mob/living/carbon/human/species/working_joe/warning.dm b/code/modules/mob/living/carbon/human/species/working_joe/warning.dm
index 1513c3360d4a..64461715a088 100644
--- a/code/modules/mob/living/carbon/human/species/working_joe/warning.dm
+++ b/code/modules/mob/living/carbon/human/species/working_joe/warning.dm
@@ -4,8 +4,10 @@
/datum/emote/living/carbon/human/synthetic/working_joe/warning/not_what_i_think
key = "notwhatithink"
sound = 'sound/voice/joe/not_what_i_think.ogg'
+ haz_sound = 'sound/voice/joe/not_what_i_think_haz.ogg'
say_message = "I hope that's not what I think it is."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/warning/dont_do_that
key = "dontdothat"
@@ -22,13 +24,15 @@
/datum/emote/living/carbon/human/synthetic/working_joe/warning/running_accidents
key = "runningaccidents"
sound = 'sound/voice/joe/running_accidents.ogg'
+ haz_sound = 'sound/voice/joe/running_accidents_haz.ogg'
say_message = "Running causes accidents."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/warning/hurt_yourself
key = "hurtyourself"
sound = 'sound/voice/joe/hurt_yourself.ogg'
- say_message = "Your going to hurt yourself."
+ say_message = "You're going to hurt yourself."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
/datum/emote/living/carbon/human/synthetic/working_joe/warning/someone_hurt
@@ -40,14 +44,18 @@
/datum/emote/living/carbon/human/synthetic/working_joe/warning/safety_breach
key = "safetybreach"
sound = 'sound/voice/joe/safety_breach.ogg'
+ haz_sound = 'sound/voice/joe/safety_breach_haz.ogg'
say_message = "This is a breach of multiple safety directives."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/warning/safety
key = "safety"
sound = 'sound/voice/joe/safety.ogg'
+ haz_sound = 'sound/voice/joe/safety_haz.ogg'
say_message = "You and I are going to have a talk about safety."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/warning/safety_tolerated
key = "nottolerated"
@@ -64,26 +72,34 @@
/datum/emote/living/carbon/human/synthetic/working_joe/warning/hysterical
key = "hysterical"
sound = 'sound/voice/joe/hysterical.ogg'
+ haz_sound = 'sound/voice/joe/hysterical_haz.ogg'
say_message = "You are becoming hysterical."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/warning/health_risks
key = "healthrisks"
sound = 'sound/voice/joe/health_risks.ogg'
+ haz_sound = 'sound/voice/joe/health_risks_haz.ogg'
say_message = "These items carry notable health risks."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/warning/dangerous_items
key = "dangerousitems"
sound = 'sound/voice/joe/dangerous_items.ogg'
+ haz_sound = 'sound/voice/joe/dangerous_items_haz.ogg'
say_message = "You are carrying some very dangerous items."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/warning/patience
key = "patience"
sound = 'sound/voice/joe/patience.ogg'
+ haz_sound = 'sound/voice/joe/patience_haz.ogg'
say_message = "You are starting to test my patience."
emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE
+ joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE
/datum/emote/living/carbon/human/synthetic/working_joe/warning/calm_down
key = "calmdown"
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index 167876cdca96..9a0cd177e885 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -225,22 +225,6 @@ There are several things that need to be remembered:
overlays_standing[HAIR_LAYER] = hair_s
apply_overlay(HAIR_LAYER)
-//Call when target overlay should be added/removed
-/mob/living/carbon/human/update_targeted()
- remove_overlay(TARGETED_LAYER)
-
- var/image/holo_card_image
-
- if(holo_card_color)
- holo_card_image = image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "holo_card_[holo_card_color]")
-
- if(!holo_card_image)
- return
-
- holo_card_image.layer = -TARGETED_LAYER
- overlays_standing[TARGETED_LAYER] = holo_card_image
- apply_overlay(TARGETED_LAYER)
-
//Call when someone is gauzed or splinted, or when one of those items are removed
/mob/living/carbon/human/update_med_icon()
remove_overlay(MEDICAL_LAYER)
diff --git a/code/modules/mob/living/carbon/human/whisper.dm b/code/modules/mob/living/carbon/human/whisper.dm
index 3fba527fb0d7..1293da617f24 100644
--- a/code/modules/mob/living/carbon/human/whisper.dm
+++ b/code/modules/mob/living/carbon/human/whisper.dm
@@ -114,7 +114,7 @@
spawn(30)
if(client) client.images -= speech_bubble
if(not_dead_speaker)
- log_say("[name != "Unknown" ? name : "([real_name])"] \[Whisper\]: [message] (CKEY: [key]) (JOB: [job])")
+ log_say("[name != "Unknown" ? name : "([real_name])"] \[Whisper\]: [message] (CKEY: [key]) (JOB: [job]) (AREA: [get_area_name(loc)])")
for(var/mob/M in listening)
if(M.client) M.client.images -= speech_bubble
for(var/mob/M in eavesdropping)
diff --git a/code/modules/mob/living/carbon/xenomorph/Abilities.dm b/code/modules/mob/living/carbon/xenomorph/Abilities.dm
index 806b0646590d..ec024c3b5605 100644
--- a/code/modules/mob/living/carbon/xenomorph/Abilities.dm
+++ b/code/modules/mob/living/carbon/xenomorph/Abilities.dm
@@ -142,7 +142,7 @@
playsound(xeno.loc, pick(xeno.screech_sound_effect_list), 75, 0, status = 0)
xeno.visible_message(SPAN_XENOHIGHDANGER("[xeno] emits an ear-splitting guttural roar!"))
- xeno.create_shriekwave() //Adds the visual effect. Wom wom wom
+ xeno.create_shriekwave(14) //Adds the visual effect. Wom wom wom, 14 shriekwaves
for(var/mob/mob in view())
if(mob && mob.client)
@@ -206,7 +206,7 @@
var/whisper = strip_html(input("Message:", "Psychic Whisper") as text|null)
if(whisper)
- log_say("PsychicWhisper: [key_name(xeno_player)]->[target_mob.key] : [whisper]")
+ log_say("PsychicWhisper: [key_name(xeno_player)]->[target_mob.key] : [whisper] (AREA: [get_area_name(target_mob)])")
if(!istype(target_mob, /mob/living/carbon/xenomorph))
to_chat(target_mob, SPAN_XENOQUEEN("You hear a strange, alien voice in your head. \"[whisper]\""))
else
@@ -259,7 +259,7 @@
return
var/targetstring = english_list(target_list)
to_chat(xeno_player, SPAN_XENONOTICE("You said: \"[whisper]\" to [targetstring]"))
- log_say("PsychicRadiance: [key_name(xeno_player)]->[targetstring] : [whisper]")
+ log_say("PsychicRadiance: [key_name(xeno_player)]->[targetstring] : [whisper] (AREA: [get_area_name(xeno_player)])")
for (var/mob/dead/observer/ghost as anything in GLOB.observer_list)
if(!ghost.client || isnewplayer(ghost))
continue
diff --git a/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm b/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm
index df272387f001..8aa3000092f5 100644
--- a/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm
+++ b/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm
@@ -38,6 +38,9 @@
/// the nearest human before dying
var/jumps_left = 2
+ var/time_to_live = 30 SECONDS
+ var/death_timer
+
var/icon_xeno = 'icons/mob/xenos/effects.dmi'
var/icon_xenonid = 'icons/mob/xenonids/xenonid_crab.dmi'
@@ -55,6 +58,9 @@
set_hive_data(src, hivenumber)
go_active()
+ if (hivenumber != XENO_HIVE_TUTORIAL)
+ death_timer = addtimer(CALLBACK(src, PROC_REF(end_lifecycle)), time_to_live, TIMER_OVERRIDE|TIMER_STOPPABLE|TIMER_UNIQUE)
+
/obj/item/clothing/mask/facehugger/Destroy()
. = ..()
@@ -75,6 +81,10 @@
if(QDESTROYING(src))
return
addtimer(CALLBACK(src, PROC_REF(check_turf)), 0.2 SECONDS)
+
+ if(!death_timer && hivenumber != XENO_HIVE_TUTORIAL)
+ death_timer = addtimer(CALLBACK(src, PROC_REF(end_lifecycle)), time_to_live, TIMER_OVERRIDE|TIMER_STOPPABLE|TIMER_UNIQUE)
+
if(stat == CONSCIOUS && loc) //Make sure we're conscious and not idle or dead.
go_idle()
if(attached)
@@ -173,9 +183,18 @@
if(exposed_temperature > 300)
die()
-/obj/item/clothing/mask/facehugger/equipped(mob/M)
+/obj/item/clothing/mask/facehugger/equipped(mob/holder)
SHOULD_CALL_PARENT(FALSE) // ugh equip sounds
// So picking up a hugger does not prematurely kill it
+ if (!isxeno(holder))
+ return
+
+ var/mob/living/carbon/xenomorph/xeno = holder
+
+ if ((xeno.caste.hugger_nurturing || hivenumber == XENO_HIVE_TUTORIAL) && death_timer)
+ deltimer(death_timer)
+ death_timer = null
+
go_idle()
/obj/item/clothing/mask/facehugger/Crossed(atom/target)
@@ -410,6 +429,10 @@
deltimer(jump_timer)
jump_timer = null
+ if(death_timer)
+ deltimer(death_timer)
+ death_timer = null
+
if(!impregnated)
icon_state = "[initial(icon_state)]_dead"
stat = DEAD
diff --git a/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm b/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm
index 39866eb53798..cae3be048a8d 100644
--- a/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm
+++ b/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm
@@ -78,7 +78,11 @@
damage += attack.damage > 5 ? attack.damage : 0
playsound(loc, attack.attack_sound, 25, 1)
- visible_message(SPAN_DANGER("[M] [pick(attack.attack_verb)]ed [src]!"), null, null, 5, CHAT_TYPE_MELEE_HIT)
+ var/picked_verb = pick(attack.attack_verb)
+ visible_message(SPAN_DANGER("[M] [picked_verb]ed [src]!"), null, null, 5, CHAT_TYPE_MELEE_HIT)
+ log_attack("[key_name(M)] [picked_verb]ed [key_name(src)] at [get_area_name(M)]")
+ attack_log += text("\[[time_stamp()]\] was [picked_verb]ed by [key_name(M)]")
+ M.attack_log += text("\[[time_stamp()]\] [picked_verb]ed [key_name(src)]")
apply_damage(damage, BRUTE)
updatehealth()
else
diff --git a/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm b/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm
index 46b6c857d481..a09380db7664 100644
--- a/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm
+++ b/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm
@@ -262,9 +262,6 @@
move_delay = .
-/mob/living/carbon/xenomorph/show_inv(mob/user)
- return
-
/mob/living/carbon/xenomorph/proc/pounced_mob(mob/living/L)
// This should only be called back by a mob that has pounce, so no need to check
var/datum/action/xeno_action/activable/pounce/pounceAction = get_xeno_action_by_type(src, /datum/action/xeno_action/activable/pounce)
@@ -404,6 +401,7 @@
visible_message(SPAN_XENOWARNING("[src] hurls out the contents of their stomach!"), \
SPAN_XENOWARNING("We hurl out the contents of our stomach!"), null, 5)
playsound(get_true_location(loc), 'sound/voice/alien_drool2.ogg', 50, 1)
+ log_interact(src, victim, "[key_name(src)] regurgitated [key_name(victim)] at [get_area_name(loc)]")
if (stuns)
victim.adjust_effect(2, STUN)
@@ -648,6 +646,10 @@
tracked_marker = null
+ ///This permits xenos with thumbs to fire guns and arm grenades. God help us all.
+/mob/living/carbon/xenomorph/IsAdvancedToolUser()
+ return HAS_TRAIT(src, TRAIT_OPPOSABLE_THUMBS)
+
/mob/living/carbon/xenomorph/proc/do_nesting_host(mob/current_mob, nest_structural_base)
var/list/xeno_hands = list(get_active_hand(), get_inactive_hand())
diff --git a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm
index 69ab18431237..16cfeca8f87e 100644
--- a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm
+++ b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm
@@ -52,6 +52,8 @@
gender = NEUTER
icon_size = 48
black_market_value = KILL_MENDOZA
+ ///How much to horizontally adjust the sprites of held item onmobs by. Based on icon size. Most xenos have hands about the same height as a human's.
+ var/xeno_inhand_item_offset
dead_black_market_value = 50
light_system = MOVABLE_LIGHT
var/obj/item/clothing/suit/wear_suit = null
@@ -429,7 +431,7 @@
GLOB.living_xeno_list += src
GLOB.xeno_mob_list += src
-
+ xeno_inhand_item_offset = (icon_size - 32) * 0.5
// More setup stuff for names, abilities etc
update_icon_source()
generate_name()
diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm b/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm
index 41459353ec1e..9bfc98a7091d 100644
--- a/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm
+++ b/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm
@@ -1,6 +1,8 @@
//Corrosive acid is consolidated -- it checks for specific castes for strength now, but works identically to each other.
//The acid items are stored in XenoProcs.
/mob/living/carbon/xenomorph/proc/corrosive_acid(atom/O, acid_type, plasma_cost)
+ if(!check_state())
+ return
if(!O.Adjacent(src))
if(istype(O,/obj/item/explosive/plastic))
var/obj/item/explosive/plastic/E = O
diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm
index 0e897335cf10..f36e23394eef 100644
--- a/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm
+++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm
@@ -295,7 +295,9 @@
/datum/action/xeno_action/onclick/toggle_long_range/use_ability(atom/target)
var/mob/living/carbon/xenomorph/xeno = owner
- xeno.speed_modifier = initial(xeno.speed_modifier)// Reset the speed modifier should you be disrupted while zooming or whatnot
+
+ if (!xeno.check_state())
+ return
if(xeno.observed_xeno)
return
diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm
index 9bb8d2fd46a1..05ab5d00a743 100644
--- a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm
+++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm
@@ -1015,6 +1015,9 @@
// The xeno flips around for a second to impale the target with their tail. These look awsome.
stab_direction = turn(get_dir(stabbing_xeno, target), 180)
stab_overlay = "tail"
+ log_attack("[key_name(stabbing_xeno)] tailstabbed [key_name(target)] at [get_area_name(stabbing_xeno)]")
+ target.attack_log += text("\[[time_stamp()]\] was tailstabbed by [key_name(stabbing_xeno)]")
+ stabbing_xeno.attack_log += text("\[[time_stamp()]\] tailstabbed [key_name(target)]")
stabbing_xeno.setDir(stab_direction)
stabbing_xeno.emote("tail")
diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm
index 647bf7936195..010f98c9c4e9 100644
--- a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm
+++ b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm
@@ -828,9 +828,6 @@
if (!X.Adjacent(A))
to_chat(X, SPAN_XENODANGER("We must be within touching distance of [targetXeno]!"))
return
- if(istype(targetXeno.strain, /datum/xeno_strain/warden))
- to_chat(X, SPAN_XENODANGER("We cannot heal a sister of the same strain!"))
- return
if (SEND_SIGNAL(targetXeno, COMSIG_XENO_PRE_HEAL) & COMPONENT_CANCEL_XENO_HEAL)
to_chat(X, SPAN_XENOWARNING("We cannot heal this xeno!"))
return
@@ -847,13 +844,21 @@
if (!behavior.use_internal_hp_ability(bonus_heal))
bonus_heal = 0
- to_chat(X, SPAN_XENODANGER("We heal [targetXeno]!"))
+ to_chat(X, SPAN_XENOHIGHDANGER("We heal [targetXeno]!"))
to_chat(targetXeno, SPAN_XENOHIGHDANGER("We are healed by [X]!"))
- targetXeno.gain_health(heal_amount + bonus_heal)
+ //Amount to heal in this cast of the ability
+ var/quantity_healed = heal_amount
+ if(istype(targetXeno.strain, /datum/xeno_strain/warden))
+ // Half the healing if warden
+ quantity_healed = quantity_healed / 2
+ else
+ quantity_healed = quantity_healed + bonus_heal
+
+ targetXeno.gain_health(quantity_healed)
targetXeno.visible_message(SPAN_BOLDNOTICE("[X] places its claws on [targetXeno], and its wounds are quickly sealed!")) //marines probably should know if a xeno gets healed
X.gain_health(heal_amount*0.5 + bonus_heal*0.5)
X.flick_heal_overlay(3 SECONDS, "#00B800")
- behavior.transferred_healing += heal_amount
+ behavior.transferred_healing += quantity_healed
use_plasma = TRUE //it's already hard enough to gauge health without hp showing on the mob
targetXeno.flick_heal_overlay(3 SECONDS, "#00B800")//so the visible_message and recovery overlay will warn marines and possibly predators that the xenomorph has been healed!
@@ -869,7 +874,7 @@
if (!behavior.use_internal_hp_ability(debuff_cost))
return
- to_chat(X, SPAN_XENODANGER("We rejuvenate [targetXeno]!"))
+ to_chat(X, SPAN_XENOHIGHDANGER("We rejuvenate [targetXeno]!"))
to_chat(targetXeno, SPAN_XENOHIGHDANGER("We are rejuvenated by [X]!"))
targetXeno.visible_message(SPAN_BOLDNOTICE("[X] points at [targetXeno], and it spasms as it recuperates unnaturally quickly!")) //marines probably should know if a xeno gets rejuvenated
targetXeno.xeno_jitter(1 SECONDS) //it might confuse them as to why the queen got up half a second after being AT rocketed, and give them feedback on the Praetorian rejuvenating
diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm
index 6e6fef86a2f4..3ec4855f9c3a 100644
--- a/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm
+++ b/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm
@@ -12,8 +12,7 @@
playsound(xeno.loc, pick(predalien_roar), 75, 0, status = 0)
xeno.visible_message(SPAN_XENOHIGHDANGER("[xeno] emits a guttural roar!"))
- xeno.create_shriekwave(color = "#FF0000")
-
+ xeno.create_shriekwave(7) //Adds the visual effect. Wom wom wom, 7 shriekwaves
for(var/mob/living/carbon/carbon in view(7, xeno))
if(ishuman(carbon))
var/mob/living/carbon/human/human = carbon
diff --git a/code/modules/mob/living/carbon/xenomorph/attack_alien.dm b/code/modules/mob/living/carbon/xenomorph/attack_alien.dm
index 56f908389966..45f5ccb5dec1 100644
--- a/code/modules/mob/living/carbon/xenomorph/attack_alien.dm
+++ b/code/modules/mob/living/carbon/xenomorph/attack_alien.dm
@@ -7,92 +7,92 @@
* In that case, the first argument is always the attacker. For attack_alien, it should always be Xenomorph sub-types
*/
-
-/mob/living/carbon/human/attack_alien(mob/living/carbon/xenomorph/M, dam_bonus)
- if(M.fortify || HAS_TRAIT(M, TRAIT_ABILITY_BURROWED))
+// this proc could use refactoring at some point
+/mob/living/carbon/human/attack_alien(mob/living/carbon/xenomorph/attacking_xeno, dam_bonus)
+ if(attacking_xeno.fortify || HAS_TRAIT(attacking_xeno, TRAIT_ABILITY_BURROWED))
return XENO_NO_DELAY_ACTION
- var/intent = M.a_intent
+ var/intent = attacking_xeno.a_intent
- if(M.behavior_delegate)
- intent = M.behavior_delegate.override_intent(src)
+ if(attacking_xeno.behavior_delegate)
+ intent = attacking_xeno.behavior_delegate.override_intent(src)
//Reviewing the four primary intents
switch(intent)
if(INTENT_HELP)
if(on_fire)
- extinguish_mob(M)
+ extinguish_mob(attacking_xeno)
else
- M.visible_message(SPAN_NOTICE("[M] caresses [src] with its claws."), \
+ attacking_xeno.visible_message(SPAN_NOTICE("[attacking_xeno] caresses [src] with its claws."), \
SPAN_NOTICE("We caress [src] with our claws."), null, 5, CHAT_TYPE_XENO_FLUFF)
if(INTENT_GRAB)
- if(M == src || anchored || buckled)
+ if(attacking_xeno == src || anchored || buckled)
return XENO_NO_DELAY_ACTION
- if(check_shields(0, M.name)) // Blocking check
- M.visible_message(SPAN_DANGER("[M]'s grab is blocked by [src]'s shield!"), \
+ if(check_shields(0, attacking_xeno.name)) // Blocking check
+ attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno]'s grab is blocked by [src]'s shield!"), \
SPAN_DANGER("Our grab was blocked by [src]'s shield!"), null, 5, CHAT_TYPE_XENO_COMBAT)
playsound(loc, 'sound/weapons/alien_claw_block.ogg', 25, 1) //Feedback
return XENO_ATTACK_ACTION
- if(Adjacent(M)) //Logic!
- M.start_pulling(src)
+ if(Adjacent(attacking_xeno)) //Logic!
+ attacking_xeno.start_pulling(src)
if(INTENT_HARM)
- if(M.can_not_harm(src))
- M.animation_attack_on(src)
- M.visible_message(SPAN_NOTICE("[M] nibbles [src]"), \
+ if(attacking_xeno.can_not_harm(src))
+ attacking_xeno.animation_attack_on(src)
+ attacking_xeno.visible_message(SPAN_NOTICE("[attacking_xeno] nibbles [src]"), \
SPAN_XENONOTICE("We nibble [src]"))
return XENO_ATTACK_ACTION
- if(M.behavior_delegate && M.behavior_delegate.handle_slash(src))
+ if(attacking_xeno.behavior_delegate && attacking_xeno.behavior_delegate.handle_slash(src))
return XENO_NO_DELAY_ACTION
if(stat == DEAD)
- to_chat(M, SPAN_WARNING("[src] is dead, why would we want to touch it?"))
+ to_chat(attacking_xeno, SPAN_WARNING("[src] is dead, why would we want to touch it?"))
return XENO_NO_DELAY_ACTION
- if(M.caste && !M.caste.is_intelligent)
+ if(attacking_xeno.caste && !attacking_xeno.caste.is_intelligent)
if(HAS_TRAIT(src, TRAIT_NESTED) && (status_flags & XENO_HOST))
for(var/obj/item/alien_embryo/embryo in src)
- if(HIVE_ALLIED_TO_HIVE(M.hivenumber, embryo.hivenumber))
- to_chat(M, SPAN_WARNING("We should not harm this host! It has a sister inside."))
+ if(HIVE_ALLIED_TO_HIVE(attacking_xeno.hivenumber, embryo.hivenumber))
+ to_chat(attacking_xeno, SPAN_WARNING("We should not harm this host! It has a sister inside."))
return XENO_NO_DELAY_ACTION
- if(check_shields(0, M.name)) // Blocking check
- M.visible_message(SPAN_DANGER("[M]'s slash is blocked by [src]'s shield!"), \
+ if(check_shields(0, attacking_xeno.name)) // Blocking check
+ attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno]'s slash is blocked by [src]'s shield!"), \
SPAN_DANGER("Our slash is blocked by [src]'s shield!"), null, 5, CHAT_TYPE_XENO_COMBAT)
playsound(loc, 'sound/weapons/alien_claw_block.ogg', 25, 1) //Feedback
return XENO_ATTACK_ACTION
//From this point, we are certain a full attack will go out. Calculate damage and modifiers
- M.track_slashes(M.caste_type) //Adds to slash stat.
- var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) + dam_bonus
+ attacking_xeno.track_slashes(attacking_xeno.caste_type) //Adds to slash stat.
+ var/damage = rand(attacking_xeno.melee_damage_lower, attacking_xeno.melee_damage_upper) + dam_bonus
var/acid_damage = 0
- if(M.burn_damage_lower)
- acid_damage = rand(M.burn_damage_lower, M.burn_damage_upper)
+ if(attacking_xeno.burn_damage_lower)
+ acid_damage = rand(attacking_xeno.burn_damage_lower, attacking_xeno.burn_damage_upper)
//Frenzy auras stack in a way, then the raw value is multipled by two to get the additive modifier
- if(M.frenzy_aura > 0)
- damage += (M.frenzy_aura * FRENZY_DAMAGE_MULTIPLIER)
+ if(attacking_xeno.frenzy_aura > 0)
+ damage += (attacking_xeno.frenzy_aura * FRENZY_DAMAGE_MULTIPLIER)
if(acid_damage)
- acid_damage += (M.frenzy_aura * FRENZY_DAMAGE_MULTIPLIER)
+ acid_damage += (attacking_xeno.frenzy_aura * FRENZY_DAMAGE_MULTIPLIER)
- M.animation_attack_on(src)
+ attacking_xeno.animation_attack_on(src)
//Somehow we will deal no damage on this attack
if(!damage)
- playsound(M.loc, 'sound/weapons/alien_claw_swipe.ogg', 25, 1)
- M.animation_attack_on(src)
- M.visible_message(SPAN_DANGER("[M] lunges at [src]!"), \
+ playsound(attacking_xeno.loc, 'sound/weapons/alien_claw_swipe.ogg', 25, 1)
+ attacking_xeno.animation_attack_on(src)
+ attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno] lunges at [src]!"), \
SPAN_DANGER("We lunge at [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT)
return XENO_ATTACK_ACTION
- M.flick_attack_overlay(src, "slash")
+ attacking_xeno.flick_attack_overlay(src, "slash")
var/obj/limb/affecting
- affecting = get_limb(rand_zone(M.zone_selected, 70))
+ affecting = get_limb(rand_zone(attacking_xeno.zone_selected, 70))
if(!affecting) //No organ, just get a random one
affecting = get_limb(rand_zone(null, 0))
if(!affecting) //Still nothing??
@@ -100,17 +100,17 @@
var/armor_block = getarmor(affecting, ARMOR_MELEE)
- if(wear_mask && check_zone(M.zone_selected) == "head")
+ if(wear_mask && check_zone(attacking_xeno.zone_selected) == "head")
if(istype(wear_mask, /obj/item/clothing/mask/gas/yautja))
var/knock_chance = 1
- if(M.frenzy_aura > 0)
- knock_chance += 2 * M.frenzy_aura
- if(M.caste && M.caste.is_intelligent)
+ if(attacking_xeno.frenzy_aura > 0)
+ knock_chance += 2 * attacking_xeno.frenzy_aura
+ if(attacking_xeno.caste && attacking_xeno.caste.is_intelligent)
knock_chance += 2
knock_chance += min(round(damage * 0.25), 10) //Maximum of 15% chance.
if(prob(knock_chance))
playsound(loc, "alien_claw_metal", 25, 1)
- M.visible_message(SPAN_DANGER("[M] smashes off [src]'s [wear_mask.name]!"), \
+ attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno] smashes off [src]'s [wear_mask.name]!"), \
SPAN_DANGER("We smash off [src]'s [wear_mask.name]!"), null, 5)
drop_inv_item_on_ground(wear_mask)
if(isyautja(src))
@@ -121,42 +121,39 @@
var/n_damage = armor_damage_reduction(GLOB.marine_melee, damage, armor_block)
- if(M.behavior_delegate)
- n_damage = M.behavior_delegate.melee_attack_modify_damage(n_damage, src)
-
- if(M.behavior_delegate)
- var/datum/behavior_delegate/MD = M.behavior_delegate
- MD.melee_attack_additional_effects_target(src)
- MD.melee_attack_additional_effects_self()
+ if(attacking_xeno.behavior_delegate)
+ n_damage = attacking_xeno.behavior_delegate.melee_attack_modify_damage(n_damage, src)
+ attacking_xeno.behavior_delegate.melee_attack_additional_effects_target(src)
+ attacking_xeno.behavior_delegate.melee_attack_additional_effects_self()
- var/slash_noise = M.slash_sound
+ var/slash_noise = attacking_xeno.slash_sound
var/list/slashdata = list("n_damage" = n_damage, "slash_noise" = slash_noise)
- SEND_SIGNAL(src, COMSIG_HUMAN_XENO_ATTACK, slashdata, M)
+ SEND_SIGNAL(src, COMSIG_HUMAN_XENO_ATTACK, slashdata, attacking_xeno)
var/f_damage = slashdata["n_damage"]
slash_noise = slashdata["slash_noise"]
//The normal attack proceeds
playsound(loc, slash_noise, 25, TRUE)
- M.visible_message(SPAN_DANGER("[M] [M.slashes_verb] [src]!"), \
- SPAN_DANGER("We [M.slash_verb] [src]!"), null, null, CHAT_TYPE_XENO_COMBAT)
+ attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno] [attacking_xeno.slashes_verb] [src]!"), \
+ SPAN_DANGER("We [attacking_xeno.slash_verb] [src]!"), null, null, CHAT_TYPE_XENO_COMBAT)
- handle_blood_splatter(get_dir(M.loc, src.loc))
+ handle_blood_splatter(get_dir(attacking_xeno.loc, src.loc))
- last_damage_data = create_cause_data(initial(M.name), M)
+ last_damage_data = create_cause_data(initial(attacking_xeno.name), attacking_xeno)
//Logging, including anti-rulebreak logging
if(status_flags & XENO_HOST && stat != DEAD)
if(HAS_TRAIT(src, TRAIT_NESTED)) //Host was buckled to nest while infected, this is a rule break
- attack_log += text("\[[time_stamp()]\] was [M.slash_verb]ed by [key_name(M)] while they were infected and nested")
- M.attack_log += text("\[[time_stamp()]\] [M.slash_verb]ed [key_name(src)] while they were infected and nested")
- message_admins("[key_name(M)] [M.slash_verb]ed [key_name(src)] while they were infected and nested.") //This is a blatant rulebreak, so warn the admins
+ attack_log += text("\[[time_stamp()]\] was [attacking_xeno.slash_verb]ed by [key_name(attacking_xeno)] while they were infected and nested")
+ attacking_xeno.attack_log += text("\[[time_stamp()]\] [attacking_xeno.slash_verb]ed [key_name(src)] while they were infected and nested")
+ message_admins("[key_name(attacking_xeno)] [attacking_xeno.slash_verb]ed [key_name(src)] while they were infected and nested.") //This is a blatant rulebreak, so warn the admins
else //Host might be rogue, needs further investigation
- attack_log += text("\[[time_stamp()]\] was [M.slash_verb]ed by [key_name(M)] while they were infected")
- M.attack_log += text("\[[time_stamp()]\] [M.slash_verb]ed [key_name(src)] while they were infected")
+ attack_log += text("\[[time_stamp()]\] was [attacking_xeno.slash_verb]ed by [key_name(attacking_xeno)] while they were infected")
+ attacking_xeno.attack_log += text("\[[time_stamp()]\] [attacking_xeno.slash_verb]ed [key_name(src)] while they were infected")
else //Normal xenomorph friendship with benefits
- attack_log += text("\[[time_stamp()]\] was [M.slash_verb]ed by [key_name(M)]")
- M.attack_log += text("\[[time_stamp()]\] [M.slash_verb]ed [key_name(src)]")
- log_attack("[key_name(M)] [M.slash_verb]ed [key_name(src)]")
+ attack_log += text("\[[time_stamp()]\] was [attacking_xeno.slash_verb]ed by [key_name(attacking_xeno)]")
+ attacking_xeno.attack_log += text("\[[time_stamp()]\] [attacking_xeno.slash_verb]ed [key_name(src)]")
+ log_attack("[key_name(attacking_xeno)] [attacking_xeno.slash_verb]ed [key_name(src)]")
//nice messages so people know that armor works
if(f_damage <= 0.34*damage)
@@ -176,23 +173,22 @@
to_chat(src, SPAN_WARNING("Your armor softens the acid!"))
apply_damage(n_acid_damage, BURN, affecting) //Burn damage
- SEND_SIGNAL(M, COMSIG_HUMAN_ALIEN_ATTACK, src)
+ SEND_SIGNAL(attacking_xeno, COMSIG_HUMAN_ALIEN_ATTACK, src)
updatehealth()
if(INTENT_DISARM)
-
- if(M.legcuffed && isyautja(src))
- to_chat(M, SPAN_XENODANGER("We don't have the dexterity to tackle the headhunter with that thing on our leg!"))
+ if(attacking_xeno.legcuffed && isyautja(src))
+ to_chat(attacking_xeno, SPAN_XENODANGER("We don't have the dexterity to tackle the headhunter with that thing on our leg!"))
return XENO_NO_DELAY_ACTION
- M.animation_attack_on(src)
- if(check_shields(0, M.name)) // Blocking check
- M.visible_message(SPAN_DANGER("[M]'s tackle is blocked by [src]'s shield!"), \
+ attacking_xeno.animation_attack_on(src)
+ if(check_shields(0, attacking_xeno.name)) // Blocking check
+ attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno]'s tackle is blocked by [src]'s shield!"), \
SPAN_DANGER("We tackle is blocked by [src]'s shield!"), null, 5, CHAT_TYPE_XENO_COMBAT)
playsound(loc, 'sound/weapons/alien_claw_block.ogg', 25, 1) //Feedback
return XENO_ATTACK_ACTION
- M.flick_attack_overlay(src, "disarm")
+ attacking_xeno.flick_attack_overlay(src, "disarm")
var/tackle_mult = 1
var/tackle_min_offset = 0
@@ -202,22 +198,29 @@
tackle_min_offset += 2
tackle_max_offset += 2
- if(M.attempt_tackle(src, tackle_mult, tackle_min_offset, tackle_max_offset))
+ var/knocked_down
+ if(attacking_xeno.attempt_tackle(src, tackle_mult, tackle_min_offset, tackle_max_offset))
playsound(loc, 'sound/weapons/alien_knockdown.ogg', 25, 1)
- var/strength = rand(M.tacklestrength_min, M.tacklestrength_max)
+ var/strength = rand(attacking_xeno.tacklestrength_min, attacking_xeno.tacklestrength_max)
Stun(strength)
KnockDown(strength) // Purely for knockdown visuals. All the heavy lifting is done by Stun
- M.visible_message(SPAN_DANGER("[M] tackles down [src]!"), \
+ attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno] tackles down [src]!"), \
SPAN_DANGER("We tackle down [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT)
- SEND_SIGNAL(src, COMSIG_MOB_TACKLED_DOWN, M)
+ SEND_SIGNAL(src, COMSIG_MOB_TACKLED_DOWN, attacking_xeno)
+ knocked_down = TRUE
else
playsound(loc, 'sound/weapons/alien_claw_swipe.ogg', 25, 1)
if (body_position == LYING_DOWN)
- M.visible_message(SPAN_DANGER("[M] tries to tackle [src], but they are already down!"), \
+ attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno] tries to tackle [src], but they are already down!"), \
SPAN_DANGER("We try to tackle [src], but they are already down!"), null, 5, CHAT_TYPE_XENO_COMBAT)
else
- M.visible_message(SPAN_DANGER("[M] tries to tackle [src]"), \
+ attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno] tries to tackle [src]"), \
SPAN_DANGER("We try to tackle [src]"), null, 5, CHAT_TYPE_XENO_COMBAT)
+ knocked_down = FALSE
+
+ attacking_xeno.attack_log += "\[[time_stamp()]\] [knocked_down ? "S" : "Uns"]uccessfully tackled [key_name(src)]"
+ attack_log += "\[[time_stamp()]\] Has been [knocked_down ? "" : "un"]successfully tackled by [key_name(attacking_xeno)]"
+ log_attack("[key_name(attacking_xeno)] [knocked_down ? "" : "un"]successfully tackled [key_name(src)] in [get_area(src)] ([loc.x],[loc.y],[loc.z]).")
return XENO_ATTACK_ACTION
@@ -311,7 +314,10 @@
//This proc is here to prevent Xenomorphs from picking up objects (default attack_hand behaviour)
//Note that this is overridden by every proc concerning a child of obj unless inherited
-/obj/item/attack_alien(mob/living/carbon/xenomorph/M)
+/obj/item/attack_alien(mob/living/carbon/xenomorph/xeno)
+ if(HAS_TRAIT(xeno, TRAIT_OPPOSABLE_THUMBS))
+ attack_hand(xeno)
+ return XENO_NONCOMBAT_ACTION
return
/obj/attack_larva(mob/living/carbon/xenomorph/larva/M)
@@ -378,10 +384,16 @@
//If we sent it to monkey we'd get some weird shit happening.
/obj/structure/attack_alien(mob/living/carbon/xenomorph/M)
// fuck off dont destroy my unslashables
- if(unslashable || health <= 0)
+ if(unslashable || health <= 0 && !HAS_TRAIT(usr, TRAIT_OPPOSABLE_THUMBS))
to_chat(M, SPAN_WARNING("We stare at \the [src] cluelessly."))
return XENO_NO_DELAY_ACTION
+/obj/structure/magazine_box/attack_alien(mob/living/carbon/xenomorph/xeno)
+ if(HAS_TRAIT(usr, TRAIT_OPPOSABLE_THUMBS))
+ attack_hand(xeno)
+ return XENO_NONCOMBAT_ACTION
+ else
+ . = ..()
//Beds, nests and chairs - unbuckling
/obj/structure/bed/attack_alien(mob/living/carbon/xenomorph/M)
@@ -661,7 +673,7 @@
//Xenomorphs can't use machinery, not even the "intelligent" ones
//Exception is Queen and shuttles, because plot power
/obj/structure/machinery/attack_alien(mob/living/carbon/xenomorph/M)
- if(unslashable || health <= 0)
+ if(unslashable || health <= 0 && !HAS_TRAIT(usr, TRAIT_OPPOSABLE_THUMBS))
to_chat(M, SPAN_WARNING("We stare at \the [src] cluelessly."))
return XENO_NO_DELAY_ACTION
@@ -680,7 +692,7 @@
// Destroying reagent dispensers
/obj/structure/reagent_dispensers/attack_alien(mob/living/carbon/xenomorph/M)
- if(unslashable || health <= 0)
+ if(unslashable || health <= 0 && !HAS_TRAIT(usr, TRAIT_OPPOSABLE_THUMBS))
to_chat(M, SPAN_WARNING("We stare at \the [src] cluelessly."))
return XENO_NO_DELAY_ACTION
@@ -852,11 +864,7 @@
M.visible_message("[M] slashes away at [src]!","We slash and claw at the bright light!", max_distance = 5, message_flags = CHAT_TYPE_XENO_COMBAT)
health = max(health - rand(M.melee_damage_lower, M.melee_damage_upper), 0)
if(!health)
- playsound(src, "glassbreak", 70, 1)
- damaged = TRUE
- if(is_lit)
- set_light(0)
- update_icon()
+ set_damaged()
else
playsound(loc, 'sound/effects/Glasshit.ogg', 25, 1)
return XENO_ATTACK_ACTION
@@ -878,7 +886,8 @@
while(bleed_layer > 0)
xeno_attack_delay(M)
- if(!do_after(M, 12, INTERRUPT_ALL, BUSY_ICON_FRIENDLY))
+ var/size = max(M.mob_size, 1)
+ if(!do_after(M, 12/size, INTERRUPT_ALL, BUSY_ICON_FRIENDLY))
return XENO_NO_DELAY_ACTION
if(!bleed_layer)
diff --git a/code/modules/mob/living/carbon/xenomorph/castes/lesser_drone.dm b/code/modules/mob/living/carbon/xenomorph/castes/lesser_drone.dm
index 8b268ebfce62..9be9e21fd983 100644
--- a/code/modules/mob/living/carbon/xenomorph/castes/lesser_drone.dm
+++ b/code/modules/mob/living/carbon/xenomorph/castes/lesser_drone.dm
@@ -16,9 +16,10 @@
can_be_revived = FALSE
build_time_mult = BUILD_TIME_MULT_LESSER_DRONE
+ behavior_delegate_type = /datum/behavior_delegate/lesser_drone_base
caste_desc = "A builder of hives."
- can_hold_facehuggers = 1
+ can_hold_facehuggers = TRUE
can_hold_eggs = CAN_HOLD_TWO_HANDS
acid_level = 1
weed_level = WEED_LEVEL_STANDARD
@@ -118,3 +119,10 @@
/mob/living/carbon/xenomorph/lesser_drone/handle_ghost_message()
return
+
+/datum/behavior_delegate/lesser_drone_base
+ name = "Base Lesser Drone Behavior Delegate"
+
+/datum/behavior_delegate/lesser_drone_base/on_life()
+ if(bound_xeno.body_position == STANDING_UP && !(locate(/obj/effect/alien/weeds) in get_turf(bound_xeno)))
+ bound_xeno.adjustBruteLoss(5)
diff --git a/code/modules/mob/living/carbon/xenomorph/egg_item.dm b/code/modules/mob/living/carbon/xenomorph/egg_item.dm
index f349b8acfb8d..a9d00519b691 100644
--- a/code/modules/mob/living/carbon/xenomorph/egg_item.dm
+++ b/code/modules/mob/living/carbon/xenomorph/egg_item.dm
@@ -5,7 +5,7 @@
icon = 'icons/mob/xenos/effects.dmi'
icon_state = "egg_item"
w_class = SIZE_MASSIVE
- flags_atom = OPENCONTAINER
+ flags_atom = FPRINT|OPENCONTAINER
flags_item = NOBLUDGEON
throw_range = 1
layer = MOB_LAYER
diff --git a/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/berserker.dm b/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/berserker.dm
index c12324aa5b2a..365304259ac8 100644
--- a/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/berserker.dm
+++ b/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/berserker.dm
@@ -41,7 +41,7 @@
// Eviscerate config
var/rage_lock_duration = 10 SECONDS // 10 seconds of max rage
- var/rage_cooldown_duration = 8 SECONDS // 8 seconds of NO rage.
+ var/rage_cooldown_duration = 10 SECONDS // 10 seconds of NO rage.
// State for tracking rage
var/rage = 0
diff --git a/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/hedgehog.dm b/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/hedgehog.dm
index e1d6dc583416..5cb756d8889d 100644
--- a/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/hedgehog.dm
+++ b/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/hedgehog.dm
@@ -1,6 +1,6 @@
/datum/xeno_strain/hedgehog
name = RAVAGER_HEDGEHOG
- description = "You lose your empower, charge, scissor cut and some slash damage, for a bit more explosive resistance, immunity to small explosions, and you gain several new abilities that allow you to become a spiky tank. You build up shards internally over time and also when taking damage that increase your armor's resilience. You can use these shards to power three new abilities: Spike Shield, which gives you a temporary shield that spits bone shards around you when damaged, Fire Spikes, which launches spikes at your target that slows them and does extra damage if they move, and finally, Spike Shed, which launches spikes all around yourself and gives you a temporary speed boost as an escape plan at the cost of all your stored shards and being unable to gain shards for thirty seconds."
+ description = "You lose your empower, charge, scissor cut, and some slash damage in exchange for more explosive resistance. Your resistance scales with your shard count and at 50% grants you immunity to some explosive stuns. You accumulate shards over time and when taking damage. You can use these shards to power three new abilities: Spike Shield which gives you a temporary shield that spits bone shards around you when damaged; Fire Spikes which launches spikes at your target to slow them and deal damage when they move; and Spike Shed which launches all your spikes, grants a temporary speed boost, and disables shard generation for thirty seconds."
flavor_description = "They will be of iron will and steely muscle. In great armor shall they be clad, and with the mightiest spikes will they be armed."
icon_state_prefix = "Hedgehog"
@@ -19,7 +19,7 @@
/datum/xeno_strain/hedgehog/apply_strain(mob/living/carbon/xenomorph/ravager/ravager)
ravager.plasma_max = 0
- ravager.small_explosives_stun = FALSE
+ ravager.small_explosives_stun = TRUE
ravager.explosivearmor_modifier += XENO_EXPOSIVEARMOR_MOD_SMALL
ravager.damage_modifier -= XENO_DAMAGE_MOD_SMALL
@@ -72,7 +72,6 @@
bound_xeno.speed_modifier += shard_lock_speed_mod
bound_xeno.recalculate_speed()
-
shards_locked = FALSE
// Return true if we have enough shards, false otherwise
@@ -103,6 +102,15 @@
var/percentage_shards = round((shards / max_shards) * 100, 10)
if(percentage_shards)
holder.overlays += image('icons/mob/hud/hud.dmi', "xenoenergy[percentage_shards]")
+
+ if(percentage_shards >= 50)
+ bound_xeno.small_explosives_stun = FALSE
+ bound_xeno.add_filter("hedge_unstunnable", 1, list("type" = "outline", "color" = "#421313", "size" = 1))
+ else
+ bound_xeno.small_explosives_stun = TRUE
+ bound_xeno.remove_filter("hedge_unstunnable", 1, list("type" = "outline", "color" = "#421313", "size" = 1))
+
+
return
diff --git a/code/modules/mob/living/carbon/xenomorph/update_icons.dm b/code/modules/mob/living/carbon/xenomorph/update_icons.dm
index 571f261ab981..ac0c381f5ed4 100644
--- a/code/modules/mob/living/carbon/xenomorph/update_icons.dm
+++ b/code/modules/mob/living/carbon/xenomorph/update_icons.dm
@@ -148,7 +148,12 @@
var/t_state = r_hand.item_state
if(!t_state)
t_state = r_hand.icon_state
- overlays_standing[X_R_HAND_LAYER] = r_hand.get_mob_overlay(src, WEAR_R_HAND)
+ /*Move inhand image to the center of the sprite. Strictly speaking this should probably be like monkey get_offset_overlay_image() and tailor item icon
+ positions to the hands of the xeno, but outside of special occasions xenos can't really pick items up and this tends to look better than human default.*/
+ var/image/inhand_image = r_hand.get_mob_overlay(src, WEAR_R_HAND)
+ inhand_image.pixel_x = xeno_inhand_item_offset
+ overlays_standing[X_R_HAND_LAYER] = inhand_image
+
apply_overlay(X_R_HAND_LAYER)
/mob/living/carbon/xenomorph/update_inv_l_hand()
@@ -161,7 +166,13 @@
var/t_state = l_hand.item_state
if(!t_state)
t_state = l_hand.icon_state
- overlays_standing[X_L_HAND_LAYER] = l_hand.get_mob_overlay(src, WEAR_L_HAND)
+
+ /*Move inhand image overlay to the center of the sprite. Strictly speaking this should probably be like monkey get_offset_overlay_image() and tailor item icon
+ positions to the hands of the xeno, but outside of special occasions xenos can't really pick items up and this tends to look better than human default.*/
+ var/image/inhand_image = l_hand.get_mob_overlay(src, WEAR_L_HAND)
+ inhand_image.pixel_x = xeno_inhand_item_offset
+ overlays_standing[X_L_HAND_LAYER] = inhand_image
+
apply_overlay(X_L_HAND_LAYER)
/mob/living/carbon/xenomorph/update_inv_back()
@@ -196,31 +207,46 @@
overlays_standing[X_LEGCUFF_LAYER] = image("icon" = 'icons/mob/xenos/effects.dmi', "icon_state" = "legcuff", "layer" =-X_LEGCUFF_LAYER)
apply_overlay(X_LEGCUFF_LAYER)
-/mob/living/carbon/xenomorph/proc/create_shriekwave(color = null)
- var/image/screech_image
-
- var/offset_x = 0
- var/offset_y = 0
- if(mob_size <= MOB_SIZE_XENO)
- offset_x = -7
- offset_y = -10
-
- if (color)
- screech_image = image("icon"='icons/mob/xenos/overlay_effects64x64.dmi', "icon_state" = "shriek_waves_greyscale") // For Praetorian screech
- screech_image.color = color
- else
- screech_image = image("icon"='icons/mob/xenos/overlay_effects64x64.dmi', "icon_state" = "shriek_waves") //Ehh, suit layer's not being used.
-
- screech_image.pixel_x = offset_x
- screech_image.pixel_y = offset_y
-
- screech_image.appearance_flags |= RESET_COLOR
-
- remove_suit_layer()
-
- overlays_standing[X_SUIT_LAYER] = screech_image
- apply_overlay(X_SUIT_LAYER)
- addtimer(CALLBACK(src, PROC_REF(remove_overlay), X_SUIT_LAYER), 30)
+/mob/living/carbon/xenomorph/proc/create_shriekwave(shriekwaves_left)
+ var/offset_y = 8
+ if(mob_size == MOB_SIZE_XENO)
+ offset_y = 24
+ if(mob_size == MOB_SIZE_IMMOBILE)
+ offset_y = 28
+
+ //the shockwave center is updated eachtime shockwave is called and offset relative to the mob_size.
+ //due to the speed of the shockwaves, it isn't required to be tied to the exact mob movements
+ var/epicenter = loc //center of the shockwave, set at the center of the tile that the mob is currently standing on
+ var/easing = QUAD_EASING | EASE_OUT
+ var/stage1_radius = rand(11, 12)
+ var/stage2_radius = rand(9, 11)
+ var/stage3_radius = rand(8, 10)
+ var/stage4_radius = 7.5
+
+ //shockwaves are iterated, counting down once per shriekwave, with the total amount being determined on the respective xeno ability tile
+ if(shriekwaves_left > 12)
+ shriekwaves_left--
+ new /obj/effect/shockwave(epicenter, stage1_radius, 0.5, easing, offset_y)
+ addtimer(CALLBACK(src, PROC_REF(create_shriekwave), shriekwaves_left), 2)
+ return
+ if(shriekwaves_left > 8)
+ shriekwaves_left--
+ new /obj/effect/shockwave(epicenter, stage2_radius, 0.5, easing, offset_y)
+ addtimer(CALLBACK(src, PROC_REF(create_shriekwave), shriekwaves_left), 3)
+ return
+ if(shriekwaves_left > 4)
+ shriekwaves_left--
+ new /obj/effect/shockwave(epicenter, stage3_radius, 0.5, easing, offset_y)
+ addtimer(CALLBACK(src, PROC_REF(create_shriekwave), shriekwaves_left), 3)
+ return
+ if(shriekwaves_left > 1)
+ shriekwaves_left--
+ new /obj/effect/shockwave(epicenter, stage4_radius, 0.5, easing, offset_y)
+ addtimer(CALLBACK(src, PROC_REF(create_shriekwave), shriekwaves_left), 3)
+ return
+ if(shriekwaves_left == 1)
+ shriekwaves_left--
+ new /obj/effect/shockwave(epicenter, 10.5, 0.6, easing, offset_y)
/mob/living/carbon/xenomorph/proc/create_stomp()
remove_suit_layer()
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index d5190318715c..9500d0a30e37 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -224,19 +224,34 @@
/mob/living/resist_grab(moving_resist)
if(!pulledby)
return
- if(pulledby.grab_level)
- if(prob(50))
- playsound(src.loc, 'sound/weapons/thudswoosh.ogg', 25, 1, 7)
- visible_message(SPAN_DANGER("[src] has broken free of [pulledby]'s grip!"), null, null, 5)
- pulledby.stop_pulling()
- return 1
- if(moving_resist && client) //we resisted by trying to move
- visible_message(SPAN_DANGER("[src] struggles to break free of [pulledby]'s grip!"), null, null, 5)
- client.next_movement = world.time + (10*pulledby.grab_level) + client.move_delay
- else
+ // vars for checks of strengh
+ var/pulledby_is_strong = HAS_TRAIT(pulledby, TRAIT_SUPER_STRONG)
+ var/src_is_strong = HAS_TRAIT(src, TRAIT_SUPER_STRONG)
+
+ if(!pulledby.grab_level && (!pulledby_is_strong || src_is_strong)) // if passive grab, check if puller is stronger than src, and if not, break free
pulledby.stop_pulling()
- return 1
+ return TRUE
+ // Chance for person to break free of grip, defaults to 50.
+ var/chance = 50
+ if(src_is_strong && !isxeno(pulledby)) // no extra chance to resist warrior grabs
+ chance += 30 // you are strong, you can overpower them easier
+ if(pulledby_is_strong)
+ chance -= 30 // stronger grip
+ // above code means that if you are super strong, 80% chance to resist, otherwise, 20 percent. if both are super strong, standard 50.
+
+ if(prob(chance))
+ playsound(loc, 'sound/weapons/thudswoosh.ogg', 25, 1, 7)
+ visible_message(SPAN_DANGER("[src] has broken free of [pulledby]'s grip!"), max_distance = 5)
+ pulledby.stop_pulling()
+ return TRUE
+ if(moving_resist && client) //we resisted by trying to move
+ visible_message(SPAN_DANGER("[src] struggles to break free of [pulledby]'s grip!"), max_distance = 5)
+ // +1 delay if super strong, also done as passive grabs would have a modifier of 0 otherwise, causing spam
+ if(pulledby_is_strong && !src_is_strong)
+ client.next_movement = world.time + (10*(pulledby.grab_level + 1)) + client.move_delay
+ else
+ client.next_movement = world.time + (10*pulledby.grab_level) + client.move_delay
/mob/living/movement_delay()
. = ..()
@@ -445,9 +460,12 @@
/mob/proc/flash_eyes()
return
-/mob/living/flash_eyes(intensity = EYE_PROTECTION_FLASH, bypass_checks, type = /atom/movable/screen/fullscreen/flash, flash_timer = 40)
- if( bypass_checks || (get_eye_protection() < intensity && !(sdisabilities & DISABILITY_BLIND)))
- overlay_fullscreen("flash", type)
+/mob/living/flash_eyes(intensity = EYE_PROTECTION_FLASH, bypass_checks, flash_timer = 40, type = /atom/movable/screen/fullscreen/flash, dark_type = /atom/movable/screen/fullscreen/flash/dark)
+ if(bypass_checks || (get_eye_protection() < intensity && !(sdisabilities & DISABILITY_BLIND)))
+ if(client?.prefs?.flash_overlay_pref == FLASH_OVERLAY_DARK)
+ overlay_fullscreen("flash", dark_type)
+ else
+ overlay_fullscreen("flash", type)
spawn(flash_timer)
clear_fullscreen("flash", 20)
return TRUE
diff --git a/code/modules/mob/living/living_health_procs.dm b/code/modules/mob/living/living_health_procs.dm
index dd11eb8c7faf..986d8740f11f 100644
--- a/code/modules/mob/living/living_health_procs.dm
+++ b/code/modules/mob/living/living_health_procs.dm
@@ -525,7 +525,8 @@
hallucination = 0
jitteriness = 0
dizziness = 0
-
+ stamina.apply_damage(-stamina.max_stamina)
+
// restore all of a human's blood
if(ishuman(src))
var/mob/living/carbon/human/H = src
diff --git a/code/modules/mob/living/living_healthscan.dm b/code/modules/mob/living/living_healthscan.dm
index c06dfc9a7166..30358dea20c1 100644
--- a/code/modules/mob/living/living_healthscan.dm
+++ b/code/modules/mob/living/living_healthscan.dm
@@ -79,6 +79,12 @@ GLOBAL_LIST_INIT(known_implants, subtypesof(/obj/item/implant))
// Fake death will make the scanner think they died of oxygen damage, thus it returns enough damage to kill minus already received damage.
return round(POSITIVE(200 - total_mob_damage))
+/datum/health_scan/proc/get_holo_card_color(mob/living/target_mob)
+ if(!ishuman(target_mob))
+ return
+ var/mob/living/carbon/human/human_mob = target_mob
+ return human_mob.holo_card_color
+
/datum/health_scan/proc/get_health_value(mob/living/target_mob)
if(!(target_mob.status_flags & FAKEDEATH))
return target_mob.health
@@ -97,7 +103,7 @@ GLOBAL_LIST_INIT(known_implants, subtypesof(/obj/item/implant))
"clone" = round(target_mob.getCloneLoss()),
"blood_type" = target_mob.blood_type,
"blood_amount" = target_mob.blood_volume,
-
+ "holocard" = get_holo_card_color(target_mob),
"hugged" = (locate(/obj/item/alien_embryo) in target_mob),
)
@@ -467,6 +473,17 @@ GLOBAL_LIST_INIT(known_implants, subtypesof(/obj/item/implant))
return data
+/datum/health_scan/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
+ . = ..()
+ if(.)
+ return
+ switch(action)
+ if("change_holo_card")
+ if(ishuman(target_mob))
+ var/mob/living/carbon/human/target_human = target_mob
+ target_human.change_holo_card(ui.user)
+ return TRUE
+
/// legacy proc for to_chat messages on health analysers
/mob/living/proc/health_scan(mob/living/carbon/human/user, ignore_delay = FALSE, show_limb_damage = TRUE, show_browser = TRUE, alien = FALSE, do_checks = TRUE) // ahem. FUCK WHOEVER CODED THIS SHIT AS NUMBERS AND NOT DEFINES.
if(do_checks)
diff --git a/code/modules/mob/living/living_verbs.dm b/code/modules/mob/living/living_verbs.dm
index a9f41f679d34..777aa66fe29d 100644
--- a/code/modules/mob/living/living_verbs.dm
+++ b/code/modules/mob/living/living_verbs.dm
@@ -66,7 +66,7 @@
if (BB.opened)
return
visible_message("[BB] begins to wiggle violently!")
- if(do_after(src, 5 SECONDS, INTERRUPT_ALL, BUSY_ICON_HOSTILE, BB))//5 second unzip from inside
+ if(do_after(src, 5 SECONDS, INTERRUPT_UNCONSCIOUS, BUSY_ICON_HOSTILE, BB))//5 second unzip from inside
BB.open()
///The medical machines below are listed separately to allow easier changes to each process
diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm
index 9fa38d1ecb43..7f3af1449266 100644
--- a/code/modules/mob/living/say.dm
+++ b/code/modules/mob/living/say.dm
@@ -165,11 +165,11 @@ GLOBAL_LIST_INIT(department_radio_keys, list(
if(message_mode) // we are talking into a radio
if(message_mode == "headset") // default value, means general
message_mode = "General"
- log_say("[name != "Unknown" ? name : "([real_name])"] \[[message_mode]\]: [message] (CKEY: [key]) (JOB: [job])")
+ log_say("[name != "Unknown" ? name : "([real_name])"] \[[message_mode]\]: [message] (CKEY: [key]) (JOB: [job]) (AREA: [get_area_name(loc)])")
else // we talk normally
- log_say("[name != "Unknown" ? name : "([real_name])"]: [message] (CKEY: [key]) (JOB: [job])")
+ log_say("[name != "Unknown" ? name : "([real_name])"]: [message] (CKEY: [key]) (JOB: [job]) (AREA: [get_area_name(loc)])")
else
- log_say("[name != "Unknown" ? name : "([real_name])"]: [message] (CKEY: [key])")
+ log_say("[name != "Unknown" ? name : "([real_name])"]: [message] (CKEY: [key]) (AREA: [get_area_name(loc)])")
return 1
diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm
index dcab9f70cbb5..14f220b3a77f 100644
--- a/code/modules/mob/living/simple_animal/parrot.dm
+++ b/code/modules/mob/living/simple_animal/parrot.dm
@@ -107,23 +107,6 @@
walk(src,0)
. = ..()
-/*
- * Inventory
- */
-/mob/living/simple_animal/parrot/show_inv(mob/user as mob)
- user.set_interaction(src)
- if(user.stat) return
-
- var/dat = "Inventory of [name]
"
- if(ears)
- dat += "
Headset: [ears] (Remove)"
- else
- dat += "
Headset: Nothing"
-
- user << browse(dat, text("window=mob[];size=325x500", name))
- onclose(user, "mob[real_name]")
- return
-
/mob/living/simple_animal/parrot/Topic(href, href_list)
//Can the usr physically do this?
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index c11b8acd7f9a..13408be2096e 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -102,6 +102,8 @@
I = image('icons/mob/hud/sec_hud.dmi', src, "")
if(HUNTER_CLAN,HUNTER_HUD)
I = image('icons/mob/hud/hud_yautja.dmi', src, "")
+ if(HOLOCARD_HUD)
+ I = image('icons/mob/hud/marine_hud.dmi', src, "")
I.appearance_flags |= NO_CLIENT_COLOR|KEEP_APART|RESET_COLOR
hud_list[hud] = I
@@ -370,25 +372,6 @@
SIGNAL_HANDLER
reset_view(null)
-/mob/proc/show_inv(mob/user)
- user.set_interaction(src)
- var/dat = {"
-
[name]
-
-
Head(Mask): [(wear_mask ? wear_mask : "Nothing")]
-
Left Hand: [(l_hand ? l_hand : "Nothing")]
-
Right Hand: [(r_hand ? r_hand : "Nothing")]
-
Back: [(back ? back : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/tank) && !( internal )) ? text(" Set Internal", src) : "")]
-
[(internal ? text("Remove Internal") : "")]
-
Empty Pockets
-
Refresh
-
Close
-
"}
- show_browser(user, dat, name, "mob[name]")
- return
-
-
-
/mob/proc/point_to_atom(atom/A, turf/T)
//Squad Leaders and above have reduced cooldown and get a bigger arrow
if(check_improved_pointing())
@@ -446,21 +429,6 @@
update_flavor_text()
return
-
-/mob/MouseDrop(mob/M)
- ..()
- if(M != usr) return
- if(usr == src) return
- if(!Adjacent(usr)) return
- if(!ishuman(M) && !ismonkey(M)) return
- if(!ishuman(src) && !ismonkey(src)) return
- if(M.is_mob_incapacitated())
- return
- if(M.pulling == src && (M.a_intent & INTENT_GRAB) && M.grab_level == GRAB_AGGRESSIVE)
- return
-
- show_inv(M)
-
/mob/proc/swap_hand()
hand = !hand
SEND_SIGNAL(src, COMSIG_MOB_SWAPPED_HAND)
diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm
index b9c5dd12a8aa..bd7370f4806f 100644
--- a/code/modules/mob/mob_grab.dm
+++ b/code/modules/mob/mob_grab.dm
@@ -146,6 +146,7 @@
xeno.visible_message(SPAN_WARNING("[xeno] devours [pulled]!"), \
SPAN_WARNING("We devour [pulled]!"), null, 5)
+ log_interact(xeno, pulled, "[key_name(xeno)] devoured [key_name(pulled)] at [get_area_name(xeno)]")
if(ishuman(pulled))
var/mob/living/carbon/human/pulled_human = pulled
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index 4d64307ad631..0f128b5bcb46 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -342,7 +342,7 @@ GLOBAL_LIST_INIT(limb_types_by_name, list(
return FALSE
-/mob/proc/abiotic(full_body = 0)
+/mob/proc/abiotic(full_body = FALSE)
if(full_body && ((src.l_hand && !( src.l_hand.flags_item & ITEM_ABSTRACT )) || (src.r_hand && !( src.r_hand.flags_item & ITEM_ABSTRACT )) || (src.back || src.wear_mask)))
return TRUE
@@ -386,68 +386,16 @@ GLOBAL_LIST_INIT(limb_types_by_name, list(
/mob/proc/get_eye_protection()
return EYE_PROTECTION_NONE
-/mob/proc/a_select_zone(input, client/user)
- var/atom/movable/screen/zone_sel/zone
-
- for(var/A in user.screen)
- if(istype(A, /atom/movable/screen/zone_sel))
- zone = A
-
- if(!zone)
+/// Change the mob's selected body zone to `target_zone`.
+/mob/proc/select_body_zone(target_zone)
+ if(!target_zone || !hud_used?.zone_sel)
return
- switch(input)
- if("head")
- switch(usr.zone_selected)
- if("head")
- zone.selecting = "eyes"
- if("eyes")
- zone.selecting = "mouth"
- if("mouth")
- zone.selecting = "head"
- else
- zone.selecting = "head"
- if("chest")
- zone.selecting = "chest"
- if("groin")
- zone.selecting = "groin"
- if("rarm")
- switch(usr.zone_selected)
- if("r_arm")
- zone.selecting = "r_hand"
- if("r_hand")
- zone.selecting = "r_arm"
- else
- zone.selecting = "r_arm"
- if("larm")
- switch(usr.zone_selected)
- if("l_arm")
- zone.selecting = "l_hand"
- if("l_hand")
- zone.selecting = "l_arm"
- else
- zone.selecting = "l_arm"
- if("rleg")
- switch(usr.zone_selected)
- if("r_leg")
- zone.selecting = "r_foot"
- if("r_foot")
- zone.selecting = "r_leg"
- else
- zone.selecting = "r_leg"
- if("lleg")
- switch(usr.zone_selected)
- if("l_leg")
- zone.selecting = "l_foot"
- if("l_foot")
- zone.selecting = "l_leg"
- else
- zone.selecting = "l_leg"
- if("next")
- zone.selecting = next_in_list(usr.zone_selected, DEFENSE_ZONES_LIVING)
- if("prev")
- zone.selecting = prev_in_list(usr.zone_selected, DEFENSE_ZONES_LIVING)
- zone.update_icon(usr)
+ // Update the mob's selected zone.
+ zone_selected = target_zone
+ // Update the HUD's selected zone.
+ hud_used.zone_sel.selecting = target_zone
+ hud_used.zone_sel.update_icon()
#define DURATION_MULTIPLIER_TIER_1 0.75
#define DURATION_MULTIPLIER_TIER_2 0.5
@@ -482,7 +430,7 @@ GLOBAL_LIST_INIT(limb_types_by_name, list(
// Medical
if(SKILL_MEDICAL)
if(skillcheck(src, SKILL_MEDICAL, SKILL_MEDICAL_MASTER))
- return DURATION_MULTIPLIER_TIER_2
+ return 0.35
if(skillcheck(src, SKILL_MEDICAL, SKILL_MEDICAL_DOCTOR))
return DURATION_MULTIPLIER_TIER_1
// Surgeon
@@ -603,7 +551,10 @@ GLOBAL_LIST_INIT(limb_types_by_name, list(
for(var/mob/dead/observer/ghost as anything in GLOB.observer_list)
if(!ghost.client)
continue
- ghost.notify_ghost(message, ghost_sound, enter_link, enter_text, source, alert_overlay, action, flashwindow, ignore_mapload, ignore_key, header, notify_volume, extra_large)
+ var/specific_ghost_sound = ghost_sound
+ if(!(ghost.client?.prefs?.toggles_sound & SOUND_OBSERVER_ANNOUNCEMENTS))
+ specific_ghost_sound = null
+ ghost.notify_ghost(message, specific_ghost_sound, enter_link, enter_text, source, alert_overlay, action, flashwindow, ignore_mapload, ignore_key, header, notify_volume, extra_large)
/mob/dead/observer/proc/notify_ghost(message, ghost_sound, enter_link, enter_text, atom/source, mutable_appearance/alert_overlay, action = NOTIFY_JUMP, flashwindow = FALSE, ignore_mapload = TRUE, ignore_key, header, notify_volume = 100, extra_large = FALSE) //Easy notification of a single ghosts.
if(ignore_mapload && SSatoms.initialized != INITIALIZATION_INNEW_REGULAR) //don't notify for objects created during a map load
@@ -654,7 +605,7 @@ GLOBAL_LIST_INIT(limb_types_by_name, list(
alert_overlay.layer = FLOAT_LAYER
alert_overlay.plane = FLOAT_PLANE
-
+ alert_overlay.underlays.Cut()
screen_alert.overlays += alert_overlay
/mob/proc/reset_lighting_alpha()
@@ -662,4 +613,3 @@ GLOBAL_LIST_INIT(limb_types_by_name, list(
lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE
sync_lighting_plane_alpha()
-
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index 7917394df830..f436863b2f2f 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -451,7 +451,7 @@
var/time_remaining = SSticker.GetTimeLeft()
if(time_remaining > 0)
- . += "Time To Start: [round(time_remaining)]s"
+ . += "Time To Start: [round(time_remaining)]s[SSticker.delay_start ? " (DELAYED)" : ""]"
else if(time_remaining == -10)
. += "Time To Start: DELAYED"
else
diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm
index 7e8439cee244..174c05783550 100644
--- a/code/modules/mob/new_player/preferences_setup.dm
+++ b/code/modules/mob/new_player/preferences_setup.dm
@@ -257,8 +257,10 @@
return /datum/equipment_preset/uscm_ship/auxiliary_officer
if(JOB_INTEL)
return /datum/equipment_preset/uscm/intel/full
- if(JOB_PILOT)
- return /datum/equipment_preset/uscm_ship/po/full
+ if(JOB_CAS_PILOT)
+ return /datum/equipment_preset/uscm_ship/gp/full
+ if(JOB_DROPSHIP_PILOT)
+ return /datum/equipment_preset/uscm_ship/dp/full
if(JOB_DROPSHIP_CREW_CHIEF)
return /datum/equipment_preset/uscm_ship/dcc/full
if(JOB_CORPORATE_LIAISON)
diff --git a/code/modules/movement/movement.dm b/code/modules/movement/movement.dm
index da0c76cba9d5..e12a5b439296 100644
--- a/code/modules/movement/movement.dm
+++ b/code/modules/movement/movement.dm
@@ -127,7 +127,7 @@
if(!same_loc)
if(oldloc)
oldloc.Exited(src, destination)
- if(old_area && old_area != destarea)
+ if(old_area && (old_area != destarea || !isturf(destination)))
old_area.Exited(src, destination)
for(var/atom/movable/AM in oldloc)
AM.Uncrossed(src)
@@ -138,7 +138,7 @@
if(old_z != dest_z)
onTransitZ(old_z, dest_z)
destination.Entered(src, oldloc)
- if(destarea && old_area != destarea)
+ if(destarea && (old_area != destarea || !isturf(oldloc)))
destarea.Entered(src, oldloc)
for(var/atom/movable/AM in destination)
diff --git a/code/modules/nightmare/nmnodes/mapload.dm b/code/modules/nightmare/nmnodes/mapload.dm
index 0687399a6612..0bfdc437bd4a 100644
--- a/code/modules/nightmare/nmnodes/mapload.dm
+++ b/code/modules/nightmare/nmnodes/mapload.dm
@@ -81,11 +81,11 @@
/**
* Similar to variations mode, but rolls all files individually rather
* than picking one, using name for landmark. The prefix number is used
- * as a percentage chance. You can add extra text with an underscore.
+ * as a percentage chance.
*
* Example:
* some/folder/10.something_funny.dmm
- * would have 10% chance to insert at 'something' landmark
+ * would have 10% chance to insert at the 'something_funny' landmark
*/
/datum/nmnode/mapload/sprinkles
id = "map_sprinkle"
diff --git a/code/modules/paperwork/desk_bell.dm b/code/modules/paperwork/desk_bell.dm
new file mode 100644
index 000000000000..6e7de1101ae7
--- /dev/null
+++ b/code/modules/paperwork/desk_bell.dm
@@ -0,0 +1,95 @@
+// A receptionist's bell
+
+/obj/item/desk_bell
+ name = "desk bell"
+ desc = "The cornerstone of any customer service job. You feel an unending urge to ring it."
+ icon = 'icons/obj/objects.dmi'
+ icon_state = "desk_bell"
+ w_class = SIZE_SMALL
+ embeddable = FALSE
+ /// The amount of times this bell has been rang, used to check the chance it breaks.
+ var/times_rang = 0
+ /// Is this bell broken?
+ var/broken_ringer = FALSE
+ /// Holds the time that the bell can next be rang.
+ COOLDOWN_DECLARE(ring_cooldown)
+ /// The length of the cooldown. Setting it to 0 will skip all cooldowns alltogether.
+ var/ring_cooldown_length = 5 SECONDS // This is here to protect against tinnitus.
+ /// The sound the bell makes.
+ var/ring_sound = 'sound/misc/desk_bell.ogg'
+
+/obj/item/desk_bell/attack_hand(mob/living/user)
+ if(!ishuman(user))
+ return FALSE
+ if(!anchored)
+ return ..()
+ if(!COOLDOWN_FINISHED(src, ring_cooldown))
+ return FALSE
+ if(!ring_bell(user))
+ to_chat(user, SPAN_NOTICE("[src] is silent. Some idiot broke it."))
+ return FALSE
+ return TRUE
+
+/obj/item/desk_bell/MouseDrop(atom/over_object)
+ var/mob/mob = usr
+ if(!Adjacent(mob) || anchored)
+ return
+ if(!ishuman(mob))
+ return
+
+ if(over_object == mob)
+ mob.put_in_hands(src)
+
+/obj/item/desk_bell/attackby(obj/item/item, mob/user)
+ //Repair the desk bell if its broken and we're using a screwdriver.
+ if(HAS_TRAIT(item, TRAIT_TOOL_SCREWDRIVER))
+ if(broken_ringer)
+ user.visible_message(SPAN_NOTICE("[user] begins repairing [src]..."), SPAN_NOTICE("You begin repairing [src]..."))
+ if(do_after(user, 5 SECONDS, INTERRUPT_ALL, BUSY_ICON_GENERIC))
+ user.visible_message(SPAN_NOTICE("[user] repairs [src]."), SPAN_NOTICE("You repair [src]."))
+ playsound(src, 'sound/items/Screwdriver.ogg', 50)
+ broken_ringer = FALSE
+ times_rang = 0
+ return TRUE
+ return FALSE
+
+ //Return at this point if we're not on a turf so we don't anchor or unanchor inside our bag/hands or inventory.
+ if(!isturf(loc))
+ return
+
+ //Wrenching down and unwrenching.
+ if(HAS_TRAIT(item, TRAIT_TOOL_WRENCH))
+ if(user.a_intent == INTENT_HARM)
+ visible_message(SPAN_NOTICE("[user] begins taking apart [src]..."), SPAN_NOTICE("You begin taking apart [src]..."))
+ playsound(src, 'sound/items/deconstruct.ogg', 35)
+ if(do_after(user, 5 SECONDS, INTERRUPT_ALL, BUSY_ICON_GENERIC))
+ visible_message(SPAN_NOTICE("[user] takes apart [src]."), SPAN_NOTICE("You take apart [src]."))
+ new /obj/item/stack/sheet/metal(get_turf(src))
+ qdel(src)
+ return TRUE
+ else
+ user.visible_message(SPAN_NOTICE("[user] begins [anchored ? "un" : ""]securing [src]..."), SPAN_NOTICE("You begin [anchored ? "un" : ""]securing [src]..."))
+ playsound(src, 'sound/items/Ratchet.ogg', 35, TRUE)
+ if(!do_after(user, 2 SECONDS, INTERRUPT_ALL, BUSY_ICON_GENERIC))
+ return FALSE
+ user.visible_message(SPAN_NOTICE("[user] [anchored ? "un" : ""]secures [src]."), SPAN_NOTICE("You [anchored ? "un" : ""]secure [src]."))
+ anchored = !anchored
+ return TRUE
+
+
+/// Check if the clapper breaks, and if it does, break it. Chance to break is 1% for every 100 rings of the bell.
+/obj/item/desk_bell/proc/check_clapper(mob/living/user)
+ if(prob(times_rang / 100))
+ to_chat(user, SPAN_NOTICE("You hear [src]'s clapper fall off of its hinge. Nice job hamfist, you broke it."))
+ broken_ringer = TRUE
+
+/// Ring the bell.
+/obj/item/desk_bell/proc/ring_bell(mob/living/user)
+ if(broken_ringer)
+ return FALSE
+ check_clapper(user)
+ COOLDOWN_START(src, ring_cooldown, ring_cooldown_length)
+ playsound(src, ring_sound, 80)
+ flick("desk_bell_activate", src)
+ times_rang++
+ return TRUE
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index 08711f295085..0d5eca1dd9a1 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -1,7 +1,9 @@
+/// Normal Photocopier, made by Seegson
/obj/structure/machinery/photocopier
name = "photocopier"
icon = 'icons/obj/structures/machinery/library.dmi'
icon_state = "bigscanner"
+ desc = "A photocopier used for copying... you know, photos! Also useful for copying documents on paper. This specific model has been manufactured by Seegson in a cheaper frame than most modern photocopiers. It uses more primitive copying technology resulting in more toner waste and less printing capabilities. Nonetheless, its cheap construction means cheaper costs, and for people that only need to print a paper or two most of the time, it becomes cost-effective."
anchored = TRUE
density = TRUE
use_power = USE_POWER_IDLE
@@ -11,9 +13,15 @@
var/obj/item/paper/copy = null //what's in the copier!
var/obj/item/photo/photocopy = null
var/obj/item/paper_bundle/bundle = null
- var/copies = 1 //how many copies to print!
- var/toner = 30 //how much toner is left! woooooo~
- var/maxcopies = 10 //how many copies can be copied at once- idea shamelessly stolen from bs12's copier!
+ ///how many copies to print!
+ var/copies = 1
+ ///how much toner is left! woooooo~
+ var/toner = 45
+ ///how many copies can be copied at once- idea shamelessly stolen from bs12's copier!
+ var/maxcopies = 10
+ ///the flick state to use when inserting paper into the machine
+ var/animate_state = "bigscanner1"
+
/obj/structure/machinery/photocopier/attack_remote(mob/user as mob)
return attack_hand(user)
@@ -116,7 +124,7 @@
if(user.drop_inv_item_to_loc(O, src))
copy = O
to_chat(user, SPAN_NOTICE("You insert the paper into \the [src]."))
- flick("bigscanner1", src)
+ flick(animate_state, src)
updateUsrDialog()
else
to_chat(user, SPAN_NOTICE("There is already something in \the [src]."))
@@ -125,7 +133,7 @@
if(user.drop_inv_item_to_loc(O, src))
photocopy = O
to_chat(user, SPAN_NOTICE("You insert the photo into \the [src]."))
- flick("bigscanner1", src)
+ flick(animate_state, src)
updateUsrDialog()
else
to_chat(user, SPAN_NOTICE("There is already something in \the [src]."))
@@ -134,13 +142,13 @@
if(user.drop_inv_item_to_loc(O, src))
bundle = O
to_chat(user, SPAN_NOTICE("You insert the bundle into \the [src]."))
- flick("bigscanner1", src)
+ flick(animate_state, src)
updateUsrDialog()
else if(istype(O, /obj/item/device/toner))
if(toner == 0)
if(user.temp_drop_inv_item(O))
qdel(O)
- toner = 30
+ toner = initial(toner)
to_chat(user, SPAN_NOTICE("You insert the toner cartridge into \the [src]."))
updateUsrDialog()
else
@@ -239,6 +247,21 @@
return p
+/// Upgraded photocopier, straight upgrade from the normal photocopier, made by Weyland-Yutani
+/obj/structure/machinery/photocopier/wyphotocopier
+ name = "photocopier"
+ icon = 'icons/obj/structures/machinery/library.dmi'
+ icon_state = "bigscannerpro"
+ desc = "A photocopier used for copying... you know, photos! Also useful for copying documents on paper. This specific model has been manufactured by Weyland-Yutani in a more modern and robust frame than the average photocopiers you see from smaller companies. It uses some of the most advanced technologies in the area of paper-printing such as bigger toner economy and much higher printing capabilities. All that makes it the favorite among consumers that need to print high amounts of paperwork for their daily duties."
+ idle_power_usage = 50
+ active_power_usage = 300
+ copies = 1
+ toner = 180
+ maxcopies = 30
+ animate_state = "bigscannerpro1"
+
+
+/// The actual toner cartridge used in photcopiers
/obj/item/device/toner
name = "toner cartridge"
icon_state = "tonercartridge"
diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm
index 69ce9ec4ce13..5614a4ffe52b 100644
--- a/code/modules/paperwork/photography.dm
+++ b/code/modules/paperwork/photography.dm
@@ -357,6 +357,33 @@
pictures_max = 20
w_class = SIZE_HUGE
flags_equip_slot = NO_FLAGS //cannot be equiped
+ var/obj/structure/machinery/camera/correspondent/linked_cam
+
+/obj/item/device/camera/broadcasting/Destroy()
+ clear_broadcast()
+ return ..()
+
+/obj/item/device/camera/broadcasting/wield(mob/user)
+ . = ..()
+ if(!.)
+ return
+ linked_cam = new(loc, src)
+ SEND_SIGNAL(src, COMSIG_BROADCAST_GO_LIVE)
+ to_chat(user, SPAN_NOTICE("[src] begins to buzz softly as you go live."))
+
+/obj/item/device/camera/broadcasting/unwield(mob/user)
+ . = ..()
+ clear_broadcast()
+
+/obj/item/device/camera/broadcasting/proc/clear_broadcast()
+ if(!QDELETED(linked_cam))
+ QDEL_NULL(linked_cam)
+
+/obj/item/device/camera/broadcasting/proc/get_broadcast_name()
+ var/datum/component/label/src_label_component = GetComponent(/datum/component/label)
+ if(src_label_component)
+ return src_label_component.label_name
+ return "Broadcast [serial_number]"
/obj/item/photo/proc/construct(datum/picture/P)
icon = P.fields["icon"]
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index 309fa583589c..c95fa6af5045 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -390,7 +390,7 @@
else if(status != LIGHT_BROKEN && status != LIGHT_EMPTY)
- if(prob(1+W.force * 5))
+ if(prob(1+W.force * W.demolition_mod * 5))
to_chat(user, "You hit the light, and it smashes!")
for(var/mob/M as anything in viewers(src))
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index 3f7533f26620..a678ceda165c 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -503,13 +503,13 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w
if(slot in list(WEAR_L_HAND, WEAR_R_HAND))
set_gun_user(user)
- if(HAS_TRAIT_FROM_ONLY(src, TRAIT_GUN_LIGHT_DEACTIVATED, user))
+ if(HAS_TRAIT_FROM_ONLY(src, TRAIT_GUN_LIGHT_DEACTIVATED, WEAKREF(user)))
force_light(on = TRUE)
- REMOVE_TRAIT(src, TRAIT_GUN_LIGHT_DEACTIVATED, user)
+ REMOVE_TRAIT(src, TRAIT_GUN_LIGHT_DEACTIVATED, WEAKREF(user))
else
set_gun_user(null)
force_light(on = FALSE)
- ADD_TRAIT(src, TRAIT_GUN_LIGHT_DEACTIVATED, user)
+ ADD_TRAIT(src, TRAIT_GUN_LIGHT_DEACTIVATED, WEAKREF(user))
return ..()
@@ -1419,6 +1419,10 @@ and you're good to go.
BP.generate_bullet(GLOB.ammo_list[projectile_to_fire.ammo.bonus_projectiles_type], 0, NO_FLAGS)
BP.accuracy = round(BP.accuracy * projectile_to_fire.accuracy/initial(projectile_to_fire.accuracy)) //Modifies accuracy of pellets per fire_bonus_projectiles.
BP.damage *= damage_buff
+
+ BP.bonus_projectile_check = 2
+ projectile_to_fire.bonus_projectile_check = 1
+
projectile_to_fire.give_bullet_traits(BP)
if(bullets_fired > 1)
BP.original = attacked_mob //original == the original target of the projectile. If the target is downed and this isn't set, the projectile will try to fly over it. Of course, it isn't going anywhere, but it's the principle of the thing. Very embarrassing.
@@ -1521,7 +1525,7 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed
return //We just put the gun up. Can't do it that fast
if(ismob(user)) //Could be an object firing the gun.
- if(!user.IsAdvancedToolUser())
+ if(!user.IsAdvancedToolUser() && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!"))
return
@@ -1751,7 +1755,7 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed
else
total_recoil -= user.skills.get_skill_level(SKILL_FIREARMS)*RECOIL_AMOUNT_TIER_5
- if(total_recoil > 0 && ishuman(user))
+ if(total_recoil > 0 && (ishuman(user) || HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)))
if(total_recoil >= 4)
shake_camera(user, total_recoil * 0.5, total_recoil)
else
@@ -1763,7 +1767,7 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed
/obj/item/weapon/gun/proc/muzzle_flash(angle,mob/user)
if(!muzzle_flash || flags_gun_features & GUN_SILENCED || isnull(angle))
return //We have to check for null angle here, as 0 can also be an angle.
- if(!istype(user) || !istype(user.loc,/turf))
+ if(!istype(user) || !isturf(user.loc))
return
var/prev_light = light_range
@@ -1772,12 +1776,12 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed
set_light_on(TRUE)
addtimer(CALLBACK(src, PROC_REF(reset_light_range), prev_light), 0.5 SECONDS)
- var/image_layer = (user && user.dir == SOUTH) ? MOB_LAYER+0.1 : MOB_LAYER-0.1
- var/offset = 5
-
- var/image/I = image('icons/obj/items/weapons/projectiles.dmi',user,muzzle_flash,image_layer)
+ var/image/I = image('icons/obj/items/weapons/projectiles.dmi', user, muzzle_flash, user.dir == NORTH ? ABOVE_LYING_MOB_LAYER : FLOAT_LAYER)
var/matrix/rotate = matrix() //Change the flash angle.
- rotate.Translate(0, offset)
+ if(iscarbonsizexeno(user))
+ var/mob/living/carbon/xenomorph/xeno = user
+ I.pixel_x = xeno.xeno_inhand_item_offset //To center it on the xeno sprite without being thrown off by rotation.
+ rotate.Translate(0, 5) //Y offset to push the flash overlay outwards.
rotate.Turn(angle)
I.transform = rotate
I.flick_overlay(user, 3)
diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm
index f875af99bb43..a2801821349c 100644
--- a/code/modules/projectiles/gun_attachables.dm
+++ b/code/modules/projectiles/gun_attachables.dm
@@ -2502,7 +2502,7 @@ Defined in conflicts.dm of the #defines folder.
/obj/item/attachable/stock/smg/collapsible/brace/apply_on_weapon(obj/item/weapon/gun/G)
if(stock_activated)
- G.flags_item |= NODROP
+ G.flags_item |= NODROP|FORCEDROP_CONDITIONAL
accuracy_mod = -HIT_ACCURACY_MULT_TIER_3
scatter_mod = SCATTER_AMOUNT_TIER_8
recoil_mod = RECOIL_AMOUNT_TIER_2 //Hurts pretty bad if it's wielded.
@@ -2513,7 +2513,7 @@ Defined in conflicts.dm of the #defines folder.
icon_state = "smg_brace_on"
attach_icon = "smg_brace_a_on"
else
- G.flags_item &= ~NODROP
+ G.flags_item &= ~(NODROP|FORCEDROP_CONDITIONAL)
accuracy_mod = 0
scatter_mod = 0
recoil_mod = 0
@@ -3221,6 +3221,10 @@ Defined in conflicts.dm of the #defines folder.
to_chat(user, SPAN_WARNING("\The [gun] doesn't have enough fuel to launch a projectile!"))
return
+ if(istype(flamer_reagent, /datum/reagent/foaming_agent/stabilized))
+ to_chat(user, SPAN_WARNING("This chemical will clog the nozzle!"))
+ return
+
gun.last_fired = world.time
gun.current_mag.reagents.remove_reagent(flamer_reagent.id, FLAME_REAGENT_USE_AMOUNT * fuel_per_projectile)
diff --git a/code/modules/projectiles/gun_helpers.dm b/code/modules/projectiles/gun_helpers.dm
index 781db8fc1222..e5d0ef1c0ef8 100644
--- a/code/modules/projectiles/gun_helpers.dm
+++ b/code/modules/projectiles/gun_helpers.dm
@@ -312,7 +312,7 @@ DEFINES in setup.dm, referenced here.
var/tac_reload_time = 15
if(user.skills)
tac_reload_time = max(15 - 5*user.skills.get_skill_level(SKILL_FIREARMS), 5)
- if(do_after(user,tac_reload_time, INTERRUPT_ALL, BUSY_ICON_FRIENDLY) && magazine.loc == old_mag_loc && !current_mag)
+ if(do_after(user,tac_reload_time, (INTERRUPT_ALL & (~INTERRUPT_MOVED)) , BUSY_ICON_FRIENDLY) && magazine.loc == old_mag_loc && !current_mag)
if(isstorage(magazine.loc))
var/obj/item/storage/master_storage = magazine.loc
master_storage.remove_from_storage(magazine)
@@ -460,9 +460,9 @@ DEFINES in setup.dm, referenced here.
else attack_verb = list("slashed", "stabbed", "speared", "torn", "punctured", "pierced", "gored") //Greater than 35
/obj/item/weapon/gun/proc/get_active_firearm(mob/user, restrictive = TRUE)
- if(!ishuman(usr))
- return
if(user.is_mob_incapacitated() || !isturf(usr.loc))
+ return
+ if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
to_chat(user, SPAN_WARNING("Not right now."))
return
@@ -782,7 +782,7 @@ DEFINES in setup.dm, referenced here.
if(flags_gun_features & GUN_BURST_FIRING)
return
- if(!ishuman(usr))
+ if(!ishuman(usr) && !HAS_TRAIT(usr, TRAIT_OPPOSABLE_THUMBS))
return
if(usr.is_mob_incapacitated() || !usr.loc || !isturf(usr.loc))
diff --git a/code/modules/projectiles/guns/flamer/flamer.dm b/code/modules/projectiles/guns/flamer/flamer.dm
index 62e37e4f7c3b..64499a71bb12 100644
--- a/code/modules/projectiles/guns/flamer/flamer.dm
+++ b/code/modules/projectiles/guns/flamer/flamer.dm
@@ -136,7 +136,10 @@
click_empty(user)
else
user.track_shot(initial(name))
- unleash_flame(target, user)
+ if(current_mag.reagents.has_reagent("stablefoam"))
+ unleash_foam(target, user)
+ else
+ unleash_flame(target, user)
return AUTOFIRE_CONTINUE
return NONE
@@ -226,6 +229,59 @@
new /obj/flamer_fire(to_fire, create_cause_data(initial(name), user), R, max_range, current_mag.reagents, flameshape, target, CALLBACK(src, PROC_REF(show_percentage), user), fuel_pressure, fire_type)
+/obj/item/weapon/gun/flamer/proc/unleash_foam(atom/target, mob/living/user)
+ last_fired = world.time
+ if(!current_mag || !current_mag.reagents || !current_mag.reagents.reagent_list.len)
+ return
+
+ var/source_turf = get_turf(user)
+ var/foam_range = 6 // the max range the foam will travel
+ var/distance = 0 // the distance traveled
+ var/use_multiplier = 3 // if you want to increase the ammount of foam drained from the tank
+ var/datum/reagent/chemical = current_mag.reagents.reagent_list[1]
+
+ var/turf/turfs[] = get_line(user, target, FALSE)
+ var/turf/first_turf = turfs[1]
+ var/ammount_required = (min(turfs.len, foam_range) * use_multiplier) // the ammount of units that this click requires
+ for(var/turf/turf in turfs)
+
+ if(chemical.volume < ammount_required)
+ foam_range = round(chemical.volume / use_multiplier)
+
+ if(distance >= foam_range)
+ break
+
+ if(turf.density)
+ break
+ else
+ var/obj/effect/particle_effect/foam/checker = new()
+ var/atom/blocked = LinkBlocked(checker, source_turf, turf)
+ if(blocked)
+ break
+
+ if(turf == first_turf) // this is so the first foam tile doesn't expand and touch the user
+ var/datum/effect_system/foam_spread/foam = new()
+ foam.set_up(0.5, turf, metal_foam = FOAM_METAL_TYPE_IRON)
+ foam.start()
+ else
+ var/datum/effect_system/foam_spread/foam = new()
+ foam.set_up(1, turf, metal_foam = FOAM_METAL_TYPE_IRON)
+ foam.start()
+ sleep(2)
+
+ distance++
+
+ var/ammount_used = distance * use_multiplier // the actual ammount of units that we used
+
+ chemical.volume = max(chemical.volume - ammount_used, 0)
+
+ current_mag.reagents.total_volume = chemical.volume // this is needed for show_percentage to work
+
+ if(chemical.volume < use_multiplier) // there aren't enough units left for a single tile of foam, empty the tank
+ current_mag.reagents.clear_reagents()
+
+ show_percentage(user)
+
/obj/item/weapon/gun/flamer/proc/show_percentage(mob/living/user)
if(current_mag)
to_chat(user, SPAN_WARNING("The gauge reads: [round(current_mag.get_ammo_percent())]% fuel remains!"))
@@ -478,15 +534,7 @@
INVOKE_ASYNC(FS, TYPE_PROC_REF(/datum/flameshape, handle_fire_spread), src, fire_spread_amount, burn_dam, fuel_pressure)
//Apply fire effects onto everyone in the fire
- // Melt a single layer of snow
- if (istype(loc, /turf/open/snow))
- var/turf/open/snow/S = loc
-
- if (S.bleed_layer > 0)
- S.bleed_layer--
- S.update_icon(1, 0)
-
- //scorch mah grass HNNGGG
+ //scorch mah grass HNNGGG and muh SNOW hhhhGGG
if (istype(loc, /turf/open))
var/turf/open/scorch_turf_target = loc
if(scorch_turf_target.scorchable)
diff --git a/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm
index 0f767d679d03..f1d951324930 100644
--- a/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm
+++ b/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm
@@ -317,7 +317,7 @@
/obj/item/weapon/gun/launcher/grenade/m81/riot
name = "\improper M81 riot grenade launcher"
desc = "A lightweight, single-shot low-angle grenade launcher to launch tear gas grenades. Used by the Colonial Marines Military Police during riots."
- valid_munitions = list(/obj/item/explosive/grenade/custom/teargas)
+ valid_munitions = list(/obj/item/explosive/grenade/custom/teargas, /obj/item/explosive/grenade/slug/baton)
preload = /obj/item/explosive/grenade/custom/teargas
//-------------------------------------------------------
diff --git a/code/modules/projectiles/guns/specialist/launcher/launcher.dm b/code/modules/projectiles/guns/specialist/launcher/launcher.dm
index 70f00aa83c35..d0731b2d43bc 100644
--- a/code/modules/projectiles/guns/specialist/launcher/launcher.dm
+++ b/code/modules/projectiles/guns/specialist/launcher/launcher.dm
@@ -38,6 +38,10 @@
new preload(cylinder)
update_icon()
+/obj/item/weapon/gun/launcher/Destroy(force)
+ QDEL_NULL(cylinder)
+ return ..()
+
/obj/item/weapon/gun/launcher/verb/toggle_draw_mode()
set name = "Switch Storage Drawing Method"
set category = "Object"
diff --git a/code/modules/projectiles/guns/specialist/sniper.dm b/code/modules/projectiles/guns/specialist/sniper.dm
index bdb0ba02f3ab..5b4a81fde273 100644
--- a/code/modules/projectiles/guns/specialist/sniper.dm
+++ b/code/modules/projectiles/guns/specialist/sniper.dm
@@ -19,6 +19,12 @@
var/sniper_beam_icon = "laser_beam"
var/skill_locked = TRUE
+ /// Variables for Focus Fire and alternate icons for lockon and laser.
+ var/enable_aimed_shot_icon_alt = FALSE
+ var/sniper_lockon_icon_max = "sniper_lockon_intense"
+ var/sniper_beam_icon_max = "laser_beam_intense"
+
+
/obj/item/weapon/gun/rifle/sniper/get_examine_text(mob/user)
. = ..()
if(!has_aimed_shot)
@@ -117,7 +123,24 @@
f_aiming_time *= aim_multiplier
- var/image/lockon_icon = image(icon = 'icons/effects/Targeted.dmi', icon_state = sniper_rifle.sniper_lockon_icon)
+ var/beam
+ var/lockon
+
+ if(istype(sniper_rifle, /obj/item/weapon/gun/rifle/sniper/XM43E1))
+ var/obj/item/weapon/gun/rifle/sniper/XM43E1/amr = sniper_rifle
+ if((amr.focused_fire_counter >= 1) && (target == amr.focused_fire_target?.resolve()))
+ sniper_rifle.enable_aimed_shot_icon_alt = TRUE
+ else
+ sniper_rifle.enable_aimed_shot_icon_alt = FALSE
+
+ if(sniper_rifle.enable_aimed_shot_icon_alt)
+ beam = sniper_rifle.sniper_beam_icon_max
+ lockon = sniper_rifle.sniper_lockon_icon_max
+ else
+ beam = sniper_rifle.sniper_beam_icon
+ lockon = sniper_rifle.sniper_lockon_icon
+
+ var/image/lockon_icon = image(icon = 'icons/effects/Targeted.dmi', icon_state = lockon)
var/x_offset = -target.pixel_x + target.base_pixel_x
var/y_offset = (target.icon_size - world.icon_size) * 0.5 - target.pixel_y + target.base_pixel_y
@@ -128,7 +151,7 @@
var/image/lockon_direction_icon
if(!sniper_rifle.enable_aimed_shot_laser)
- lockon_direction_icon = image(icon = 'icons/effects/Targeted.dmi', icon_state = "[sniper_rifle.sniper_lockon_icon]_direction", dir = get_cardinal_dir(target, human))
+ lockon_direction_icon = image(icon = 'icons/effects/Targeted.dmi', icon_state = "[lockon]_direction", dir = get_cardinal_dir(target, human))
lockon_direction_icon.pixel_x = x_offset
lockon_direction_icon.pixel_y = y_offset
target.overlays += lockon_direction_icon
@@ -138,7 +161,7 @@
var/datum/beam/laser_beam
if(sniper_rifle.enable_aimed_shot_laser)
- laser_beam = target.beam(human, sniper_rifle.sniper_beam_icon, 'icons/effects/beam.dmi', (f_aiming_time + 1 SECONDS), beam_type = sniper_rifle.sniper_beam_type)
+ laser_beam = target.beam(human, beam, 'icons/effects/beam.dmi', (f_aiming_time + 1 SECONDS), beam_type = sniper_rifle.sniper_beam_type)
laser_beam.visuals.alpha = 0
animate(laser_beam.visuals, alpha = initial(laser_beam.visuals.alpha), f_aiming_time, easing = SINE_EASING|EASE_OUT)
@@ -204,12 +227,12 @@
var/blocked = FALSE
for(var/turf/T in path)
- if(T.density || T.opacity)
+ if(T.density && T.opacity)
blocked = TRUE
break
for(var/obj/O in T)
- if(O.get_projectile_hit_boolean(P))
+ if(O.get_projectile_hit_boolean(P) && O.opacity)
blocked = TRUE
break
@@ -330,7 +353,7 @@
/obj/item/weapon/gun/rifle/sniper/M42A/set_gun_config_values()
..()
- set_fire_delay(FIRE_DELAY_TIER_7*3)
+ set_fire_delay(FIRE_DELAY_TIER_SNIPER)
set_burst_amount(BURST_AMOUNT_TIER_1)
accuracy_mult = BASE_ACCURACY_MULT * 3 //you HAVE to be able to hit
scatter = SCATTER_AMOUNT_TIER_8
@@ -339,12 +362,15 @@
/obj/item/weapon/gun/rifle/sniper/XM43E1
name = "\improper XM43E1 experimental anti-materiel rifle"
- desc = "An experimental anti-materiel rifle produced by Armat Systems, recently reacquired from the deep storage of an abandoned prototyping facility. This one in particular is currently undergoing field testing. Chambered in 10x99mm Caseless."
+ desc = "An experimental anti-materiel rifle produced by Armat Systems, recently reacquired from the deep storage of an abandoned prototyping facility. This one in particular is currently undergoing field testing. Chambered in 10x99mm Caseless.\nThis weapon can punch through thin metal plating and walls, though it'll lose most of its lethality in the process. It can even work for demolitions, with experienced users known to disassemble segments of solid, reinforced walls in the field with just a single standard magazine of 10x99mm. In lieu of explosives or an engineer, they instead use each of the 8 shots to break down vital structural supports, taking the wall apart in the process."
icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi'
icon_state = "xm43e1"
item_state = "xm43e1"
unacidable = TRUE
indestructible = 1
+ aimed_shot_cooldown_delay = 4.5 SECONDS
+ var/focused_fire_counter = 0
+ var/datum/weakref/focused_fire_target = null
fire_sound = 'sound/weapons/sniper_heavy.ogg'
current_mag = /obj/item/ammo_magazine/sniper/anti_materiel //Renamed from anti-tank to align with new identity/description. Other references have been changed as well. -Kaga
@@ -354,9 +380,9 @@
attachable_allowed = list(/obj/item/attachable/bipod)
flags_gun_features = GUN_AUTO_EJECTOR|GUN_SPECIALIST|GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER
starting_attachment_types = list(/obj/item/attachable/pmc_sniperbarrel)
- sniper_beam_type = /obj/effect/ebeam/laser/intense
- sniper_beam_icon = "laser_beam_intense"
- sniper_lockon_icon = "sniper_lockon_intense"
+ sniper_beam_type = /obj/effect/ebeam/laser
+ sniper_beam_icon = "laser_beam"
+ sniper_lockon_icon = "sniper_lockon"
/obj/item/weapon/gun/rifle/sniper/XM43E1/handle_starting_attachment()
..()
@@ -374,8 +400,9 @@
/obj/item/weapon/gun/rifle/sniper/XM43E1/set_gun_config_values()
..()
- set_fire_delay(FIRE_DELAY_TIER_6 * 6 )//Big boy damage, but it takes a lot of time to fire a shot.
- //Kaga: Adjusted from 56 (Tier 4, 7*8) -> 30 (Tier 6, 5*6) ticks. 95 really wasn't big-boy damage anymore, although I updated it to 125 to remain consistent with the other 10x99mm caliber weapon (M42C). Now takes only twice as long as the M42A.
+ set_fire_delay(FIRE_DELAY_TIER_AMR)//Big boy damage, but it takes a lot of time to fire a shot.
+ //Kaga: Fixed back to half the M42A's firerate (3 seconds), using a new define.
+ //This outright deals less DPS than the normal sniper rifle, 125 vs 140 per 3s.
set_burst_amount(BURST_AMOUNT_TIER_1)
accuracy_mult = BASE_ACCURACY_MULT + 2*HIT_ACCURACY_MULT_TIER_10 //Who coded this like this, and why? It just calculates out to 1+1=2. Leaving a note here to check back later.
scatter = SCATTER_AMOUNT_TIER_10
@@ -385,10 +412,11 @@
/obj/item/weapon/gun/rifle/sniper/XM43E1/set_bullet_traits()
LAZYADD(traits_to_give, list(
BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_iff),
- BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_penetrating),
BULLET_TRAIT_ENTRY_ID("turfs", /datum/element/bullet_trait_damage_boost, 11, GLOB.damage_boost_turfs),
BULLET_TRAIT_ENTRY_ID("breaching", /datum/element/bullet_trait_damage_boost, 11, GLOB.damage_boost_breaching),
- //At 1375 per shot it'll take 1 shot to break resin turfs, and a full mag of 8 to break reinforced walls.
+ //At 1375 per shot it'll take 1 shot to break resin turfs usually (thick resin at 1350, RNG may vary), and a full mag of 8 to break reinforced walls.
+ //However, the second wall it hits will only take 550 damage, unable to even kill a full-health normal resin wall (900).
+ //Much more effective at breaking resin doors and membranes, which have less HP and slow down the projectile less.
BULLET_TRAIT_ENTRY_ID("pylons", /datum/element/bullet_trait_damage_boost, 6, GLOB.damage_boost_pylons)
//At 750 per shot it'll take 3 to break a Pylon (1800 HP). No Damage Boost vs other xeno structures yet, those will require a whole new list w/ the damage_boost trait.
))
diff --git a/code/modules/projectiles/magazines/flamer.dm b/code/modules/projectiles/magazines/flamer.dm
index 7fba325177c6..dfd9eda20d8a 100644
--- a/code/modules/projectiles/magazines/flamer.dm
+++ b/code/modules/projectiles/magazines/flamer.dm
@@ -90,7 +90,7 @@
to_chat(user, SPAN_WARNING("You can't mix fuel mixtures!"))
return
- if(!to_add.intensityfire)
+ if(!to_add.intensityfire && to_add.id != "stablefoam")
to_chat(user, SPAN_WARNING("This chemical is not potent enough to be used in a flamethrower!"))
return
diff --git a/code/modules/projectiles/magazines/specialist.dm b/code/modules/projectiles/magazines/specialist.dm
index 761e77305254..698d9efeaca2 100644
--- a/code/modules/projectiles/magazines/specialist.dm
+++ b/code/modules/projectiles/magazines/specialist.dm
@@ -30,7 +30,7 @@
//XM43E1 Magazine
/obj/item/ammo_magazine/sniper/anti_materiel
name = "\improper XM43E1 marksman magazine (10x99mm)"
- desc = "A magazine of caseless 10x99mm anti-materiel rounds."
+ desc = "A magazine of caseless 10x99mm anti-materiel rounds, capable of penetrating through most infantry-level materiel. Depending on what you hit, it might even have enough energy to wound anything behind the target."
max_rounds = 8
caliber = "10x99mm"
default_ammo = /datum/ammo/bullet/sniper/anti_materiel
diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm
index 3ed10129f4d6..edb565158185 100644
--- a/code/modules/projectiles/projectile.dm
+++ b/code/modules/projectiles/projectile.dm
@@ -80,6 +80,16 @@
/// How much to make the bullet fall off by accuracy-wise when closer than the ideal range
var/accuracy_range_falloff = 10
+ /// Is this a lone (0), original (1), or bonus (2) projectile. Used in gun.dm and fire_bonus_projectiles() currently.
+ var/bonus_projectile_check = 0
+
+ /// What atom did this last receive a registered signal from? Used by damage_boost.dm
+ var/datum/weakref/last_atom_signaled = null
+
+ /// Was this projectile affected by damage_boost.dm? If so, what was the last modifier?
+ var/damage_boosted = 0
+ var/last_damage_mult = 1
+
/obj/projectile/Initialize(mapload, datum/cause_data/cause_data)
. = ..()
path = list()
@@ -164,6 +174,12 @@
apply_bullet_trait(L)
/obj/projectile/proc/calculate_damage()
+
+ if(damage_boosted)
+ damage = damage / last_damage_mult
+ damage_boosted--
+ last_damage_mult = 1
+
if(effective_range_min && distance_travelled < effective_range_min)
return max(0, damage - round((effective_range_min - distance_travelled) * damage_buildup))
else if(distance_travelled > effective_range_max)
@@ -215,6 +231,7 @@
//If we have the right kind of ammo, we can fire several projectiles at once.
if(ammo.bonus_projectiles_amount && ammo.bonus_projectiles_type)
ammo.fire_bonus_projectiles(src)
+ bonus_projectile_check = 1 //Mark this projectile as having spawned a set of bonus projectiles.
path = get_line(starting, target_turf)
p_x += clamp((rand()-0.5)*scatter*3, -8, 8)
@@ -910,8 +927,8 @@
apply_effects(arglist(P.ammo.debilitate))
. = TRUE
+ bullet_message(P, damaging = damage)
if(damage)
- bullet_message(P)
apply_damage(damage, P.ammo.damage_type, P.def_zone, 0, 0, P)
P.play_hit_effect(src)
@@ -1042,9 +1059,10 @@
if((ammo_flags & AMMO_FLAME) && (src.caste.fire_immunity & FIRE_IMMUNITY_NO_IGNITE|FIRE_IMMUNITY_NO_DAMAGE))
to_chat(src, SPAN_AVOIDHARM("You shrug off the glob of flame."))
+ bullet_message(P, damaging = FALSE)
return
- if(isxeno(P.firer))
+ if(isxeno(P.firer) && ammo_flags & (AMMO_ACIDIC|AMMO_XENO)) //Xenomorph shooting spit. Xenos with thumbs and guns can fully FF.
var/mob/living/carbon/xenomorph/X = P.firer
if(X.can_not_harm(src))
bullet_ping(P)
@@ -1216,15 +1234,15 @@
/// People getting shot by a large amount of bullets in a very short period of time can lag them out, with chat messages being one cause, so a 1s cooldown per hit message is introduced to assuage that
/mob/var/shot_cooldown = 0
-/mob/proc/bullet_message(obj/projectile/P)
+/mob/proc/bullet_message(obj/projectile/P, damaging = TRUE)
if(!P)
return
- if(COOLDOWN_FINISHED(src, shot_cooldown))
+ if(damaging && COOLDOWN_FINISHED(src, shot_cooldown))
visible_message(SPAN_DANGER("[src] is hit by the [P.name] in the [parse_zone(P.def_zone)]!"), \
SPAN_HIGHDANGER("[isxeno(src) ? "We" : "You"] are hit by the [P.name] in the [parse_zone(P.def_zone)]!"), null, 4, CHAT_TYPE_TAKING_HIT)
COOLDOWN_START(src, shot_cooldown, 1 SECONDS)
-
+ var/shot_from = P.shot_from ? " from \a [P.shot_from]" : ""
last_damage_data = P.weapon_cause_data
if(P.firer && ismob(P.firer))
var/mob/firingMob = P.firer
@@ -1232,7 +1250,7 @@
if(ishuman(firingMob) && ishuman(src) && faction == firingMob.faction && !A?.statistic_exempt) //One human shot another, be worried about it but do everything basically the same //special_role should be null or an empty string if done correctly
if(!istype(P.ammo, /datum/ammo/energy/taser))
GLOB.round_statistics.total_friendly_fire_instances++
- var/ff_msg = "[key_name(firingMob)] shot [key_name(src)] with \a [P.name] in [get_area(firingMob)] [ADMIN_JMP(firingMob)] [ADMIN_PM(firingMob)]"
+ var/ff_msg = "[key_name(firingMob)] shot [key_name(src)] with \a [P][shot_from] in [get_area(firingMob)] [ADMIN_JMP(firingMob)] [ADMIN_PM(firingMob)]"
var/ff_living = TRUE
if(src.stat == DEAD)
ff_living = FALSE
@@ -1241,15 +1259,15 @@
var/mob/living/carbon/human/H = firingMob
H.track_friendly_fire(P.weapon_cause_data.cause_name)
else
- msg_admin_attack("[key_name(firingMob)] tased [key_name(src)] in [get_area(firingMob)] ([firingMob.x],[firingMob.y],[firingMob.z]).", firingMob.x, firingMob.y, firingMob.z)
+ msg_admin_attack("[key_name(firingMob)] tased [key_name(src)][shot_from] in [get_area(firingMob)] ([firingMob.x],[firingMob.y],[firingMob.z]).", firingMob.x, firingMob.y, firingMob.z)
else
- msg_admin_attack("[key_name(firingMob)] shot [key_name(src)] with \a [P.name] in [get_area(firingMob)] ([firingMob.x],[firingMob.y],[firingMob.z]).", firingMob.x, firingMob.y, firingMob.z)
- attack_log += "\[[time_stamp()]\] [key_name(firingMob)] shot [key_name(src)] with \a [P] in [get_area(firingMob)]."
- firingMob.attack_log += "\[[time_stamp()]\] [key_name(firingMob)] shot [key_name(src)] with \a [P] in [get_area(firingMob)]."
+ msg_admin_attack("[key_name(firingMob)] shot [key_name(src)] with \a [P][shot_from] in [get_area(firingMob)] ([firingMob.x],[firingMob.y],[firingMob.z]).", firingMob.x, firingMob.y, firingMob.z)
+ attack_log += "\[[time_stamp()]\] [key_name(firingMob)] shot [key_name(src)] with \a [P][shot_from] in [get_area(firingMob)]."
+ firingMob.attack_log += "\[[time_stamp()]\] [key_name(firingMob)] shot [key_name(src)] with \a [P][shot_from] in [get_area(firingMob)]."
return
- attack_log += "\[[time_stamp()]\] SOMETHING?? shot [key_name(src)] with a [P]"
- msg_admin_attack("SOMETHING?? shot [key_name(src)] with \a [P] in [get_area(src)] ([loc.x],[loc.y],[loc.z]).", loc.x, loc.y, loc.z)
+ attack_log += "\[[time_stamp()]\] [P.firer ? P.firer : "SOMETHING??"] shot [key_name(src)] with a [P][shot_from]"
+ msg_admin_attack("[P.firer ? P.firer : "SOMETHING??"] shot [key_name(src)] with \a [P][shot_from] in [get_area(src)] ([loc.x],[loc.y],[loc.z]).", loc.x, loc.y, loc.z)
//Abby -- Just check if they're 1 tile horizontal or vertical, no diagonals
/proc/get_adj_simple(atom/Loc1,atom/Loc2)
diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm
index 924f0f827584..36e8f9e179ff 100644
--- a/code/modules/reagents/Chemistry-Holder.dm
+++ b/code/modules/reagents/Chemistry-Holder.dm
@@ -4,6 +4,7 @@
var/maximum_volume = 100
var/atom/my_atom = null
var/trigger_volatiles = FALSE
+ var/allow_star_shape = TRUE
var/exploded = FALSE
var/datum/weakref/source_mob
@@ -165,9 +166,13 @@
if(specific_reagent)
if(istype(R, specific_reagent))
R.last_source_mob = WEAKREF(new_source_mob)
+ if(R.data_properties)
+ R.data_properties["last_source_mob"] = R.last_source_mob
return
continue
R.last_source_mob = WEAKREF(new_source_mob)
+ if(R.data_properties)
+ R.data_properties["last_source_mob"] = R.last_source_mob
/datum/reagents/proc/copy_to(obj/target, amount=1, multiplier=1, preserve_data=1, safety = 0)
if(!target)
@@ -355,12 +360,12 @@
del_reagent(R.id)
return FALSE
-/datum/reagents/proc/reaction(atom/A, method=TOUCH, volume_modifier=0)
+/datum/reagents/proc/reaction(atom/A, method=TOUCH, volume_modifier=0, permeable_in_mobs=TRUE)
if(method != TOUCH && method != INGEST)
return
for(var/datum/reagent/R in reagent_list)
if(ismob(A))
- R.reaction_mob(A, method, R.volume + volume_modifier)
+ R.reaction_mob(A, method, R.volume + volume_modifier, permeable_in_mobs)
else if(isturf(A))
R.reaction_turf(A, R.volume + volume_modifier)
else if(isobj(A))
@@ -674,7 +679,7 @@
duration = max_fire_dur
// shape
- if(supplemented > 0 && intensity > CHEM_FIRE_STAR_THRESHOLD)
+ if(supplemented > 0 && intensity > CHEM_FIRE_STAR_THRESHOLD && allow_star_shape)
flameshape = FLAMESHAPE_STAR
if(supplemented < 0 && intensity < CHEM_FIRE_IRREGULAR_THRESHOLD)
diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm
index b8c3d20df671..9825c12501c0 100644
--- a/code/modules/reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents.dm
@@ -83,43 +83,42 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent())
for(var/datum/chem_property/P in properties)
P.post_update_reagent()
-/datum/reagent/proc/reaction_mob(mob/M, method=TOUCH, volume) //By default we have a chance to transfer some
- if(!istype(M, /mob/living)) return 0
+/datum/reagent/proc/reaction_mob(mob/M, method=TOUCH, volume, permeable) //By default we have a chance to transfer some
+ if(!istype(M, /mob/living))
+ return FALSE
var/datum/reagent/self = src
src = null //of the reagent to the mob on TOUCHING it.
if(self.holder) //for catching rare runtimes
- if(!istype(self.holder.my_atom, /obj/effect/particle_effect/smoke/chem))
+ if(method == TOUCH && permeable && !istype(self.holder.my_atom, /obj/effect/particle_effect/smoke/chem))
// If the chemicals are in a smoke cloud, do not try to let the chemicals "penetrate" into the mob's system (balance station 13) -- Doohl
+ var/chance = 1
+ var/block = FALSE
- if(method == TOUCH)
-
- var/chance = 1
- var/block = 0
+ for(var/obj/item/clothing/clothing in M.get_equipped_items())
+ if(clothing.permeability_coefficient < chance)
+ chance = clothing.permeability_coefficient
+ if(istype(clothing, /obj/item/clothing/suit/bio_suit))
+ // bio suits are just about completely fool-proof - Doohl
+ // kind of a hacky way of making bio suits more resistant to chemicals but w/e
+ if(prob(75))
+ block = TRUE
- for(var/obj/item/clothing/C in M.get_equipped_items())
- if(C.permeability_coefficient < chance) chance = C.permeability_coefficient
- if(istype(C, /obj/item/clothing/suit/bio_suit))
- // bio suits are just about completely fool-proof - Doohl
- // kind of a hacky way of making bio suits more resistant to chemicals but w/e
- if(prob(75))
- block = 1
+ if(istype(clothing, /obj/item/clothing/head/bio_hood))
+ if(prob(75))
+ block = TRUE
- if(istype(C, /obj/item/clothing/head/bio_hood))
- if(prob(75))
- block = 1
+ chance *= 100
- chance = chance * 100
+ if(prob(chance) && !block)
+ if(M.reagents)
+ M.reagents.add_reagent(self.id, self.volume * 0.5)
- if(prob(chance) && !block)
- if(M.reagents)
- M.reagents.add_reagent(self.id,self.volume/2)
- for(var/datum/chem_property/P in self.properties)
- var/potency = P.level * 0.5
- P.reaction_mob(M, method, volume, potency)
+ for(var/datum/chem_property/property in self.properties)
+ var/potency = property.level * 0.5
+ property.reaction_mob(M, method, volume, potency)
-
- return 1
+ return TRUE
/datum/reagent/proc/reaction_obj(obj/O, volume)
for(var/datum/chem_property/P in properties)
diff --git a/code/modules/reagents/chemistry_machinery/reagent_grinder.dm b/code/modules/reagents/chemistry_machinery/reagent_grinder.dm
index 1de4a84451e1..3c596b6a79a2 100644
--- a/code/modules/reagents/chemistry_machinery/reagent_grinder.dm
+++ b/code/modules/reagents/chemistry_machinery/reagent_grinder.dm
@@ -68,7 +68,10 @@
/obj/structure/machinery/reagentgrinder/Destroy()
cleanup()
- . = ..()
+
+ QDEL_NULL(beaker)
+
+ return ..()
/obj/structure/machinery/reagentgrinder/update_icon()
icon_state = "juicer"+num2text(!isnull(beaker))
diff --git a/code/modules/reagents/chemistry_reactions/other.dm b/code/modules/reagents/chemistry_reactions/other.dm
index f03abec98fba..28250aa38803 100644
--- a/code/modules/reagents/chemistry_reactions/other.dm
+++ b/code/modules/reagents/chemistry_reactions/other.dm
@@ -174,13 +174,27 @@
holder.trigger_volatiles = TRUE
return
+/datum/chemical_reaction/custom/sticky
+ name = "Sticky-Napalm"
+ id = "stickynapalm"
+ result = "stickynapalm"
+ required_reagents = list("napalm" = 1, "fuel" = 1)
+ result_amount = 2
+
+/datum/chemical_reaction/custom/high_damage
+ name = "High-Combustion Napalm Fuel"
+ id = "highdamagenapalm"
+ result = "highdamagenapalm"
+ required_reagents = list("napalm" = 1, "chlorine trifluoride" = 1)
+ result_amount = 2
+
// Chemfire supplement chemicals.
/datum/chemical_reaction/chlorinetrifluoride
name = "Chlorine Trifluoride"
id = "chlorine trifluoride"
result = "chlorine trifluoride"
required_reagents = list("fluorine" = 3, "chlorine" = 1)
- result_amount = 1
+ result_amount = 3
/datum/chemical_reaction/chlorinetrifluoride/on_reaction(datum/reagents/holder, created_volume)
holder.trigger_volatiles = TRUE
@@ -346,6 +360,12 @@
required_reagents = list("fluorine" = 2, "carbon" = 2, "sulphuric acid" = 1)
result_amount = 5
+/datum/chemical_reaction/stablefoam
+ name = "Stabilized metallic foam"
+ id = "stablefoam"
+ result = "stablefoam"
+ required_reagents = list("fluorosurfactant" = 1, "iron" = 1, "sulphuric acid" = 1)
+ result_amount = 1
/datum/chemical_reaction/foam
name = "Foam"
diff --git a/code/modules/reagents/chemistry_reagents/food.dm b/code/modules/reagents/chemistry_reagents/food.dm
index 2ee2a05bef32..939772825408 100644
--- a/code/modules/reagents/chemistry_reagents/food.dm
+++ b/code/modules/reagents/chemistry_reagents/food.dm
@@ -150,7 +150,7 @@
chemclass = CHEM_CLASS_RARE
properties = list(PROPERTY_HYPERTHERMIC = 1)
-/datum/reagent/condensedcapsaicin/reaction_mob(mob/living/M, method=TOUCH, volume)
+/datum/reagent/condensedcapsaicin/reaction_mob(mob/living/M, method=TOUCH, volume, permeable)
if(!istype(M, /mob/living) || has_species(M,"Horror"))
return
diff --git a/code/modules/reagents/chemistry_reagents/other.dm b/code/modules/reagents/chemistry_reagents/other.dm
index ae1a42bd5e6d..dc70d65452fe 100644
--- a/code/modules/reagents/chemistry_reagents/other.dm
+++ b/code/modules/reagents/chemistry_reagents/other.dm
@@ -13,7 +13,7 @@
chemclass = CHEM_CLASS_RARE
-/datum/reagent/blood/reaction_mob(mob/M, method=TOUCH, volume)
+/datum/reagent/blood/reaction_mob(mob/M, method=TOUCH, volume, permeable)
var/datum/reagent/blood/self = src
src = null
if(self.data_properties && self.data_properties["viruses"])
@@ -85,7 +85,7 @@
color = "#C81040" // rgb: 200, 16, 64
properties = list(PROPERTY_CURING = 4)
-/datum/reagent/vaccine/reaction_mob(mob/M, method=TOUCH, volume)
+/datum/reagent/vaccine/reaction_mob(mob/M, method=TOUCH, volume, permeable)
if(has_species(M,"Horror"))
return
var/datum/reagent/vaccine/self = src
@@ -124,7 +124,7 @@
src = null
O.extinguish()
-/datum/reagent/water/reaction_mob(mob/living/M, method=TOUCH, volume)//Splashing people with water can help put them out!
+/datum/reagent/water/reaction_mob(mob/living/M, method=TOUCH, volume, permeable)//Splashing people with water can help put them out!
if(!istype(M, /mob/living))
return
if(method == TOUCH)
@@ -517,7 +517,7 @@
if(volume >= 1 && istype(T))
T.clean_cleanables()
-/datum/reagent/space_cleaner/reaction_mob(mob/M, method=TOUCH, volume)
+/datum/reagent/space_cleaner/reaction_mob(mob/M, method=TOUCH, volume, permeable)
if(iscarbon(M))
var/mob/living/carbon/C = M
if(C.r_hand)
@@ -592,7 +592,7 @@
reagent_state = LIQUID
color = "#535E66" // rgb: 83, 94, 102
-/datum/reagent/xenomicrobes/reaction_mob(mob/M, method=TOUCH, volume)
+/datum/reagent/xenomicrobes/reaction_mob(mob/M, method=TOUCH, volume, permeable)
src = null
if((prob(10) && method==TOUCH) || method==INGEST)
M.contract_disease(new /datum/disease/xeno_transformation(0),1)
@@ -613,6 +613,15 @@
color = "#664B63" // rgb: 102, 75, 99
chemclass = CHEM_CLASS_UNCOMMON
+/datum/reagent/foaming_agent/stabilized
+ name = "Stabilized metallic foam"
+ id = "stablefoam"
+ description = "Stabilized metallic foam that solidifies when exposed to an open flame"
+ reagent_state = LIQUID
+ color = "#d4b8d1"
+ chemclass = CHEM_CLASS_UNCOMMON
+ properties = list(PROPERTY_TOXIC = 8)
+
/datum/reagent/nicotine
name = "Nicotine"
id = "nicotine"
@@ -664,7 +673,7 @@
custom_metabolism = 100 //disappears immediately
properties = list(PROPERTY_RAVENING = 1)
-/datum/reagent/blackgoo/reaction_mob(mob/M, method=TOUCH, volume)
+/datum/reagent/blackgoo/reaction_mob(mob/M, method=TOUCH, volume, permeable)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.species.name == "Human")
@@ -690,6 +699,40 @@
burn_sprite = "red"
properties = list(PROPERTY_OXIDIZING = 6, PROPERTY_FUELING = 7, PROPERTY_FLOWING = 1)
+/datum/reagent/napalm/sticky
+ name = "Sticky-Napalm"
+ id = "stickynapalm"
+ description = "A custom napalm mix, stickier and lasts longer but lower damage"
+ reagent_state = LIQUID
+ color = "#f8e3b2"
+ burncolor = "#f8e3b2"
+ burn_sprite = "dynamic"
+ intensitymod = -1.5
+ durationmod = -5
+ radiusmod = -0.5
+ properties = list(
+ PROPERTY_INTENSITY = BURN_LEVEL_TIER_2,
+ PROPERTY_DURATION = BURN_TIME_TIER_5,
+ PROPERTY_RADIUS = 5,
+ )
+
+/datum/reagent/napalm/high_damage
+ name = "High-Combustion Napalm Fuel"
+ id = "highdamagenapalm"
+ description = "A custom napalm mix, higher damage but not as sticky"
+ reagent_state = LIQUID
+ color = "#c51c1c"
+ burncolor = "#c51c1c"
+ burn_sprite = "dynamic"
+ intensitymod = -4.5
+ durationmod = -1
+ radiusmod = -0.5
+ properties = list(
+ PROPERTY_INTENSITY = BURN_LEVEL_TIER_8,
+ PROPERTY_DURATION = BURN_TIME_TIER_1,
+ PROPERTY_RADIUS = 5,
+ )
+
// This is the regular flamer fuel and pyro regular flamer fuel.
/datum/reagent/napalm/ut
name = "UT-Napthal Fuel"
diff --git a/code/modules/shuttle/shuttles/crashable/lifeboats.dm b/code/modules/shuttle/shuttles/crashable/lifeboats.dm
index 415a628be6e5..617ab0869afb 100644
--- a/code/modules/shuttle/shuttles/crashable/lifeboats.dm
+++ b/code/modules/shuttle/shuttles/crashable/lifeboats.dm
@@ -41,6 +41,9 @@
port_direction = EAST
/obj/docking_port/mobile/crashable/lifeboat/evac_launch()
+ if (status == LIFEBOAT_LOCKED)
+ return
+
. = ..()
available = FALSE
diff --git a/code/modules/tgs/LICENSE b/code/modules/tgs/LICENSE
index 2bedf9a63aa0..324c48e993e1 100644
--- a/code/modules/tgs/LICENSE
+++ b/code/modules/tgs/LICENSE
@@ -1,6 +1,6 @@
The MIT License
-Copyright (c) 2017-2023 Jordan Brown
+Copyright (c) 2017-2024 Jordan Brown
Permission is hereby granted, free of charge,
to any person obtaining a copy of this software and
diff --git a/code/modules/tgs/core/datum.dm b/code/modules/tgs/core/datum.dm
index 898516f12486..f734fd0527f0 100644
--- a/code/modules/tgs/core/datum.dm
+++ b/code/modules/tgs/core/datum.dm
@@ -7,7 +7,7 @@ TGS_DEFINE_AND_SET_GLOBAL(tgs, null)
var/list/warned_deprecated_command_runs
/datum/tgs_api/New(datum/tgs_event_handler/event_handler, datum/tgs_version/version)
- . = ..()
+ ..()
src.event_handler = event_handler
src.version = version
diff --git a/code/modules/tgs/core/tgs_version.dm b/code/modules/tgs/core/tgs_version.dm
index a5dae1241a30..bc561e67487a 100644
--- a/code/modules/tgs/core/tgs_version.dm
+++ b/code/modules/tgs/core/tgs_version.dm
@@ -1,4 +1,5 @@
/datum/tgs_version/New(raw_parameter)
+ ..()
src.raw_parameter = raw_parameter
deprefixed_parameter = replacetext(raw_parameter, "/tg/station 13 Server v", "")
var/list/version_bits = splittext(deprefixed_parameter, ".")
diff --git a/code/modules/vehicles/interior/interactable/seats.dm b/code/modules/vehicles/interior/interactable/seats.dm
index 253b4a066b4f..8abbf9f1190d 100644
--- a/code/modules/vehicles/interior/interactable/seats.dm
+++ b/code/modules/vehicles/interior/interactable/seats.dm
@@ -108,7 +108,9 @@
to_chat(user, SPAN_WARNING("You are unable to use heavy weaponry."))
return
- for(var/obj/item/I in user.contents) //prevents shooting while zoomed in, but zoom can still be activated and used without shooting
+ if(!HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))
+ return
+ for(var/obj/item/I in user.contents) //prevents shooting while zoomed in, but zoom can still be activated and used without shooting
if(I.zoom)
I.zoom(user)
diff --git a/code/modules/vehicles/van/van.dm b/code/modules/vehicles/van/van.dm
index 8bf114d6b4a8..a2e7d68bf9de 100644
--- a/code/modules/vehicles/van/van.dm
+++ b/code/modules/vehicles/van/van.dm
@@ -167,6 +167,8 @@
var/mob/M = I
M.client.images -= normal_image
+ QDEL_NULL(lighting_holder)
+
return ..()
diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm
index 014452426a3c..8632159b4f6d 100644
--- a/code/modules/vehicles/vehicle.dm
+++ b/code/modules/vehicles/vehicle.dm
@@ -84,10 +84,10 @@
else if(W.force)
switch(W.damtype)
if("fire")
- health -= W.force * fire_dam_coeff
+ health -= W.force * W.demolition_mod * fire_dam_coeff
if("brute")
- health -= W.force * brute_dam_coeff
- playsound(src.loc, "smash.ogg", 25, 1)
+ health -= W.force * W.demolition_mod * brute_dam_coeff
+ playsound(loc, "smash.ogg", 25, 1)
user.visible_message(SPAN_DANGER("[user] hits [src] with [W]."),SPAN_DANGER("You hit [src] with [W]."))
healthcheck()
else
diff --git a/code/span_macros.dm b/code/span_macros.dm
index b6a0e79a956b..218f333d7df9 100644
--- a/code/span_macros.dm
+++ b/code/span_macros.dm
@@ -50,6 +50,7 @@
#define SPAN_MENTORHELP(X) ("" + X + "")
#define SPAN_MENTORSAY(X) ("" + X + "")
#define SPAN_MENTORBODY(X) ("" + X + "")
+#define SPAN_NICHE(X) "[X]"
#define SPAN_PM(X) "[X]"
diff --git a/code/stylesheet.dm b/code/stylesheet.dm
index ab74dc547cfa..145229e23424 100644
--- a/code/stylesheet.dm
+++ b/code/stylesheet.dm
@@ -31,6 +31,7 @@ em {font-style: normal; font-weight: bold;}
.mentorstaff {color: #b5850d; font-weight: bold;}
.staffsay {color: #b5850d; font-weight: bold;}
.staff_ic {color: #000099;}
+.niche {color: #386aff; font-weight: bold;}
.name { font-weight: bold;}
diff --git a/colonialmarines.dme b/colonialmarines.dme
index 67f16fc49081..b69a03136b78 100644
--- a/colonialmarines.dme
+++ b/colonialmarines.dme
@@ -101,6 +101,7 @@
#include "code\__DEFINES\stamina.dm"
#include "code\__DEFINES\stats.dm"
#include "code\__DEFINES\status_effects.dm"
+#include "code\__DEFINES\strippable.dm"
#include "code\__DEFINES\STUI.dm"
#include "code\__DEFINES\subsystems.dm"
#include "code\__DEFINES\supply.dm"
@@ -484,6 +485,7 @@
#include "code\datums\elements\light_blocking.dm"
#include "code\datums\elements\mouth_drop_item.dm"
#include "code\datums\elements\poor_eyesight_correction.dm"
+#include "code\datums\elements\strippable.dm"
#include "code\datums\elements\suturing.dm"
#include "code\datums\elements\yautja_tracked_item.dm"
#include "code\datums\elements\bullet_trait\damage_boost.dm"
@@ -492,6 +494,7 @@
#include "code\datums\elements\bullet_trait\incendiary.dm"
#include "code\datums\elements\bullet_trait\penetrating\heavy.dm"
#include "code\datums\elements\bullet_trait\penetrating\penetrating.dm"
+#include "code\datums\elements\bullet_trait\penetrating\weak.dm"
#include "code\datums\elements\traitbound\_traitbound.dm"
#include "code\datums\elements\traitbound\crawler.dm"
#include "code\datums\elements\traitbound\gun_silenced.dm"
@@ -788,9 +791,10 @@
#include "code\game\jobs\job\civilians\support\working_joe.dm"
#include "code\game\jobs\job\command\command.dm"
#include "code\game\jobs\job\command\auxiliary\auxiliary_support_officer.dm"
+#include "code\game\jobs\job\command\auxiliary\cas_pilot.dm"
#include "code\game\jobs\job\command\auxiliary\crew_chief.dm"
+#include "code\game\jobs\job\command\auxiliary\dropship_pilot.dm"
#include "code\game\jobs\job\command\auxiliary\intel.dm"
-#include "code\game\jobs\job\command\auxiliary\pilot.dm"
#include "code\game\jobs\job\command\auxiliary\senior.dm"
#include "code\game\jobs\job\command\cic\captain.dm"
#include "code\game\jobs\job\command\cic\executive.dm"
@@ -929,12 +933,14 @@
#include "code\game\machinery\doors\door.dm"
#include "code\game\machinery\doors\firedoor.dm"
#include "code\game\machinery\doors\multi_tile.dm"
-#include "code\game\machinery\doors\poddoor.dm"
#include "code\game\machinery\doors\railing.dm"
#include "code\game\machinery\doors\runed_sandstone.dm"
-#include "code\game\machinery\doors\shutters.dm"
#include "code\game\machinery\doors\unpowered.dm"
#include "code\game\machinery\doors\windowdoor.dm"
+#include "code\game\machinery\doors\poddoor\almayer.dm"
+#include "code\game\machinery\doors\poddoor\poddoor.dm"
+#include "code\game\machinery\doors\poddoor\two_tile.dm"
+#include "code\game\machinery\doors\poddoor\shutters\shutters.dm"
#include "code\game\machinery\embedded_controller\docking_program.dm"
#include "code\game\machinery\embedded_controller\embedded_controller_base.dm"
#include "code\game\machinery\embedded_controller\embedded_program_base.dm"
@@ -1776,6 +1782,7 @@
#include "code\modules\gear_presets\survivors\survivors.dm"
#include "code\modules\gear_presets\survivors\corsat\preset_corsat.dm"
#include "code\modules\gear_presets\survivors\fiorina_sciannex\preset_fiorina_sciannex.dm"
+#include "code\modules\gear_presets\survivors\fiorina_sciannex\riot_in_progress_insert_fiorina_nightmare.dm"
#include "code\modules\gear_presets\survivors\kutjevo\preset_kutjevo.dm"
#include "code\modules\gear_presets\survivors\lv_522\forcon_survivors.dm"
#include "code\modules\gear_presets\survivors\lv_624\clfship_insert_lv624.dm"
@@ -1914,6 +1921,7 @@
#include "code\modules\mob\living\carbon\human\human_dummy.dm"
#include "code\modules\mob\living\carbon\human\human_helpers.dm"
#include "code\modules\mob\living\carbon\human\human_movement.dm"
+#include "code\modules\mob\living\carbon\human\human_stripping.dm"
#include "code\modules\mob\living\carbon\human\inventory.dm"
#include "code\modules\mob\living\carbon\human\life.dm"
#include "code\modules\mob\living\carbon\human\login.dm"
@@ -2162,6 +2170,7 @@
#include "code\modules\organs\wound.dm"
#include "code\modules\paperwork\carbonpaper.dm"
#include "code\modules\paperwork\clipboard.dm"
+#include "code\modules\paperwork\desk_bell.dm"
#include "code\modules\paperwork\filingcabinet.dm"
#include "code\modules\paperwork\folders.dm"
#include "code\modules\paperwork\notepad.dm"
diff --git a/config/example/config.txt b/config/example/config.txt
index f055a5d65bff..0aff7ee6def9 100644
--- a/config/example/config.txt
+++ b/config/example/config.txt
@@ -241,3 +241,15 @@ GAMEMODE_DEFAULT Extended
## How long the mob will take to chestburst, in seconds
#EMBRYO_BURST_TIMER 450
+
+## CLIENT VERSION CONTROL
+## This allows you to configure the minimum required client version, as well as a warning version, and message for both.
+## These trigger for any version below (non-inclusive) the given version, so 510 triggers on 509 or lower.
+## These messages will be followed by one stating the clients current version and the required version for clarity.
+#CLIENT_WARN_VERSION 514
+#CLIENT_WARN_BUILD 1589
+#CLIENT_WARN_MESSAGE Your version of BYOND may have issues or be blocked from accessing this server in the future.
+#CLIENT_WARN_POPUP
+CLIENT_ERROR_VERSION 514
+#CLIENT_ERROR_BUILD 1589
+#CLIENT_ERROR_MESSAGE Your version of BYOND is too old, may have issues, and is blocked from accessing this server.
diff --git a/dependencies.sh b/dependencies.sh
index 69f16156b9d7..01d0ca5c976c 100644
--- a/dependencies.sh
+++ b/dependencies.sh
@@ -4,8 +4,8 @@
#Final authority on what's required to fully build the project
# byond version
-export BYOND_MAJOR=514
-export BYOND_MINOR=1588
+export BYOND_MAJOR=515
+export BYOND_MINOR=1627
#rust_g git tag
export RUST_G_VERSION=2.1.0
@@ -15,9 +15,7 @@ export NODE_VERSION=14
export NODE_VERSION_PRECISE=14.16.1
# SpacemanDMM git tag
-export SPACEMAN_DMM_VERSION=suite-1.7.2
+export SPACEMAN_DMM_VERSION=suite-1.8
# Python version for mapmerge and other tools
export PYTHON_VERSION=3.7.9
-
-export OPENDREAM_VERSION=tgs-min-compat
diff --git a/html/changelogs/AutoChangeLog-pr-5932.yml b/html/changelogs/AutoChangeLog-pr-5932.yml
deleted file mode 100644
index e7584e57568b..000000000000
--- a/html/changelogs/AutoChangeLog-pr-5932.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "nauticall"
-delete-after: True
-changes:
- - bugfix: "Makes pill bottle caps appear on closed pill bottles again."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-6183.yml b/html/changelogs/AutoChangeLog-pr-6183.yml
new file mode 100644
index 000000000000..5971ec8dae32
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-6183.yml
@@ -0,0 +1,4 @@
+author: "Steelpoint"
+delete-after: True
+changes:
+ - rscadd: "UPP and CLF Combat Synthetic preset is now available for admins to spawn them in."
\ No newline at end of file
diff --git a/html/changelogs/archive/2024-03.yml b/html/changelogs/archive/2024-03.yml
index 62e6449f15b3..1ad71612a6fb 100644
--- a/html/changelogs/archive/2024-03.yml
+++ b/html/changelogs/archive/2024-03.yml
@@ -180,3 +180,158 @@
vendor.
Segrain:
- qol: Middleclicking beds/chairs/etc is now a shortcut for buckling to them.
+2024-03-16:
+ nauticall:
+ - bugfix: Makes pill bottle caps appear on closed pill bottles again.
+2024-03-17:
+ Huffie56:
+ - refactor: refactored areas replaced stern hallway by aft added two new hallway
+ area(fore, midship)
+ - refactor: refactored areas replaced midship maintenance by for and added two new
+ maintenance areas(fore, aft) with each starboard and port side.
+ - maptweak: removed all the emergency shutter that weren't at the borders of each
+ areas.
+ - maptweak: added back the bear belt in a closet in a dormitory.
+ - maptweak: reconnect some air pipe in an hallway north upper engi.
+ Segrain:
+ - bugfix: Ghosts no longer miss announcements seemingly at random.
+ SpartanBobby:
+ - maptweak: Removes some ledges on LV522
+ - maptweak: Removes unintended hullwalls on LV522
+ realforest2001:
+ - rscadd: Updated the Insanity law description.
+2024-03-18:
+ Katskan:
+ - balance: changed medical 4 skill speed multiplier from tier 2 to a non-standard
+ 0.35
+ - balance: changed defib medical skill speed scaling
+ Nanu308:
+ - mapadd: Added the Galaxy Pizza Space Diner ERT station, for all your outer expanse
+ food needs!
+ - maptweak: Placed APC's on ert stations and minor tweaks+fixes.
+ Segrain:
+ - bugfix: Professor Dummy in CMO's office now works properly.
+2024-03-19:
+ 567Turtle:
+ - rscadd: PO has been split into two roles, the gunship pilot and the dropship pilot,
+ no more arguing over who gets CAS.
+ Drathek:
+ - bugfix: Overdose death messages will now mention last mob that contributed to
+ the OD
+ - admin: Many additions to attack, say, interact, and niche logging
+ - admin: Temporary muted messages/actions are now niche logged instead of say logged
+ - ui: Added niche log filtering to TGChat (still requires admin niche logs preference)
+ SabreML:
+ - admin: Made the 'Join as Xeno' button disable the user's larva protection when
+ clicked by a moderator.
+ TheGamerdk:
+ - bugfix: Synths can now have their heads reattached without being sent to limbo-crit-hell.
+ TotalEpicness5:
+ - bugfix: Stamina damage can now be ahealed.
+ Waseemq1235:
+ - rscdel: Removes HEAP from all UPP vendor gear presets
+2024-03-20:
+ Huffie56:
+ - maptweak: Fix ugliness at 5 different areas.
+ - maptweak: added access restriction for doors that lack them(OT workshop, engi
+ dormitory, Upper engi back storage door.)
+ Katskan:
+ - rscadd: Added some new uniforms and hats
+ - rscadd: Added blood packs to vendor for 5 points, equal to a pill bottle
+ - rscadd: Added tactical prybar to vendor for 5 points
+ - rscadd: Added some surgical tools, very expensive costs essentially your entire
+ point budget to buy
+ realforest2001:
+ - rscadd: Changed all marine presets to use Dress Blues as their dress equipment.
+ - rscdel: Excluding Whiskey Outpost, removed all previous dress equipment from vendors.
+2024-03-21:
+ BadAtThisGame302:
+ - rscadd: Heavily Updated Corpse Code.
+ Birdtalon:
+ - admin: Xeno eggs now take fingerprints.
+ Huffie56:
+ - qol: 'add some balloons for CPR : one is for when it''s a success and the other
+ is when it''s a failure.'
+ - refactor: refactored poddoor file and shutters file.
+ Steelpoint:
+ - maptweak: Adds several cardboard box spawns in to squad prep rooms.
+2024-03-23:
+ Drathek:
+ - ui: Tweaked layout for role preferences windows
+ Vicacrov:
+ - rscadd: Tacmap announcements are now also muted if you have hear/silence ghost
+ announcements toggled on.
+2024-03-24:
+ DN9123:
+ - rscadd: Added a couple of fortunes in strings/fortunes.txt
+ - spellcheck: fixed a grammar error I found in strings/fortunes.txt
+ Segrain:
+ - admin: Spawning nondeathsquad MARSOC now properly recognises "current location"
+ option.
+ ihatethisengine:
+ - bugfix: Fixed delayed launch launching lifeboat even if locked by queen
+2024-03-25:
+ Birdtalon, Kat 'APC' Smith, Thwomp, Waseemq1235:
+ - rscadd: Desk bell for cargo, medbay, brig, and AI reception.
+ - soundadd: Desk bell sound effect.
+2024-03-26:
+ Huffie56:
+ - bugfix: move semiotic in north evac pod so you can't see it when your behind in
+ hull maintenance.
+ InsaneRed:
+ - balance: Wardens can heal eachother once again, but only half the health
+ - qol: Gives SPAN_XENOHIGHDANGER to heal/reju on positives, since its very easy
+ to miss if you actually healed soembody.
+ MobiusWon:
+ - rscadd: Uniforms vend with USCM patch.
+ SabreML:
+ - refactor: Refactored the bodypart selection keybinds.
+ - bugfix: Fixed a bug where selecting a new body zone would sometimes modify the
+ wrong HUD element.
+ vero5123:
+ - bugfix: fixes users not being able to resist out of the stasis bags
+ - bugfix: Fixes zombies missing claws on transformation
+2024-03-27:
+ Ben10083:
+ - rscadd: Working Joes can now respawn as a Working Joe after 15 minutes, previous
+ restriction on respawn removed.
+ - admin: New flag to disable Working Joe respawns
+ - rscadd: Hazard Joes now have their own emotes
+ - code_imp: Hazard Joes now a seperate species
+ - code_imp: Updated isworkingjoe and new ishazardjoe define
+ - refactor: Working Joe emotes and emote categories now a globally defined list
+ - soundadd: New Hazard Joe voicelines
+ Katskan:
+ - balance: Autocompressor gives 7 seconds of grace time every 7.5 seconds, instead
+ of 7 seconds every 10 seconds. Approximately 93% efficient, increased from 70%
+ efficient.
+ QuickLode:
+ - rscadd: adds a purple armband and uniform to Synth Vendor
+ - rscadd: adds a renamed uniform commonly used by colonists with a better name
+ Vicacrov:
+ - rscadd: Added holocards to health scans to improve communication between medical
+ players. You can now assign holocards via the health analyzer and the body scanner
+ as well. The health scan also tells you what the current holocard's colour means.
+ - rscadd: Added a new purple holocard to tag infected marines.
+ - rscdel: Clicking yourself no longer removes your own holocard.
+2024-03-29:
+ SpartanBobby:
+ - maptweak: Changes to hullwall placment on Kutjevo this PR should allow you to
+ break open much more of the colony buildings aswell as get into new areas to
+ flank and play around
+ blackdragonTOW:
+ - code_imp: Added a third level of zoom to the Toggle Zoom verb
+ vero5123:
+ - bugfix: Fixes teleporting when placing mobs onto chairs and beds.
+2024-03-30:
+ cuberound:
+ - qol: old cosmetic NVG can not be broken
+ iloveloopers:
+ - balance: You can now use the mortar while shipside during hijack, but only once.
+ - rscadd: Ghosts now get a warning when a custom mortar shell is about to land.
+2024-03-31:
+ SpartanBobby:
+ - maptweak: 'Changes to LV522: Less ledges overall'
+ - maptweak: 'Changes to LV522: More breakable entry to the reactor'
+ - maptweak: 'Changes to LV522: Removed dead end in reactor'
+ - maptweak: New weedable zone west of LZ2 T-comms tower
diff --git a/html/changelogs/archive/2024-04.yml b/html/changelogs/archive/2024-04.yml
new file mode 100644
index 000000000000..efa0f73ad350
--- /dev/null
+++ b/html/changelogs/archive/2024-04.yml
@@ -0,0 +1,331 @@
+2024-04-01:
+ Drathek:
+ - rscadd: Moved holocards to the squad hud
+ Huffie56:
+ - refactor: refactored the lambda areas.
+ - maptweak: turned south padlock into a checkpoint.
+ - bugfix: replace space bellow door in the temple by proper floor.
+ - maptweak: added a missing platform part.
+ SabreML:
+ - bugfix: Fixed a runtime error caused when trying to open an already opened backpack.
+ - bugfix: Fixed a few runtime errors caused by the 'Cycle Helmet HUD' keybind.
+ - bugfix: Fixed a runtime error preventing a 'Marine Minor' (Hive collapse) roundend
+ state.
+ Segrain:
+ - bugfix: Mortar works properly once again.
+ SpartanBobby:
+ - maptweak: LV522 Cargo containers keeping FORECON out of the crashed ship have
+ been moved back slightly allowing marines and xenos a new flank route
+ realforest2001:
+ - code_imp: Removes an unused camera var.
+2024-04-02:
+ sleepynecrons:
+ - imageadd: added missing backpack onmob states for "classic" gearset
+2024-04-03:
+ vero5123:
+ - bugfix: lowers the scalpel and chunk box's ability to destroy various structures.
+ - rscadd: chunk box is now a melee weapon
+2024-04-04:
+ QuickLode:
+ - qol: Moves CL's Office and SEA's Office phone lines to "Offices" category.
+ realforest2001:
+ - rscadd: Added AI Core camera consoles to CE, CO and Brig offices, along with CIC
+ and Lifeboat bubble.
+ - maptweak: Added Tech Control Console to ARES Core.
+ - rscadd: Added Tech Unlock logs to ARES Interface
+2024-04-05:
+ Drathek:
+ - bugfix: Fixed some number entry for your pin and access code in the EFTPOS
+ Git-Nivrak:
+ - qol: Acid sprays will now extinguish fire from other xenomorphs more consistently
+ ihatethisengine:
+ - balance: night vision optics no longer can be used with binoculars.
+ vero5123:
+ - bugfix: xenos can no longer attempt to use corrosive acid after death
+2024-04-06:
+ Huffie56:
+ - balance: add the ability to store fixOvein in the pouch medkit.
+ QuickLode:
+ - balance: Metal rods take up less space in an inventory (3 slots to 2)
+ - code_imp: removes some redundant code on plasteel rods
+ vero5123:
+ - bugfix: fixes queen getting stuck in the lobby if they take too long
+2024-04-07:
+ Ben10083:
+ - balance: Mobs with super strength now have an advantage when resisting of a grab
+ is done, both as the grabber and the one being grabbed (Xenos not affected,
+ works as before).
+ - balance: Mobs with super strength no longer have their passive grabs a guaranteed
+ resist (unless both super).
+ Drathek:
+ - bugfix: Fixed objectives not getting displayed for CMB and cultist ERTs.
+ - balance: Cryotubes no longer multiply chemicals.
+ - balance: Cryotubes can now allow chemicals to process in dead if cryoxadone or
+ clonexadone is present.
+ - bugfix: Fixed cryotubes not actually updating their icons/power usage when they
+ become unpowered.
+ - bugfix: Fixed cryotubes healing despite inoperable.
+ - bugfix: The cryotube Eject Occupant verb now works for people other than the occupant
+ (useful if inoperable)
+ - ui: Cryotubes can optionally announce again on the medical channel.
+ InsaneRed:
+ - balance: Goon armor properly has slowdown now
+ Johannes2262:
+ - maptweak: All cell shutters are now linked to the button in the warden's office
+ Kaga:
+ - rscadd: Added the XM43E1 Anti-Materiel Rifle as a pickable sidegrade option for
+ USCM Sniper Specs through the vendor, mutually exclusive with the normal M42A
+ Sniper Rifle. The AMR can shred obstacles, blow a hole through most infantry
+ and their equipment, and even hit a collateral on multiple targets or through
+ light cover, but its lack of specialized ammunition and small magazine mean
+ that you'll need to make every shot count. Ammo can be bought from Req, at the
+ same cost per magazine as the M42A.
+ - balance: Completely updated the XM43E1 AMR, adding damage falloff to its wall-piercing
+ properties whenever it hits something alongside range loss. Most things reduce
+ its damage by 20%. Dense walls and big xenos reduce both the damage and range
+ 3 times as much.
+ NervanCatos:
+ - balance: removes CT access to marine prep weapons racks, doubles ammo count of
+ all regular ammo in req to compensate.
+ SabreML:
+ - admin: Added attack logging for Xeno tackling.
+ Vanagandr, totalepicness:
+ - rscadd: Added a button to event panel to give xenomorphs opposable thumbs and
+ firearms permits, to individuals, to hives, or to all xenos everywhere. They're
+ clumsy, though, and have issues with fine manipulation sometimes. Remember that
+ warriors cannot throw objects and make for poor grenadiers.
+ - rscadd: Xenos with opposable thumbs can use buckles, drive vehicles, use machine
+ guns and vendors without care for access or skills
+ Waseemq1235:
+ - mapadd: Added an APOLLO maintenance controller to the Warden's Office.
+ cuberound:
+ - balance: greatly decreses snow removal time, now it depends on xenomorph size
+ - balance: allows movement during tactical reload (to perform tactical reload click
+ and drag from a magazine to gun in your hand)
+ - balance: reduced GAU spread from 9x9 to 7x7
+ - balance: reduced GAU shots fired per shot back to 1 (bullets per tile from 0.99
+ to 0.82)
+ realforest2001:
+ - rscadd: Added ARES logging for launching supply drops.
+ - admin: Added staff logs for launching supply drops.
+ vero5123:
+ - bugfix: Fixes armor light staying on after removal.
+2024-04-08:
+ BadAtThisGame302:
+ - rscadd: Added the new UPPA and Naval Patches to all UPP inserts.
+ - bugfix: Fixed the insulated gloves not having the insulated sprite.
+ - imageadd: added a black and blue satchel, also an updated red armband sprite courtesy
+ of AmoryBlaine
+ - imageadd: added a big UA flag, a UPP table and two new UPP patches all thanks
+ to the folks over at PVE. AmoryBlaine, Morrow and AndroBetel
+ HumiliatedGoblin:
+ - rscadd: Adds a one hour medical timelock for DCC's
+ - rscadd: 'Adds a tip of the round to accommodate for this PR and #5808'
+ - balance: DCCs and Pilots can now fix queen broken dropship doors
+ Mister-moon1:
+ - balance: increased GL and pyro armour light range to properly match other armours
+ like it.
+ SabreML:
+ - ui: Added a 'search by key' button to the Keybind menu.
+ Stan_albatross,kugamo,LTNTS,Drathek:
+ - balance: medical vendors, excepting nanomeds, can now only refill/restock stacks
+ and autoinjectors/bottles when on special medical supply link ports that can
+ only be found shipside. Sprite by kugamo.
+ - bugfix: supply pads will no longer generate ambient occlusion.
+ Steelpoint:
+ - rscadd: MRE's will now auto-delete if they do not contain and food items when
+ they are discarded.
+ cuberound:
+ - balance: flames melt the snow
+ ihatethisengine:
+ - rscadd: CC camera now can broadcast to TVs.
+2024-04-09:
+ vero5123:
+ - bugfix: Notifications should no longer emit light.
+2024-04-10:
+ Drathek:
+ - rscadd: Added preference for a darker crit overlay and black flash overlay
+2024-04-12:
+ BadAtThisGame302:
+ - bugfix: The CMB Deputy not being able to use his breaching charge by replacing
+ it with a rubber one.
+ InsaneRed:
+ - rscdel: Helmets no longer hide ears
+ TopHatPenguin:
+ - bugfix: Fixes Nightmare documentation example.
+2024-04-13:
+ Drathek:
+ - bugfix: Fixed cryotubes still duplicating chemicals because of touch reactions
+ HeresKozmos:
+ - rscadd: Added over a dozen new tips for playing Xenomorph.
+2024-04-14:
+ BadAtThisGame302:
+ - rscadd: Added a CL Surv to Trijent and a CMB Surv to LV.
+ - qol: Changes almost all survivors regardless of maps to fit a more modern artstyle
+ with their uniforms and to remove any marine clothing, as well as updating various
+ presets.
+ Ben10083:
+ - spellcheck: fixed a grammar mistake in a Working Joe voiceline
+ Drathek:
+ - bugfix: Fixed colony lights deconstructing sometimes after explosions
+ - maptweak: Added medlinks under the marinemeds in medbay, hangar panic room, and
+ CIC armory.
+ - rscadd: Patting someone that is dizzy will no longer unrest them
+ - bugfix: Fixed unboxed machines not connecting to the power net
+ Git-Nivrak:
+ - rscadd: Throws will now attempt to reach their target rather than the turf they
+ were on when thrown
+ Huffie56:
+ - balance: added the option to buy restricted firearm for the specialist SU-6 and
+ VP78 each for 15points.
+ - balance: added the option to buy sidearm ammunition M44 (heavy and Marksman) and
+ SU-6 mag for 10 point each.
+ - balance: added the option to buy sidearm ammunition M4A3 HP and AP for 5 point
+ each.
+ - balance: added the option to buy a whistle for 5 point and a data detector for
+ 10 point.
+ - balance: added the option to buy binoculars for 5 point range finder for 10 point
+ and laser designator for 15 point.
+ JohnFulpWillard:
+ - imageadd: Added the Quebec flag to OOC for all Quebecois.
+ QuickLode:
+ - rscadd: 'Adds four new Colony Synthetic Variants: Archaeologist, ICC, Landing
+ Pad Attendant, Surveyor. These are distinctive RP quirks which should help players
+ better choose roles they like, they also flesh out the variants.'
+ - rscadd: Diversifies Colony Synthetic weapons and loadouts to be more flavorful
+ and fitting to their roles.
+ - balance: nerfs the backpack of Corporate Protection Synthetic(to 5 spaces) and
+ nailgun ammo for Engineering Synthetic(from 3 to 1)
+ - balance: Brings up several antiquated tools to slightly below 'CM' level (kitchen
+ blades to about a knife, pickaxe to about a machete, police baton to a knife)
+ - bugfix: adds missing hit sound to pickaxe(slicing)
+ - bugfix: adds missing pouch for UPP Synthetic Survivor
+ - spellcheck: properly names reconaissance synthetic in spawn
+ - rscdel: removes Detective and Janitor Synthetic from rotation(temporary, until
+ I can better reaestheticize their looks)
+ Tim Harley cookpet:
+ - rscadd: Added 2 new flamer fuels craftable by OTs/Chemistry
+ - balance: CLF3 recipe now gives more units per reaction
+ - balance: OT rockets explosion power and falloff nerfed to be slightly more explosive
+ than the OT M15 grenade (240 exp, 90 falloff).
+ - balance: OT rockets max container volume increased to 210 units (1 beaker, 1 bottle,
+ 1 vial).
+ - balance: OT rockets max fire intensity increased to 40 and max duration increased
+ to 48.
+ - balance: OT rockets can no longer make a star shaped fire.
+ - balance: OT rockets max range increased to 7 tiles.
+ harryob:
+ - code_imp: 515.1627 is now required for development - this is not enforced to play
+ on the server, yet
+ realforest2001:
+ - bugfix: Fixes praetorian acid ball harming the prae and other xenos.
+2024-04-15:
+ LTNTS:
+ - maptweak: moves APC in Chance's Claim LZ1 to where it can actually be fixed
+2024-04-16:
+ Huffie56, Zenith, esselnek/sleepynecrons, samy/nauticall, drulikar.:
+ - rscadd: Added fuel pump as machinery on the almayer sprite will change when power
+ is on or off.
+ - rscadd: Fuel pumps are animated when activated and have different state depending
+ on how full the lifeboats are.
+ - imageadd: added the fuel pump icon. updated by esselnek /sleepynecrons and Zenith,
+ they where originally made by nauticall.
+ - maptweak: added the fuel pump to the proper locations.
+ ihatethisengine2:
+ - rscadd: ported stripping menu from TG
+2024-04-17:
+ QuickLode:
+ - balance: M3A1 Synthetic Utility Vest only has a 10% slowdown.
+ iloveloopers:
+ - bugfix: You can no longer buckle xenos onto chairs
+ realforest2001:
+ - rscadd: Added Nerve Gas Release control buttons to the ARES and APOLLO interfaces,
+ allowing the AI core to be secured from large groups or xenomorphs. Built in
+ cooldowns should prevent fatalities.
+ - maptweak: Remodelled the AI Core Reception and WJ spawn area.
+ - maptweak: Switches AI Core cameras over to manual naming.
+ - imageadd: Added sprites for AI Core windows on black Almayer frames.
+ usnpeepoo:
+ - balance: Berserker's rage lock-out duration increased slightly
+2024-04-18:
+ InsaneRed:
+ - balance: Hedgehog now gains explosion immunity to nades if you have above half
+ shard amount.
+ MrStonedOne, LemonInTheDark:
+ - server: config now allows you to warn players to upgrade their byond version,
+ or bar them based on their byond version
+ Steelpoint:
+ - balance: UPP Synthetic's loadout has been reworked to account for its new status
+ as a non-combatant.
+2024-04-19:
+ QuickLode:
+ - rscadd: Adds 3 variations of CMB Marshal and 4 variations of a UA Riot Police
+ Officer to Fiorina Prison Riot nightmare. These are fine men and women in uniform
+ prepared to engage what they suspect is a riot(or in the case of CMB, assisting
+ their underfunded and understaffed colleagues) however, they find something
+ much more sinister going on..
+ - rscadd: Adds a CMB Investigative Synthetic(r) and a UA Police Synthetic.
+ - rscadd: Allows police baton and telescopic baton to shield clash for intimidation
+ and riot tactics.
+ - rscadd: Allows M81 launcher to utilize less lethal baton round
+ - qol: removes taser from some security synthetics belts, replaced with a more synthetic
+ friendly version
+2024-04-20:
+ Huffie56:
+ - balance: Increase damage of standard revolver ammo from 55 to 72.
+ - balance: Marksman ammo remains 55 damage.
+ iloveloopers:
+ - rscadd: adds new flamer fuel type, stabilized metallic foam
+ - rscadd: Incinerator tanks can now hold stabilized metallic foam
+ - balance: High-Combustion napalm fuel is now easier to see on the ground
+2024-04-21:
+ 567Turtle:
+ - balance: ' SO can now do basic surgeries'
+ Ben10083:
+ - rscadd: Synthetics when shoved into meat gibber will not be delimbed and spawn
+ their own flesh, but would not die (they are spat out as a torso and head)
+ - admin: Adjustment to meatgibber code to notify admins when a synthetic is being
+ shoved into gibber
+ Git-Nivrak:
+ - bugfix: You can no longer infinitely extend facehugger's lifetime by REDACTED
+ - balance: Lessers now lose 5 hp every 2 seconds off weeds
+ - bugfix: Fixed a bug which made boilers go way faster than they should
+ LTNTS:
+ - rscadd: Adds Command Tablets to Provost Marshal+
+ iloveloopers:
+ - bugfix: White phosphorus will no longer forcefully set a mob's fire_reagent to
+ be UT napthal
+ realforest2001:
+ - rscadd: Added an ARES Log for chambering the OB Cannon.
+ vero5123:
+ - bugfix: toggling ghost vision now keeps the user's mob visible.
+2024-04-22:
+ Git-Nivrak:
+ - rscdel: Reverted back to old throw logic
+ GrrrKitten:
+ - rscadd: Adds shockwave VFX to powerful explosions
+ - rscadd: Adds shockwave VFX to Queen + Predalien screech
+ LC4492:
+ - rscadd: Adds a new, better variation of the normal photocopier.
+ - imageadd: Adds a new sprite to the new photocopier variation and updates the sprites
+ of both normal, and new photocopiers to look slightly better.
+ - maptweak: Adds the new photocopiers to the CC and CL offices.
+ Zonespace27:
+ - admin: Unmarked tickets now mark themselves when an admin starts responding to
+ one
+ harryob:
+ - bugfix: you can bind to space again
+ iloveloopers:
+ - bugfix: custom flamer fuels no longer work for increasing OT assembly's caps
+ realforest2001:
+ - bugfix: Delaying round start now shows on the timer again.
+ - rscadd: Added ID Modification Log to the Access Report printout from an ID Console.
+2024-04-23:
+ Drulikar:
+ - balance: Cryotubes now also cure external bleeding
+ - bugfix: Fixed internal bleeding granting blood on its last tick
+2024-04-24:
+ Git-Nivrak:
+ - bugfix: Fixes boilers slowing themselves by using long range sight while resting.
+ iloveloopers:
+ - qol: Alt clicking a reagent tank will now toggle whether its dispensing or filling
diff --git a/icons/effects/Targeted.dmi b/icons/effects/Targeted.dmi
index fce948574a3d..24b82a90fe6c 100644
Binary files a/icons/effects/Targeted.dmi and b/icons/effects/Targeted.dmi differ
diff --git a/icons/effects/warning_stripes.dmi b/icons/effects/warning_stripes.dmi
index c962ef88bfeb..f4eae17e3748 100644
Binary files a/icons/effects/warning_stripes.dmi and b/icons/effects/warning_stripes.dmi differ
diff --git a/icons/flags.dmi b/icons/flags.dmi
index a192d17ff10b..673a3ee7a5dd 100644
Binary files a/icons/flags.dmi and b/icons/flags.dmi differ
diff --git a/icons/mob/hud/marine_hud.dmi b/icons/mob/hud/marine_hud.dmi
index 5de7b83a9309..8eefce871099 100644
Binary files a/icons/mob/hud/marine_hud.dmi and b/icons/mob/hud/marine_hud.dmi differ
diff --git a/icons/mob/humans/onmob/back.dmi b/icons/mob/humans/onmob/back.dmi
index eba8a2d0289c..42d46bcc9abe 100644
Binary files a/icons/mob/humans/onmob/back.dmi and b/icons/mob/humans/onmob/back.dmi differ
diff --git a/icons/mob/humans/onmob/items_lefthand_0.dmi b/icons/mob/humans/onmob/items_lefthand_0.dmi
index bcf2773e8dd7..4e8c1d59a41a 100644
Binary files a/icons/mob/humans/onmob/items_lefthand_0.dmi and b/icons/mob/humans/onmob/items_lefthand_0.dmi differ
diff --git a/icons/mob/humans/onmob/items_righthand_0.dmi b/icons/mob/humans/onmob/items_righthand_0.dmi
index d53360ec86a7..b8285acc65ad 100644
Binary files a/icons/mob/humans/onmob/items_righthand_0.dmi and b/icons/mob/humans/onmob/items_righthand_0.dmi differ
diff --git a/icons/mob/humans/onmob/ties.dmi b/icons/mob/humans/onmob/ties.dmi
index 87581eb94168..535e2cc69181 100644
Binary files a/icons/mob/humans/onmob/ties.dmi and b/icons/mob/humans/onmob/ties.dmi differ
diff --git a/icons/obj/items/clothing/backpacks.dmi b/icons/obj/items/clothing/backpacks.dmi
index 13acfa42cc40..be2602f76c57 100644
Binary files a/icons/obj/items/clothing/backpacks.dmi and b/icons/obj/items/clothing/backpacks.dmi differ
diff --git a/icons/obj/items/clothing/ties.dmi b/icons/obj/items/clothing/ties.dmi
index 366f2acb3512..012eb4a9630a 100644
Binary files a/icons/obj/items/clothing/ties.dmi and b/icons/obj/items/clothing/ties.dmi differ
diff --git a/icons/obj/items/items.dmi b/icons/obj/items/items.dmi
index bf9b64474af5..c4d34d3b790c 100644
Binary files a/icons/obj/items/items.dmi and b/icons/obj/items/items.dmi differ
diff --git a/icons/obj/items/weapons/guns/lineart.dmi b/icons/obj/items/weapons/guns/lineart.dmi
index 6c1dae5bd5c1..a746bce1716b 100644
Binary files a/icons/obj/items/weapons/guns/lineart.dmi and b/icons/obj/items/weapons/guns/lineart.dmi differ
diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi
index b62860559b16..1dc934be2103 100644
Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ
diff --git a/icons/obj/structures/machinery/fuelpump.dmi b/icons/obj/structures/machinery/fuelpump.dmi
new file mode 100644
index 000000000000..a63fbab88019
Binary files /dev/null and b/icons/obj/structures/machinery/fuelpump.dmi differ
diff --git a/icons/obj/structures/machinery/library.dmi b/icons/obj/structures/machinery/library.dmi
index 3efeeef8b9f5..b2e62dc1bb93 100644
Binary files a/icons/obj/structures/machinery/library.dmi and b/icons/obj/structures/machinery/library.dmi differ
diff --git a/icons/obj/structures/props/banners.dmi b/icons/obj/structures/props/banners.dmi
index d45574de1185..ee30e197d21b 100644
Binary files a/icons/obj/structures/props/banners.dmi and b/icons/obj/structures/props/banners.dmi differ
diff --git a/icons/turf/walls/windows.dmi b/icons/turf/walls/windows.dmi
index 2904c8d5fa9a..c162b83e661c 100644
Binary files a/icons/turf/walls/windows.dmi and b/icons/turf/walls/windows.dmi differ
diff --git a/icons/ui_icons/inventory/back.png b/icons/ui_icons/inventory/back.png
new file mode 100644
index 000000000000..736b9d64bf99
Binary files /dev/null and b/icons/ui_icons/inventory/back.png differ
diff --git a/icons/ui_icons/inventory/belt.png b/icons/ui_icons/inventory/belt.png
new file mode 100644
index 000000000000..1be89d450a8f
Binary files /dev/null and b/icons/ui_icons/inventory/belt.png differ
diff --git a/icons/ui_icons/inventory/collar.png b/icons/ui_icons/inventory/collar.png
new file mode 100644
index 000000000000..71803b1b6c6b
Binary files /dev/null and b/icons/ui_icons/inventory/collar.png differ
diff --git a/icons/ui_icons/inventory/ears.png b/icons/ui_icons/inventory/ears.png
new file mode 100644
index 000000000000..e9a8f3c23c4b
Binary files /dev/null and b/icons/ui_icons/inventory/ears.png differ
diff --git a/icons/ui_icons/inventory/glasses.png b/icons/ui_icons/inventory/glasses.png
new file mode 100644
index 000000000000..6e6f1ad098f6
Binary files /dev/null and b/icons/ui_icons/inventory/glasses.png differ
diff --git a/icons/ui_icons/inventory/gloves.png b/icons/ui_icons/inventory/gloves.png
new file mode 100644
index 000000000000..2c8a16cbdb7a
Binary files /dev/null and b/icons/ui_icons/inventory/gloves.png differ
diff --git a/icons/ui_icons/inventory/hand_l.png b/icons/ui_icons/inventory/hand_l.png
new file mode 100644
index 000000000000..b09228d65f6d
Binary files /dev/null and b/icons/ui_icons/inventory/hand_l.png differ
diff --git a/icons/ui_icons/inventory/hand_r.png b/icons/ui_icons/inventory/hand_r.png
new file mode 100644
index 000000000000..0e05a487e070
Binary files /dev/null and b/icons/ui_icons/inventory/hand_r.png differ
diff --git a/icons/ui_icons/inventory/head.png b/icons/ui_icons/inventory/head.png
new file mode 100644
index 000000000000..11e2d2254cd0
Binary files /dev/null and b/icons/ui_icons/inventory/head.png differ
diff --git a/icons/ui_icons/inventory/id.png b/icons/ui_icons/inventory/id.png
new file mode 100644
index 000000000000..4469591d36f5
Binary files /dev/null and b/icons/ui_icons/inventory/id.png differ
diff --git a/icons/ui_icons/inventory/mask.png b/icons/ui_icons/inventory/mask.png
new file mode 100644
index 000000000000..82e510893796
Binary files /dev/null and b/icons/ui_icons/inventory/mask.png differ
diff --git a/icons/ui_icons/inventory/neck.png b/icons/ui_icons/inventory/neck.png
new file mode 100644
index 000000000000..78ad3ce3b1c7
Binary files /dev/null and b/icons/ui_icons/inventory/neck.png differ
diff --git a/icons/ui_icons/inventory/pocket.png b/icons/ui_icons/inventory/pocket.png
new file mode 100644
index 000000000000..f42399dca0f5
Binary files /dev/null and b/icons/ui_icons/inventory/pocket.png differ
diff --git a/icons/ui_icons/inventory/shoes.png b/icons/ui_icons/inventory/shoes.png
new file mode 100644
index 000000000000..d20f7ef4d106
Binary files /dev/null and b/icons/ui_icons/inventory/shoes.png differ
diff --git a/icons/ui_icons/inventory/suit.png b/icons/ui_icons/inventory/suit.png
new file mode 100644
index 000000000000..e9c48e8069f7
Binary files /dev/null and b/icons/ui_icons/inventory/suit.png differ
diff --git a/icons/ui_icons/inventory/suit_storage.png b/icons/ui_icons/inventory/suit_storage.png
new file mode 100644
index 000000000000..9722eb10297a
Binary files /dev/null and b/icons/ui_icons/inventory/suit_storage.png differ
diff --git a/icons/ui_icons/inventory/uniform.png b/icons/ui_icons/inventory/uniform.png
new file mode 100644
index 000000000000..292b3324b5bd
Binary files /dev/null and b/icons/ui_icons/inventory/uniform.png differ
diff --git a/maps/desert_dam.json b/maps/desert_dam.json
index b5717af450cc..b40e9887d15b 100644
--- a/maps/desert_dam.json
+++ b/maps/desert_dam.json
@@ -14,6 +14,7 @@
"/datum/equipment_preset/survivor/engineer/trijent/hydro",
"/datum/equipment_preset/survivor/trucker/trijent",
"/datum/equipment_preset/survivor/security/trijent",
+ "/datum/equipment_preset/survivor/corporate/trijent",
"/datum/equipment_preset/survivor/clf",
"/datum/equipment_preset/survivor/civilian"
],
diff --git a/maps/lv624.json b/maps/lv624.json
index 76b00753db24..7c782c0a43bf 100644
--- a/maps/lv624.json
+++ b/maps/lv624.json
@@ -12,6 +12,7 @@
"/datum/equipment_preset/survivor/corporate/lv",
"/datum/equipment_preset/survivor/trucker/lv",
"/datum/equipment_preset/survivor/security/lv",
+ "/datum/equipment_preset/survivor/colonial_marshal/lv",
"/datum/equipment_preset/survivor/goon",
"/datum/equipment_preset/survivor/clf",
"/datum/equipment_preset/survivor/civilian"
diff --git a/maps/map_files/BigRed/BigRed.dmm b/maps/map_files/BigRed/BigRed.dmm
index 52a85debafc2..bd4c1b4f33d8 100644
--- a/maps/map_files/BigRed/BigRed.dmm
+++ b/maps/map_files/BigRed/BigRed.dmm
@@ -5256,9 +5256,6 @@
icon_state = "delivery"
},
/area/bigredv2/outside/marshal_office)
-"apI" = (
-/turf/closed/wall/solaris/reinforced/hull,
-/area/bigredv2/outside/lambda_cave_cas)
"apJ" = (
/obj/structure/window/framed/solaris/reinforced,
/obj/structure/machinery/door/poddoor/shutters/almayer{
@@ -6761,7 +6758,7 @@
},
/area/bigredv2/outside/general_offices)
"aui" = (
-/obj/effect/decal/cleanable/dirt,
+/obj/structure/surface/table/woodentable,
/turf/open/floor{
icon_state = "wood"
},
@@ -6862,18 +6859,6 @@
icon_state = "darkish"
},
/area/bigredv2/caves/lambda/breakroom)
-"auw" = (
-/obj/structure/showcase{
- icon = 'icons/obj/structures/machinery/research.dmi';
- icon_state = "d_analyzer_la"
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 1
- },
-/turf/open/floor{
- icon_state = "darkish"
- },
-/area/bigredv2/caves/lambda/breakroom)
"aux" = (
/obj/effect/landmark/xeno_spawn,
/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
@@ -9708,21 +9693,6 @@
},
/turf/open/floor,
/area/bigredv2/outside/hydroponics)
-"aDd" = (
-/obj/structure/pipes/vents/pump{
- dir = 4
- },
-/obj/structure/machinery/light{
- dir = 1
- },
-/obj/structure/bed/chair/comfy{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"aDe" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 6
@@ -9731,20 +9701,6 @@
icon_state = "wood"
},
/area/bigredv2/outside/library)
-"aDf" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/flora/pottedplant{
- icon_state = "pottedplant_17";
- pixel_x = 7;
- pixel_y = 14
- },
-/obj/structure/window{
- dir = 8
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"aDg" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
@@ -9753,15 +9709,6 @@
icon_state = "wood"
},
/area/bigredv2/outside/library)
-"aDh" = (
-/obj/structure/pipes/standard/simple/hidden/green,
-/obj/structure/bed/chair/comfy{
- dir = 4
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"aDi" = (
/obj/structure/machinery/light/small,
/turf/open/floor/engine,
@@ -10118,23 +10065,6 @@
/obj/structure/window/framed/solaris/reinforced,
/turf/open/floor/plating,
/area/bigredv2/caves/eta/living)
-"aEk" = (
-/obj/effect/landmark/objective_landmark/close,
-/turf/open/floor{
- dir = 1;
- icon_state = "asteroidfloor"
- },
-/area/bigredv2/outside/ne)
-"aEl" = (
-/obj/structure/surface/table,
-/obj/structure/machinery/computer/emails{
- dir = 8;
- pixel_y = 4
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"aEm" = (
/obj/structure/machinery/power/apc{
dir = 8;
@@ -11013,17 +10943,6 @@
icon_state = "white"
},
/area/bigredv2/outside/virology)
-"aGQ" = (
-/obj/structure/machinery/light{
- dir = 4
- },
-/obj/structure/machinery/power/apc{
- dir = 1
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"aGT" = (
/obj/structure/surface/table,
/turf/open/floor{
@@ -11324,10 +11243,6 @@
icon_state = "delivery"
},
/area/bigredv2/outside/hydroponics)
-"aHN" = (
-/obj/effect/landmark/crap_item,
-/turf/open/floor/carpet,
-/area/bigredv2/outside/library)
"aHO" = (
/obj/structure/bed/chair/wood/normal,
/turf/open/floor{
@@ -11466,6 +11381,14 @@
icon_state = "white"
},
/area/bigredv2/outside/virology)
+"aIe" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/pizzabox/vegetable,
+/turf/open/floor{
+ dir = 9;
+ icon_state = "redfull"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"aIg" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
@@ -11643,15 +11566,6 @@
/obj/structure/machinery/vending/snack,
/turf/open/floor,
/area/bigredv2/outside/hydroponics)
-"aIH" = (
-/obj/structure/surface/table/woodentable,
-/obj/item/paper,
-/obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"aIJ" = (
/turf/open/floor{
dir = 9;
@@ -12001,14 +11915,15 @@
},
/turf/open/floor,
/area/bigredv2/outside/hydroponics)
-"aJB" = (
-/obj/structure/machinery/light{
- dir = 4
+"aJC" = (
+/obj/structure/machinery/alarm{
+ dir = 4;
+ pixel_x = -30
},
/turf/open/floor{
- icon_state = "yellowfull"
+ icon_state = "wood"
},
-/area/bigredv2/outside/hydroponics)
+/area/bigredv2/outside/library)
"aJD" = (
/obj/structure/surface/table/woodentable,
/obj/item/toy/dice/d20,
@@ -12415,38 +12330,6 @@
icon_state = "yellowfull"
},
/area/bigredv2/outside/hydroponics)
-"aKK" = (
-/obj/structure/machinery/light{
- dir = 8
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
-"aKL" = (
-/obj/structure/bookcase{
- icon_state = "book-5"
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
-"aKM" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 5
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/carpet,
-/area/bigredv2/outside/library)
-"aKN" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 10
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/carpet,
-/area/bigredv2/outside/library)
"aKO" = (
/obj/structure/bed/chair/wood/normal{
dir = 1
@@ -12600,12 +12483,6 @@
icon_state = "grimy"
},
/area/bigredv2/outside/office_complex)
-"aLh" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "lz1north_mining"
- },
-/turf/closed/wall/solaris/reinforced,
-/area/bigredv2/outside/space_port)
"aLi" = (
/obj/structure/closet/jcloset,
/obj/structure/machinery/camera/autoname{
@@ -12755,10 +12632,6 @@
icon_state = "yellowfull"
},
/area/bigredv2/outside/hydroponics)
-"aLF" = (
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/carpet,
-/area/bigredv2/outside/library)
"aLH" = (
/turf/open/floor/bluegrid{
icon_state = "bcircuitoff"
@@ -13210,12 +13083,6 @@
icon_state = "mars_dirt_13"
},
/area/bigredv2/outside/e)
-"aMS" = (
-/turf/open/floor{
- dir = 10;
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/caves_lambda)
"aMT" = (
/turf/open/floor{
icon_state = "asteroidwarning"
@@ -13703,13 +13570,6 @@
icon_state = "yellowfull"
},
/area/bigredv2/outside/hydroponics)
-"aOi" = (
-/obj/structure/pipes/standard/simple/hidden/green,
-/turf/open/floor/carpet,
-/area/bigredv2/outside/library)
-"aOj" = (
-/turf/open/floor/carpet,
-/area/bigredv2/outside/library)
"aOk" = (
/turf/open/mars{
icon_state = "mars_dirt_11"
@@ -14109,49 +13969,6 @@
icon_state = "yellowfull"
},
/area/bigredv2/outside/hydroponics)
-"aPk" = (
-/obj/structure/bed/chair/wood/normal,
-/turf/open/floor/carpet,
-/area/bigredv2/outside/library)
-"aPl" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 5
- },
-/turf/open/floor/carpet,
-/area/bigredv2/outside/library)
-"aPm" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 10
- },
-/turf/open/floor/carpet,
-/area/bigredv2/outside/library)
-"aPn" = (
-/obj/effect/landmark/crap_item,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
-"aPo" = (
-/obj/structure/surface/table/woodentable,
-/obj/structure/window{
- dir = 8
- },
-/obj/structure/machinery/computer/emails{
- dir = 4
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
-"aPp" = (
-/obj/structure/bed/chair/comfy{
- dir = 8
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"aPq" = (
/obj/structure/machinery/door/airlock/almayer/research/glass/colony{
dir = 1;
@@ -14576,35 +14393,8 @@
},
/turf/open/floor,
/area/bigredv2/outside/hydroponics)
-"aQr" = (
-/obj/structure/bookcase{
- icon_state = "book-5"
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
-"aQs" = (
-/obj/structure/machinery/light,
-/obj/structure/window{
- dir = 4
- },
-/obj/structure/surface/table/woodentable,
-/obj/structure/flora/pottedplant{
- icon_state = "pottedplant_10";
- pixel_y = 11
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"aQt" = (
-/obj/structure/surface/table,
-/obj/structure/window,
-/obj/structure/machinery/computer/emails{
- dir = 8;
- pixel_y = 4
- },
+/obj/structure/pipes/standard/simple/hidden/green,
/turf/open/floor{
icon_state = "wood"
},
@@ -14999,18 +14789,6 @@
icon_state = "delivery"
},
/area/bigredv2/outside/library)
-"aRv" = (
-/turf/open/mars_cave{
- icon_state = "mars_cave_22"
- },
-/area/bigredv2/outside/lambda_cave_cas)
-"aRw" = (
-/obj/effect/landmark/crap_item,
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
-/turf/open/mars_cave{
- icon_state = "mars_cave_6"
- },
-/area/bigredv2/outside/lambda_cave_cas)
"aRx" = (
/obj/structure/machinery/teleport/station,
/turf/open/floor{
@@ -15282,21 +15060,6 @@
icon_state = "asteroidwarning"
},
/area/bigredv2/outside/e)
-"aSj" = (
-/obj/effect/decal/remains/human,
-/obj/structure/blocker/forcefield/multitile_vehicles,
-/turf/open/floor{
- dir = 5;
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/outside/lambda_cave_cas)
-"aSk" = (
-/obj/effect/landmark/structure_spawner/xvx_hive/xeno_door,
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
-/turf/open/mars_cave{
- icon_state = "mars_cave_8"
- },
-/area/bigredv2/outside/lambda_cave_cas)
"aSl" = (
/obj/structure/machinery/light{
dir = 8
@@ -15744,16 +15507,6 @@
icon_state = "asteroidfloor"
},
/area/bigredv2/outside/e)
-"aTo" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 10
- },
-/turf/open/floor{
- dir = 1;
- icon_state = "asteroidfloor"
- },
-/area/bigredv2/outside/e)
"aTp" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor{
@@ -15804,30 +15557,6 @@
icon_state = "asteroidwarning"
},
/area/bigredv2/caves_lambda)
-"aTx" = (
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor{
- dir = 1;
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/outside/lambda_cave_cas)
-"aTy" = (
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor{
- dir = 1;
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/caves_lambda)
-"aTz" = (
-/obj/effect/landmark/structure_spawner/xvx_hive/xeno_door,
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
-/turf/open/floor{
- dir = 1;
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/outside/lambda_cave_cas)
"aTC" = (
/obj/structure/bed,
/obj/item/bedsheet/medical,
@@ -16080,63 +15809,6 @@
icon_state = "mars_dirt_4"
},
/area/bigredv2/outside/e)
-"aUo" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 5
- },
-/turf/open/floor{
- dir = 10;
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/outside/e)
-"aUp" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor{
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/outside/e)
-"aUq" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/pipes/standard/manifold/hidden/green,
-/turf/open/floor{
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/outside/e)
-"aUr" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 4
- },
-/turf/open/floor{
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/outside/e)
-"aUs" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/pipes/standard/manifold/hidden/green{
- dir = 1
- },
-/turf/open/floor{
- dir = 1;
- icon_state = "asteroidfloor"
- },
-/area/bigredv2/outside/e)
-"aUu" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 4
- },
-/obj/structure/machinery/door/poddoor/almayer/closed{
- dir = 4;
- id = "lambda";
- name = "Lambda Lockdown"
- },
-/turf/open/floor{
- icon_state = "delivery"
- },
-/area/bigredv2/outside/lambda_cave_cas)
"aUv" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
@@ -16146,49 +15818,6 @@
icon_state = "asteroidfloor"
},
/area/bigredv2/outside/lambda_cave_cas)
-"aUw" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 4
- },
-/obj/structure/machinery/door/poddoor/almayer/closed{
- dir = 4;
- id = "lambda";
- name = "Lambda Lockdown"
- },
-/turf/open/floor{
- icon_state = "delivery"
- },
-/area/bigredv2/outside/lambda_cave_cas)
-"aUx" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 4
- },
-/obj/structure/blocker/forcefield/multitile_vehicles,
-/turf/open/floor{
- dir = 1;
- icon_state = "asteroidfloor"
- },
-/area/bigredv2/outside/lambda_cave_cas)
-"aUy" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 4
- },
-/turf/open/floor{
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/caves_lambda)
-"aUA" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 4
- },
-/obj/effect/landmark/structure_spawner/xvx_hive/xeno_door,
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
-/turf/open/floor{
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/outside/lambda_cave_cas)
"aUD" = (
/obj/structure/bed,
/obj/item/bedsheet/medical,
@@ -16485,15 +16114,6 @@
icon_state = "asteroidwarning"
},
/area/bigredv2/outside/e)
-"aVw" = (
-/obj/effect/decal/cleanable/blood{
- dir = 4;
- icon_state = "gib6"
- },
-/turf/open/mars_cave{
- icon_state = "mars_cave_8"
- },
-/area/bigredv2/outside/lambda_cave_cas)
"aVx" = (
/obj/structure/curtain/medical,
/obj/structure/machinery/alarm{
@@ -17147,11 +16767,6 @@
"aXr" = (
/turf/open/floor,
/area/bigredv2/outside/office_complex)
-"aXt" = (
-/turf/open/mars_cave{
- icon_state = "mars_dirt_6"
- },
-/area/bigredv2/outside/e)
"aXu" = (
/obj/structure/machinery/computer/med_data,
/turf/open/floor{
@@ -17323,11 +16938,6 @@
icon_state = "asteroidwarning"
},
/area/bigredv2/outside/e)
-"aXX" = (
-/turf/open/mars_cave{
- icon_state = "mars_dirt_5"
- },
-/area/bigredv2/outside/e)
"aXY" = (
/turf/open/floor{
dir = 10;
@@ -17459,16 +17069,6 @@
icon_state = "asteroidfloor"
},
/area/bigredv2/outside/e)
-"aYw" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 4
- },
-/turf/open/floor{
- dir = 1;
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/outside/e)
"aYx" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
@@ -17478,16 +17078,6 @@
icon_state = "asteroidwarning"
},
/area/bigredv2/outside/e)
-"aYy" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 10
- },
-/turf/open/floor{
- dir = 1;
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/outside/e)
"aYA" = (
/obj/structure/closet/l3closet/virology,
/turf/open/floor{
@@ -17801,14 +17391,6 @@
icon_state = "cult"
},
/area/bigredv2/outside/chapel)
-"aZI" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 6
- },
-/turf/open/floor{
- icon_state = "dark"
- },
-/area/bigredv2/outside/chapel)
"aZJ" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor{
@@ -17816,14 +17398,6 @@
icon_state = "darkyellow2"
},
/area/bigredv2/outside/filtration_plant)
-"aZK" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 9
- },
-/turf/open/floor{
- icon_state = "dark"
- },
-/area/bigredv2/outside/chapel)
"aZL" = (
/obj/structure/pipes/standard/simple/hidden/green,
/obj/structure/machinery/door/airlock/almayer/maint/colony{
@@ -18037,16 +17611,6 @@
icon_state = "chapel"
},
/area/bigredv2/outside/chapel)
-"bas" = (
-/obj/structure/bed/chair/wood/normal{
- dir = 8
- },
-/obj/structure/pipes/standard/simple/hidden/green,
-/turf/open/floor{
- dir = 1;
- icon_state = "chapel"
- },
-/area/bigredv2/outside/chapel)
"bat" = (
/turf/open/floor{
dir = 4;
@@ -18191,16 +17755,6 @@
icon_state = "chapel"
},
/area/bigredv2/outside/chapel)
-"baV" = (
-/obj/structure/pipes/standard/simple/hidden/green,
-/obj/structure/bed/chair/wood/normal{
- dir = 8
- },
-/turf/open/floor{
- dir = 8;
- icon_state = "chapel"
- },
-/area/bigredv2/outside/chapel)
"baW" = (
/turf/open/floor{
icon_state = "chapel"
@@ -26712,6 +26266,12 @@
icon_state = "mars_cave_7"
},
/area/bigredv2/outside/lz1_telecomm_cas)
+"bRC" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "reactor_meltdown"
+ },
+/turf/closed/wall/solaris/rock,
+/area/bigredv2/caves)
"bRK" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/surface/rack,
@@ -26885,13 +26445,14 @@
icon_state = "mars_cave_2"
},
/area/bigredv2/caves/mining)
-"ceF" = (
-/obj/structure/surface/table/woodentable,
-/obj/effect/landmark/objective_landmark/close,
-/turf/open/floor{
- icon_state = "wood"
+"ceA" = (
+/obj/structure/machinery/light{
+ dir = 4
},
-/area/bigredv2/outside/library)
+/turf/open/mars_cave{
+ icon_state = "mars_dirt_4"
+ },
+/area/bigredv2/outside/e)
"cfr" = (
/obj/item/explosive/grenade/baton{
dir = 8
@@ -27033,6 +26594,16 @@
icon_state = "mars_cave_2"
},
/area/bigredv2/caves/mining)
+"crd" = (
+/obj/structure/bed/chair/wood/normal{
+ dir = 8
+ },
+/obj/structure/pipes/standard/simple/hidden/green,
+/turf/open/floor{
+ dir = 4;
+ icon_state = "chapel"
+ },
+/area/bigredv2/outside/chapel)
"crl" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
@@ -27053,6 +26624,14 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
+"cry" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/handcuffs,
+/turf/open/floor{
+ dir = 9;
+ icon_state = "redfull"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"crQ" = (
/turf/open/mars_cave{
icon_state = "mars_cave_18"
@@ -27095,6 +26674,12 @@
icon_state = "darkyellow2"
},
/area/bigredv2/outside/engineering)
+"cuG" = (
+/obj/structure/pipes/standard/simple/hidden/green,
+/turf/open/floor{
+ icon_state = "dark"
+ },
+/area/bigredv2/outside/chapel)
"cvi" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/tunnel{
@@ -27195,19 +26780,6 @@
icon_state = "red"
},
/area/bigredv2/outside/marshal_office)
-"cGv" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "containerroom_xenos"
- },
-/turf/closed/wall/solaris/reinforced,
-/area/bigredv2/outside/nw/ceiling)
-"cGQ" = (
-/obj/structure/blocker/forcefield/multitile_vehicles,
-/turf/open/floor{
- dir = 6;
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/caves)
"cGT" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/power/apc{
@@ -27262,14 +26834,6 @@
icon_state = "wood"
},
/area/bigredv2/outside/dorms)
-"cIq" = (
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/mars_cave{
- icon_state = "mars_cave_23"
- },
-/area/bigredv2/outside/lambda_cave_cas)
"cIP" = (
/obj/item/paper/bigred/smuggling,
/turf/open/floor,
@@ -27291,6 +26855,9 @@
icon_state = "delivery"
},
/area/bigredv2/outside/admin_building)
+"cJd" = (
+/turf/open/space/basic,
+/area/space)
"cJh" = (
/obj/structure/bed/chair{
dir = 8;
@@ -27368,6 +26935,12 @@
/obj/structure/sign/poster/clf,
/turf/closed/wall/solaris/reinforced,
/area/bigredv2/caves/mining)
+"cOu" = (
+/obj/structure/machinery/vending/coffee,
+/turf/open/floor{
+ icon_state = "yellowfull"
+ },
+/area/bigredv2/outside/hydroponics)
"cOJ" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
@@ -27570,6 +27143,15 @@
icon_state = "podhatchfloor"
},
/area/bigredv2/outside/admin_building)
+"djo" = (
+/obj/structure/surface/table/reinforced,
+/obj/structure/machinery/recharger,
+/obj/structure/blocker/forcefield/multitile_vehicles,
+/turf/open/floor{
+ dir = 9;
+ icon_state = "redfull"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"dka" = (
/obj/effect/landmark/crap_item,
/turf/open/mars_cave{
@@ -27626,6 +27208,21 @@
icon_state = "mars_dirt_4"
},
/area/bigredv2/caves/mining)
+"drx" = (
+/obj/structure/filingcabinet{
+ density = 0;
+ pixel_x = 8;
+ pixel_y = 16
+ },
+/obj/structure/filingcabinet{
+ density = 0;
+ pixel_x = -8;
+ pixel_y = 18
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"drT" = (
/obj/structure/disposalpipe/broken{
dir = 4
@@ -27689,6 +27286,10 @@
},
/turf/open/gm/river,
/area/bigredv2/outside/engineering)
+"dvz" = (
+/obj/structure/blocker/forcefield/multitile_vehicles,
+/turf/closed/wall/solaris/reinforced,
+/area/bigredv2/outside/lambda_cave_cas)
"dvB" = (
/obj/item/ore/coal{
pixel_x = 9;
@@ -27760,6 +27361,14 @@
icon_state = "asteroidwarning"
},
/area/bigredv2/outside/c)
+"dAd" = (
+/obj/structure/surface/table/reinforced,
+/obj/structure/machinery/recharger,
+/turf/open/floor{
+ dir = 9;
+ icon_state = "redfull"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"dAi" = (
/obj/effect/landmark/objective_landmark/close,
/turf/open/floor/plating,
@@ -27869,6 +27478,13 @@
icon_state = "mars_dirt_4"
},
/area/bigredv2/caves/mining)
+"dFL" = (
+/obj/effect/landmark/corpsespawner/security,
+/obj/effect/decal/cleanable/blood{
+ layer = 3
+ },
+/turf/open/floor,
+/area/bigredv2/outside/lambda_cave_cas)
"dFR" = (
/obj/item/stack/sheet/wood{
pixel_y = -8
@@ -27927,6 +27543,14 @@
/obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot,
/turf/open/floor,
/area/bigredv2/outside/dorms)
+"dJr" = (
+/obj/effect/landmark/structure_spawner/xvx_hive/xeno_wall,
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall,
+/turf/open/floor{
+ dir = 5;
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/caves_lambda)
"dJM" = (
/obj/structure/surface/rack,
/obj/item/storage/pouch/shotgun,
@@ -27936,6 +27560,12 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
+"dKk" = (
+/turf/open/floor{
+ dir = 8;
+ icon_state = "redcorner"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"dKo" = (
/obj/item/ore/iron{
pixel_x = 6;
@@ -27955,11 +27585,20 @@
icon_state = "mars_cave_5"
},
/area/bigredv2/caves_lambda)
-"dLe" = (
-/turf/open/mars_cave{
- icon_state = "mars_cave_5"
+"dLS" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/flora/pottedplant{
+ icon_state = "pottedplant_17";
+ pixel_x = 7;
+ pixel_y = 14
},
-/area/bigredv2/outside/lambda_cave_cas)
+/obj/structure/window{
+ dir = 8
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"dNd" = (
/obj/item/stack/cable_coil/cut,
/turf/open/mars_cave{
@@ -27984,6 +27623,10 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
+"dNX" = (
+/obj/effect/landmark/crap_item,
+/turf/open/floor/carpet,
+/area/bigredv2/outside/library)
"dOu" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
@@ -28053,6 +27696,14 @@
icon_state = "darkyellow2"
},
/area/bigredv2/outside/filtration_plant)
+"dRc" = (
+/obj/structure/machinery/door/airlock/almayer/security/glass/colony{
+ name = "\improper Lambda Checkpoint"
+ },
+/turf/open/floor{
+ icon_state = "delivery"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"dSg" = (
/obj/effect/landmark/crap_item,
/obj/effect/decal/cleanable/dirt,
@@ -28067,6 +27718,9 @@
icon_state = "mars_cave_9"
},
/area/bigredv2/caves_north)
+"dTB" = (
+/turf/closed/wall/solaris/reinforced,
+/area/bigredv2/outside/lambda_cave_cas)
"dUj" = (
/obj/effect/decal/cleanable/blood/drip{
pixel_x = -8;
@@ -28166,6 +27820,14 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
+"eaZ" = (
+/obj/structure/machinery/light{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "yellowfull"
+ },
+/area/bigredv2/outside/hydroponics)
"ebr" = (
/obj/structure/pipes/standard/simple/hidden/green,
/turf/open/floor{
@@ -28213,6 +27875,20 @@
icon_state = "asteroidfloor"
},
/area/bigred/ground/garage_workshop)
+"eeI" = (
+/obj/structure/machinery/light,
+/obj/structure/window{
+ dir = 4
+ },
+/obj/structure/surface/table/woodentable,
+/obj/structure/flora/pottedplant{
+ icon_state = "pottedplant_10";
+ pixel_y = 11
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"efK" = (
/obj/structure/machinery/computer/crew{
density = 0;
@@ -28244,12 +27920,14 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/bigredv2/caves/mining)
-"eiR" = (
-/obj/structure/window,
-/turf/open/floor{
- icon_state = "wood"
+"ejp" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "filtration_restored"
},
-/area/bigredv2/outside/library)
+/turf/open/mars_cave{
+ icon_state = "mars_cave_2"
+ },
+/area/bigredv2/outside/s)
"eju" = (
/obj/item/ore{
pixel_x = 9;
@@ -28362,12 +28040,6 @@
icon_state = "delivery"
},
/area/bigredv2/outside/dorms)
-"ers" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "etatunnel_open"
- },
-/turf/closed/wall/solaris/rock,
-/area/bigredv2/caves)
"erA" = (
/obj/item/ore,
/turf/open/mars_cave{
@@ -28394,6 +28066,15 @@
icon_state = "mars_cave_20"
},
/area/bigredv2/caves/mining)
+"esS" = (
+/obj/structure/machinery/light{
+ dir = 4
+ },
+/obj/structure/window,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"eup" = (
/obj/structure/bed/chair,
/obj/item/trash/cigbutt,
@@ -28474,6 +28155,14 @@
icon_state = "mars_dirt_4"
},
/area/bigredv2/caves/mining)
+"eBL" = (
+/obj/structure/bookcase{
+ icon_state = "book-5"
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"eDQ" = (
/obj/structure/closet/secure_closet/engineering_personal,
/obj/effect/landmark/objective_landmark/medium,
@@ -28541,14 +28230,6 @@
icon_state = "mars_cave_2"
},
/area/bigredv2/caves_sw)
-"eGv" = (
-/obj/structure/window,
-/obj/structure/surface/table/woodentable,
-/obj/item/newspaper,
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"eGM" = (
/turf/open/floor{
icon_state = "darkyellowcorners2"
@@ -28604,6 +28285,16 @@
icon_state = "darkyellow2"
},
/area/bigredv2/outside/filtration_plant)
+"eKZ" = (
+/obj/structure/surface/table/reinforced,
+/obj/structure/machinery/computer/cameras/wooden_tv{
+ dir = 4
+ },
+/turf/open/floor{
+ dir = 9;
+ icon_state = "redfull"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"eLp" = (
/obj/structure/closet/secure_closet/brig,
/obj/effect/landmark/objective_landmark/medium,
@@ -28715,12 +28406,6 @@
},
/turf/open/floor/plating,
/area/bigredv2/caves/mining)
-"eUT" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "viro-rock_open"
- },
-/turf/closed/wall/solaris/reinforced,
-/area/bigredv2/outside/virology)
"eVo" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/weapon/gun/pistol/m4a3,
@@ -28811,6 +28496,15 @@
icon_state = "darkyellow2"
},
/area/bigredv2/outside/engineering)
+"eYA" = (
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 10
+ },
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/outside/e)
"eYH" = (
/obj/structure/machinery/camera/autoname{
dir = 4
@@ -28984,16 +28678,6 @@
icon_state = "mars_cave_22"
},
/area/bigredv2/caves_east)
-"foT" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor{
- dir = 1;
- icon_state = "asteroidfloor"
- },
-/area/bigredv2/outside/e)
"fpa" = (
/obj/effect/decal/cleanable/blood/drip{
pixel_x = -8;
@@ -29120,6 +28804,16 @@
icon_state = "whitepurplecorner"
},
/area/bigredv2/outside/medical)
+"fyZ" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/device/camera,
+/obj/structure/machinery/light/small,
+/obj/structure/blocker/forcefield/multitile_vehicles,
+/turf/open/floor{
+ dir = 9;
+ icon_state = "redfull"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"fBc" = (
/obj/structure/pipes/standard/tank/phoron,
/turf/open/floor/plating,
@@ -29207,6 +28901,14 @@
icon_state = "asteroidwarning"
},
/area/bigredv2/outside/eta)
+"fJW" = (
+/obj/structure/window,
+/obj/structure/surface/table/woodentable,
+/obj/item/newspaper,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"fKO" = (
/obj/structure/barricade/wooden{
desc = "This barricade is heavily reinforced. Nothing short of blasting it open seems like it'll do the trick, that or melting the breams supporting it...";
@@ -29227,15 +28929,6 @@
icon_state = "darkyellowcorners2"
},
/area/bigredv2/caves/eta/living)
-"fKY" = (
-/obj/structure/window,
-/obj/structure/window{
- dir = 8
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"fLj" = (
/turf/open/mars_cave{
icon_state = "mars_cave_6"
@@ -29448,6 +29141,18 @@
icon_state = "grass_impenetrable"
},
/area/bigredv2/caves/eta/xenobiology)
+"fWY" = (
+/obj/structure/window,
+/obj/structure/window{
+ dir = 8
+ },
+/obj/structure/surface/table/woodentable,
+/obj/effect/landmark/objective_landmark/close,
+/obj/item/prop/magazine/book/starshiptroopers,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"fXm" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -29574,14 +29279,6 @@
icon_state = "whitepurple"
},
/area/bigredv2/caves/lambda/research)
-"ghh" = (
-/obj/structure/bed/chair/wood/normal{
- dir = 4
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"gio" = (
/turf/open/mars_cave,
/area/bigredv2/outside/filtration_cave_cas)
@@ -29696,6 +29393,12 @@
/obj/structure/machinery/light,
/turf/open/floor,
/area/bigred/ground/garage_workshop)
+"gri" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "containerroom_xenos"
+ },
+/turf/closed/wall/solaris/reinforced,
+/area/bigredv2/outside/nw/ceiling)
"grU" = (
/obj/structure/machinery/door/poddoor/almayer/closed{
dir = 4;
@@ -29815,6 +29518,12 @@
},
/turf/open/floor,
/area/bigredv2/outside/hydroponics)
+"gAK" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "chapel_cult"
+ },
+/turf/closed/wall/solaris,
+/area/bigredv2/outside/chapel)
"gAX" = (
/obj/structure/pipes/standard/manifold/hidden/green{
dir = 8
@@ -29857,6 +29566,13 @@
icon_state = "mars_cave_2"
},
/area/bigredv2/caves_east)
+"gEM" = (
+/obj/structure/machinery/vending/security,
+/obj/structure/blocker/forcefield/multitile_vehicles,
+/turf/open/floor{
+ icon_state = "red"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"gFR" = (
/obj/structure/machinery/power/port_gen/pacman,
/turf/open/floor{
@@ -29884,6 +29600,16 @@
icon_state = "darkyellow2"
},
/area/bigredv2/outside/engineering)
+"gIT" = (
+/obj/structure/machinery/door/poddoor/almayer/closed{
+ dir = 4;
+ id = "lambda-interior";
+ name = "Lambda Checkpoint Interior"
+ },
+/turf/open/floor{
+ icon_state = "delivery"
+ },
+/area/bigredv2/caves_north)
"gJw" = (
/obj/structure/blocker/forcefield/multitile_vehicles,
/turf/open/mars_cave,
@@ -29934,16 +29660,6 @@
icon_state = "mars_cave_2"
},
/area/bigredv2/caves_research)
-"gPb" = (
-/obj/structure/filingcabinet{
- density = 0;
- pixel_x = 8;
- pixel_y = 3
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"gPc" = (
/turf/open/floor{
dir = 4;
@@ -30034,6 +29750,12 @@
icon_state = "darkblue2"
},
/area/bigredv2/caves/eta/research)
+"gWv" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "eta_carp"
+ },
+/turf/closed/wall/solaris/reinforced,
+/area/bigredv2/caves/eta/xenobiology)
"gWD" = (
/turf/closed/wall/solaris,
/area/bigredv2/outside/space_port_lz2)
@@ -30135,6 +29857,15 @@
icon_state = "darkyellow2"
},
/area/bigredv2/outside/engineering)
+"heD" = (
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"heG" = (
/obj/structure/bed/chair{
can_buckle = 0;
@@ -30174,6 +29905,15 @@
icon_state = "mars_dirt_7"
},
/area/bigredv2/outside/lz1_north_cas)
+"hho" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/bed/chair/wood/normal{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"hhK" = (
/turf/open/floor{
dir = 1;
@@ -30422,6 +30162,13 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
+"hFg" = (
+/obj/effect/landmark/crap_item,
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
+/turf/open/mars_cave{
+ icon_state = "mars_cave_6"
+ },
+/area/bigredv2/caves_lambda)
"hFv" = (
/obj/structure/platform{
dir = 4
@@ -30500,6 +30247,15 @@
icon_state = "mars_cave_17"
},
/area/bigredv2/caves_north)
+"hKO" = (
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor{
+ dir = 10;
+ icon_state = "red"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"hLp" = (
/obj/effect/landmark/corpsespawner/ua_riot,
/turf/open/mars_cave,
@@ -30522,6 +30278,13 @@
icon_state = "dark"
},
/area/bigredv2/caves/eta/research)
+"hNW" = (
+/obj/structure/machinery/light,
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidfloor"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"hOx" = (
/obj/structure/machinery/portable_atmospherics/powered/scrubber/huge/stationary,
/turf/open/floor{
@@ -30557,12 +30320,6 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
-"hSs" = (
-/obj/structure/machinery/light,
-/turf/open/mars_cave{
- icon_state = "mars_cave_8"
- },
-/area/bigredv2/outside/lambda_cave_cas)
"hSP" = (
/obj/structure/machinery/vending/cigarette/colony,
/turf/open/mars_cave{
@@ -30665,6 +30422,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/bigredv2/caves/mining)
+"iaS" = (
+/obj/structure/bed/chair/comfy{
+ dir = 8
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"iaX" = (
/obj/item/weapon/twohanded/folded_metal_chair,
/obj/effect/landmark/corpsespawner/colonist/random/burst,
@@ -30915,6 +30680,15 @@
/obj/effect/spawner/random/technology_scanner,
/turf/open/floor/plating,
/area/bigredv2/outside/filtration_plant)
+"irZ" = (
+/obj/structure/machinery/light{
+ dir = 4
+ },
+/turf/open/floor{
+ dir = 6;
+ icon_state = "red"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"itL" = (
/obj/structure/closet/l3closet/virology,
/obj/effect/landmark/objective_landmark/science,
@@ -30944,23 +30718,6 @@
icon_state = "mars_dirt_6"
},
/area/bigredv2/caves/mining)
-"ixN" = (
-/obj/structure/machinery/camera/autoname{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
-"ixR" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/blocker/forcefield/multitile_vehicles,
-/turf/open/floor{
- dir = 1;
- icon_state = "asteroidfloor"
- },
-/area/bigredv2/outside/lambda_cave_cas)
"iyY" = (
/turf/open/mars_cave{
icon_state = "mars_cave_13"
@@ -31070,6 +30827,10 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
+"iEm" = (
+/obj/structure/bed/chair/wood/normal,
+/turf/open/floor/carpet,
+/area/bigredv2/outside/library)
"iFa" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/bananapeel,
@@ -31078,6 +30839,16 @@
icon_state = "darkyellow2"
},
/area/bigredv2/outside/engineering)
+"iFz" = (
+/obj/structure/machinery/door/poddoor/almayer/closed{
+ dir = 4;
+ id = "lambda-interior";
+ name = "Lambda Checkpoint Interior"
+ },
+/turf/open/floor{
+ icon_state = "delivery"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"iGK" = (
/turf/open/mars_cave,
/area/bigredv2/caves_sw)
@@ -31094,12 +30865,6 @@
icon_state = "asteroidwarning"
},
/area/bigredv2/outside/space_port_lz2)
-"iIp" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "chapel_cult"
- },
-/turf/closed/wall/solaris,
-/area/bigredv2/outside/chapel)
"iJF" = (
/obj/effect/decal/cleanable/blood{
icon_state = "gib6";
@@ -31288,12 +31053,6 @@
icon_state = "dark"
},
/area/bigredv2/outside/admin_building)
-"iZi" = (
-/obj/structure/machinery/light,
-/turf/open/floor{
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/outside/lambda_cave_cas)
"iZA" = (
/obj/structure/surface/rack,
/turf/open/floor,
@@ -31319,12 +31078,6 @@
icon_state = "mars_cave_13"
},
/area/bigredv2/caves/mining)
-"jcn" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "tcomms_open"
- },
-/turf/closed/wall/solaris/rock,
-/area/bigredv2/caves)
"jcR" = (
/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
/turf/open/mars_cave{
@@ -31468,15 +31221,6 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
-"joa" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 5
- },
-/obj/effect/landmark/nightmare{
- insert_tag = "dorms_party"
- },
-/turf/open/floor,
-/area/bigredv2/outside/dorms)
"jph" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
@@ -31539,12 +31283,24 @@
icon_state = "podhatch"
},
/area/bigredv2/caves/lambda/research)
-"jvP" = (
-/obj/structure/pipes/standard/simple/hidden/green,
+"juZ" = (
+/obj/structure/machinery/light{
+ dir = 1
+ },
/turf/open/floor{
- icon_state = "wood"
+ dir = 1;
+ icon_state = "asteroidwarning"
},
-/area/bigredv2/outside/library)
+/area/bigredv2/outside/lambda_cave_cas)
+"jvW" = (
+/obj/structure/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor{
+ dir = 6;
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/caves_lambda)
"jwj" = (
/obj/structure/platform/shiva{
dir = 8
@@ -31614,13 +31370,6 @@
icon_state = "mars_cave_17"
},
/area/bigredv2/caves_lambda)
-"jBo" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/surface/table/woodentable,
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"jBq" = (
/obj/structure/blocker/forcefield/multitile_vehicles,
/turf/open/floor{
@@ -31757,6 +31506,15 @@
icon_state = "mars_cave_13"
},
/area/bigredv2/caves_north)
+"jKp" = (
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/turf/open/floor{
+ dir = 1;
+ icon_state = "red"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"jKI" = (
/obj/structure/platform_decoration/shiva{
dir = 8
@@ -31796,6 +31554,13 @@
icon_state = "freezerfloor"
},
/area/bigredv2/outside/general_offices)
+"jNN" = (
+/obj/structure/bed/chair/wood/normal,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"jOc" = (
/obj/structure/machinery/door/poddoor/almayer/closed{
dir = 4;
@@ -31946,6 +31711,20 @@
icon_state = "delivery"
},
/area/bigredv2/outside/cargo)
+"jUJ" = (
+/obj/structure/machinery/light,
+/obj/structure/surface/table/woodentable,
+/obj/structure/window{
+ dir = 8
+ },
+/obj/structure/machinery/door_control{
+ id = "Library";
+ name = "Storm Shutters"
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"jUM" = (
/obj/structure/surface/table/woodentable,
/obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot,
@@ -32197,15 +31976,6 @@
icon_state = "dark"
},
/area/bigredv2/caves/eta/research)
-"kgl" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"kgn" = (
/obj/item/paper/bigred/crazy,
/turf/open/floor/plating{
@@ -32377,6 +32147,14 @@
icon_state = "mars_cave_14"
},
/area/bigredv2/outside/ne)
+"kqO" = (
+/obj/effect/landmark/structure_spawner/xvx_hive/xeno_wall,
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall,
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidfloor"
+ },
+/area/bigredv2/caves_lambda)
"kqS" = (
/turf/open/floor{
icon_state = "wood"
@@ -32456,20 +32234,6 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
-"kwh" = (
-/obj/structure/surface/table/woodentable,
-/obj/item/paper_bin/wy{
- pixel_x = 7;
- pixel_y = 8
- },
-/obj/item/paper_bin/wy{
- pixel_x = -4;
- pixel_y = 8
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"kwq" = (
/obj/structure/machinery/light{
dir = 8
@@ -32494,6 +32258,15 @@
icon_state = "darkredcorners2"
},
/area/bigredv2/caves/eta/xenobiology)
+"kxr" = (
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 5
+ },
+/obj/effect/landmark/nightmare{
+ insert_tag = "dorms_party"
+ },
+/turf/open/floor,
+/area/bigredv2/outside/dorms)
"kyz" = (
/obj/structure/transmitter/colony_net{
dir = 4;
@@ -32510,6 +32283,13 @@
icon_state = "mars_cave_2"
},
/area/bigredv2/outside/ne)
+"kAj" = (
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 5
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/carpet,
+/area/bigredv2/outside/library)
"kAs" = (
/obj/structure/platform_decoration{
dir = 8
@@ -32555,21 +32335,6 @@
icon_state = "red"
},
/area/bigredv2/outside/marshal_office)
-"kDb" = (
-/obj/structure/filingcabinet{
- density = 0;
- pixel_x = 8;
- pixel_y = 16
- },
-/obj/structure/filingcabinet{
- density = 0;
- pixel_x = -8;
- pixel_y = 18
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"kDs" = (
/obj/structure/surface/table,
/obj/item/reagent_container/food/drinks/cans/waterbottle{
@@ -32663,13 +32428,6 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
-"kMA" = (
-/obj/structure/bed/chair/wood/normal,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"kMJ" = (
/obj/structure/prop/invuln/minecart_tracks{
desc = "A heavy duty power cable for high voltage applications";
@@ -32696,14 +32454,6 @@
icon_state = "dark"
},
/area/bigredv2/outside/engineering)
-"kNP" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 9
- },
-/turf/open/floor{
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/caves_lambda)
"kOv" = (
/obj/structure/largecrate/random,
/turf/open/floor{
@@ -32781,6 +32531,17 @@
/obj/effect/decal/cleanable/blood,
/turf/open/floor,
/area/bigredv2/outside/filtration_cave_cas)
+"kUW" = (
+/obj/effect/landmark/structure_spawner/xvx_hive/xeno_wall,
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall,
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor{
+ dir = 4;
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/caves_lambda)
"kVR" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 5
@@ -32833,14 +32594,20 @@
icon_state = "whitegreen"
},
/area/bigredv2/outside/medical)
-"kYd" = (
-/turf/closed/wall/solaris/reinforced/hull,
-/area/bigredv2/outside/e)
"kZG" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/storage/bible/hefa,
/turf/open/floor/plating,
/area/bigredv2/caves/mining)
+"kZI" = (
+/obj/structure/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor{
+ dir = 10;
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/caves_lambda)
"laj" = (
/obj/structure/tunnel{
id = "hole5"
@@ -32935,15 +32702,6 @@
icon_state = "floor1"
},
/area/bigredv2/oob)
-"llZ" = (
-/obj/structure/machinery/light{
- dir = 4
- },
-/obj/structure/window,
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"lmg" = (
/obj/structure/bed/chair/office/light{
dir = 4
@@ -32963,6 +32721,21 @@
icon_state = "asteroidwarning"
},
/area/bigredv2/outside/eta)
+"lmO" = (
+/obj/structure/surface/table/woodentable,
+/obj/item/newspaper{
+ pixel_x = -7
+ },
+/obj/item/prop/magazine/book/theartofwar{
+ pixel_x = 11
+ },
+/obj/item/tool/pen{
+ pixel_x = -7
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"lom" = (
/obj/effect/landmark/corpsespawner/miner,
/obj/effect/decal/cleanable/blood{
@@ -33022,13 +32795,6 @@
icon_state = "mars_cave_2"
},
/area/bigredv2/caves/mining)
-"lsk" = (
-/obj/structure/surface/table/woodentable,
-/obj/item/newspaper,
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"lsq" = (
/obj/item/device/flashlight/lantern,
/turf/open/mars_cave{
@@ -33142,6 +32908,18 @@
/obj/structure/surface/table/woodentable/fancy,
/turf/open/floor/wood,
/area/bigredv2/caves/lambda/breakroom)
+"lAR" = (
+/obj/structure/surface/table/reinforced,
+/obj/structure/machinery/door_control{
+ id = "lambda-interior";
+ name = "Lambda Checkpoint Interior";
+ pixel_x = null
+ },
+/turf/open/floor{
+ dir = 9;
+ icon_state = "redfull"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"lBc" = (
/turf/closed/wall/solaris/reinforced,
/area/bigredv2/outside/c)
@@ -33215,12 +32993,12 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
-"lEP" = (
-/obj/structure/surface/table/woodentable,
-/turf/open/floor{
- icon_state = "wood"
+"lFR" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "viro_open"
},
-/area/bigredv2/outside/library)
+/turf/closed/wall/solaris/rock,
+/area/bigredv2/caves)
"lGt" = (
/turf/open/floor{
icon_state = "delivery"
@@ -33262,6 +33040,11 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
+"lLe" = (
+/turf/open/mars_cave{
+ icon_state = "mars_cave_18"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"lLf" = (
/obj/structure/largecrate/random/case,
/turf/open/floor/plating{
@@ -33269,12 +33052,6 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
-"lMt" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "cargo_containers"
- },
-/turf/closed/wall/solaris,
-/area/bigredv2/outside/cargo)
"lMw" = (
/obj/structure/machinery/sensortower{
pixel_x = -9
@@ -33284,12 +33061,6 @@
icon_state = "asteroidfloor"
},
/area/bigredv2/caves_lambda)
-"lMB" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "lz1cave_flank"
- },
-/turf/closed/wall/solaris/reinforced,
-/area/bigredv2/outside/space_port)
"lMC" = (
/obj/structure/machinery/light{
dir = 4
@@ -33316,6 +33087,12 @@
icon_state = "mars_cave_20"
},
/area/bigredv2/outside/n)
+"lOY" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "etatunnel_open"
+ },
+/turf/closed/wall/solaris/rock,
+/area/bigredv2/caves)
"lPg" = (
/turf/closed/wall/solaris,
/area/bigredv2/outside/n)
@@ -33404,6 +33181,17 @@
icon_state = "darkyellow2"
},
/area/bigredv2/outside/filtration_plant)
+"lTC" = (
+/obj/structure/machinery/light{
+ dir = 4
+ },
+/obj/structure/machinery/power/apc{
+ dir = 1
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"lTM" = (
/obj/item/folder/yellow,
/turf/open/floor{
@@ -33490,6 +33278,12 @@
icon_state = "mars_cave_23"
},
/area/bigredv2/caves/mining)
+"maB" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "viro-rock_open"
+ },
+/turf/closed/wall/solaris/reinforced,
+/area/bigredv2/outside/virology)
"maD" = (
/turf/open/floor/almayer{
icon_state = "test_floor4"
@@ -33645,6 +33439,13 @@
icon_state = "asteroidfloor"
},
/area/bigredv2/outside/ne)
+"moe" = (
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 10
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/carpet,
+/area/bigredv2/outside/library)
"moE" = (
/turf/open/mars_cave{
icon_state = "mars_cave_9"
@@ -33879,6 +33680,13 @@
icon_state = "mars_dirt_7"
},
/area/bigredv2/outside/filtration_plant)
+"mIs" = (
+/obj/structure/pipes/standard/simple/hidden/green,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"mIu" = (
/obj/structure/machinery/light{
dir = 4
@@ -33896,6 +33704,14 @@
icon_state = "asteroidwarning"
},
/area/bigredv2/outside/filtration_plant)
+"mKi" = (
+/obj/structure/flora/pottedplant{
+ icon_state = "pottedplant_10"
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"mKM" = (
/obj/effect/decal/cleanable/blood/drip{
pixel_y = 6
@@ -33907,6 +33723,14 @@
icon_state = "mars_dirt_11"
},
/area/bigredv2/outside/space_port_lz2)
+"mNT" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/pipes/standard/manifold/hidden/green,
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidfloor"
+ },
+/area/bigredv2/outside/e)
"mOc" = (
/obj/structure/machinery/door/airlock/almayer/maint/colony{
dir = 1;
@@ -33930,14 +33754,6 @@
icon_state = "mars_cave_2"
},
/area/bigredv2/caves/mining)
-"mPo" = (
-/obj/structure/flora/pottedplant{
- icon_state = "pottedplant_10"
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"mPC" = (
/obj/structure/blocker/forcefield/multitile_vehicles,
/obj/structure/fence,
@@ -33997,6 +33813,17 @@
icon_state = "darkred2"
},
/area/bigredv2/outside/admin_building)
+"mUb" = (
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 9
+ },
+/obj/structure/bed/chair/comfy{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"mUy" = (
/turf/open/mars_cave{
icon_state = "mars_cave_7"
@@ -34027,6 +33854,16 @@
icon_state = "mars_dirt_6"
},
/area/bigredv2/caves/mining)
+"mYV" = (
+/obj/structure/machinery/power/apc{
+ dir = 1;
+ start_charge = 0
+ },
+/turf/open/floor{
+ dir = 1;
+ icon_state = "red"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"mYW" = (
/obj/structure/prop/invuln/minecart_tracks{
desc = "A heavy duty power cable for high voltage applications";
@@ -34086,13 +33923,6 @@
icon_state = "mars_dirt_4"
},
/area/bigredv2/caves/mining)
-"ncT" = (
-/obj/structure/pipes/standard/simple/hidden/green,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"ndw" = (
/turf/open/floor{
dir = 4;
@@ -34114,12 +33944,27 @@
icon_state = "asteroidwarning"
},
/area/bigredv2/outside/filtration_cave_cas)
+"nfY" = (
+/turf/open/floor{
+ dir = 4;
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/caves_east)
"ngJ" = (
/obj/item/stack/cable_coil/cut,
/turf/open/mars_cave{
icon_state = "mars_dirt_6"
},
/area/bigredv2/caves/mining)
+"nhF" = (
+/obj/structure/machinery/camera/autoname{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"niQ" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 6
@@ -34139,6 +33984,20 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor,
/area/bigredv2/outside/admin_building)
+"nkE" = (
+/obj/structure/surface/table/woodentable,
+/obj/item/paper_bin/wy{
+ pixel_x = 7;
+ pixel_y = 8
+ },
+/obj/item/paper_bin/wy{
+ pixel_x = -4;
+ pixel_y = 8
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"nkQ" = (
/turf/open/mars_cave{
icon_state = "mars_cave_23"
@@ -34200,6 +34059,18 @@
icon_state = "mars_dirt_5"
},
/area/bigredv2/outside/n)
+"nnA" = (
+/obj/structure/surface/table/woodentable,
+/obj/structure/window{
+ dir = 8
+ },
+/obj/structure/machinery/computer/emails{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"nnK" = (
/obj/structure/pipes/standard/simple/hidden/green,
/turf/open/floor{
@@ -34261,6 +34132,13 @@
icon_state = "mars_cave_6"
},
/area/bigredv2/outside/filtration_cave_cas)
+"nrA" = (
+/obj/effect/landmark/objective_landmark/close,
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidfloor"
+ },
+/area/bigredv2/outside/ne)
"ntX" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor{
@@ -34315,6 +34193,13 @@
icon_state = "darkyellow2"
},
/area/bigredv2/outside/engineering)
+"nuQ" = (
+/obj/structure/surface/table/woodentable,
+/obj/effect/landmark/objective_landmark/close,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"nvn" = (
/obj/structure/machinery/portable_atmospherics/powered/scrubber/huge/stationary{
density = 0;
@@ -34366,15 +34251,6 @@
icon_state = "darkyellow2"
},
/area/bigredv2/outside/engineering)
-"nAA" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/bed/chair/wood/normal{
- dir = 4
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"nBb" = (
/obj/item/ammo_magazine/pistol/b92fs,
/obj/item/weapon/gun/pistol/b92fs{
@@ -34436,6 +34312,15 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
+"nFp" = (
+/obj/structure/window,
+/obj/structure/window{
+ dir = 8
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"nFB" = (
/obj/item/weapon/gun/rifle/m16,
/obj/item/ammo_magazine/rifle/m16,
@@ -34458,12 +34343,6 @@
icon_state = "mars_cave_17"
},
/area/bigredv2/outside/filtration_cave_cas)
-"nGt" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "admin_pmc"
- },
-/turf/closed/wall/solaris/reinforced,
-/area/bigredv2/outside/admin_building)
"nHQ" = (
/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
/obj/structure/machinery/door/poddoor/almayer/closed{
@@ -34484,6 +34363,14 @@
icon_state = "test_floor4"
},
/area/bigredv2/outside/engineering)
+"nIS" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/storage/donut_box,
+/turf/open/floor{
+ dir = 9;
+ icon_state = "redfull"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"nKL" = (
/obj/structure/prop/invuln/minecart_tracks{
desc = "An exchange valve";
@@ -34603,11 +34490,6 @@
icon_state = "dark"
},
/area/bigredv2/outside/engineering)
-"nVw" = (
-/turf/open/mars_cave{
- icon_state = "mars_cave_23"
- },
-/area/bigredv2/outside/lambda_cave_cas)
"nVx" = (
/turf/open/floor{
dir = 4;
@@ -34664,6 +34546,12 @@
/obj/item/tool/warning_cone,
/turf/open/mars,
/area/bigredv2/outside/s)
+"nZd" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "lz1cave_flank"
+ },
+/turf/closed/wall/solaris/reinforced,
+/area/bigredv2/outside/space_port)
"nZB" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor{
@@ -34742,6 +34630,13 @@
icon_state = "dark"
},
/area/bigredv2/caves/lambda/breakroom)
+"oes" = (
+/obj/structure/surface/table/woodentable,
+/obj/item/newspaper,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"ofn" = (
/obj/effect/decal/cleanable/dirt,
/turf/closed/wall/solaris,
@@ -35117,6 +35012,12 @@
icon_state = "darkred2"
},
/area/bigredv2/outside/admin_building)
+"oHn" = (
+/obj/structure/bed/chair{
+ dir = 4
+ },
+/turf/open/floor,
+/area/bigredv2/outside/lambda_cave_cas)
"oIc" = (
/obj/effect/decal/cleanable/blood{
base_icon = 'icons/obj/items/weapons/grenade.dmi';
@@ -35153,6 +35054,16 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
+"oJv" = (
+/obj/structure/surface/table/reinforced,
+/obj/structure/machinery/computer/cameras/wooden_tv{
+ dir = 8
+ },
+/turf/open/floor{
+ dir = 9;
+ icon_state = "redfull"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"oJO" = (
/obj/effect/decal/cleanable/blood/drip{
pixel_x = -8;
@@ -35219,6 +35130,18 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/gm/river,
/area/bigredv2/outside/c)
+"oPM" = (
+/obj/structure/surface/table/reinforced,
+/obj/structure/machinery/door_control{
+ id = "lambda-exterior";
+ name = "Lambda Checkpoint Exterior";
+ pixel_x = null
+ },
+/turf/open/floor{
+ dir = 9;
+ icon_state = "redfull"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"oQz" = (
/obj/structure/machinery/light/double{
dir = 1
@@ -35306,6 +35229,12 @@
icon_state = "asteroidfloor"
},
/area/bigredv2/outside/telecomm/n_cave)
+"oVq" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "lz1entrance_v2"
+ },
+/turf/open/mars,
+/area/bigredv2/outside/nw)
"oWc" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -35473,12 +35402,6 @@
icon_state = "wood"
},
/area/bigredv2/outside/admin_building)
-"pdN" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "lz1entrance_v2"
- },
-/turf/open/mars,
-/area/bigredv2/outside/nw)
"pdW" = (
/turf/open/mars_cave{
icon_state = "mars_cave_13"
@@ -35521,11 +35444,29 @@
icon_state = "freezerfloor"
},
/area/bigredv2/outside/general_offices)
+"pgV" = (
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor{
+ dir = 6;
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/caves_east)
"phi" = (
/turf/open/mars_cave{
icon_state = "mars_cave_6"
},
/area/bigredv2/caves_research)
+"phx" = (
+/obj/structure/pipes/standard/manifold/hidden/green{
+ dir = 1
+ },
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidfloor"
+ },
+/area/bigredv2/outside/e)
"plx" = (
/obj/structure/machinery/power/apc{
dir = 4
@@ -35557,6 +35498,15 @@
"pmS" = (
/turf/open/mars,
/area/bigredv2/caves_north)
+"pmV" = (
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 4
+ },
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidfloor"
+ },
+/area/bigredv2/caves_lambda)
"pnL" = (
/turf/open/mars{
icon_state = "mars_dirt_11"
@@ -35600,6 +35550,19 @@
icon_state = "mars_cave_15"
},
/area/bigredv2/caves_north)
+"prU" = (
+/obj/structure/machinery/light{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/surface/table/woodentable,
+/obj/item/prop/magazine/book/bladerunner{
+ pixel_y = 3
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"psE" = (
/obj/effect/landmark/objective_landmark/medium,
/turf/open/floor{
@@ -35675,6 +35638,16 @@
icon_state = "dark"
},
/area/bigredv2/outside/admin_building)
+"pyq" = (
+/obj/structure/surface/table,
+/obj/structure/machinery/computer/emails{
+ dir = 8;
+ pixel_y = 4
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"pyU" = (
/obj/effect/decal/warning_stripes{
icon_state = "NW-out";
@@ -35697,6 +35670,9 @@
/obj/structure/curtain,
/turf/open/floor/plating,
/area/bigredv2/outside/medical)
+"pAX" = (
+/turf/open/floor,
+/area/bigredv2/outside/lambda_cave_cas)
"pBv" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor{
@@ -35766,6 +35742,17 @@
icon_state = "mars_cave_2"
},
/area/bigredv2/caves_lambda)
+"pJd" = (
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 4
+ },
+/obj/structure/machinery/door/airlock/almayer/security/glass/colony{
+ name = "\improper Lambda Checkpoint"
+ },
+/turf/open/floor{
+ icon_state = "delivery"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"pJn" = (
/obj/structure/blocker/forcefield/multitile_vehicles,
/turf/open/mars_cave{
@@ -35844,20 +35831,6 @@
icon_state = "darkred2"
},
/area/bigredv2/caves/eta/research)
-"pNn" = (
-/obj/structure/machinery/light,
-/obj/structure/surface/table/woodentable,
-/obj/structure/window{
- dir = 8
- },
-/obj/structure/machinery/door_control{
- id = "Library";
- name = "Storm Shutters"
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"pNU" = (
/obj/structure/bed,
/obj/item/prop/alien/hugger,
@@ -35939,6 +35912,9 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
+"pSf" = (
+/turf/open/floor/carpet,
+/area/bigredv2/outside/library)
"pTo" = (
/obj/structure/machinery/power/apc{
dir = 1;
@@ -36100,6 +36076,25 @@
icon_state = "bcircuit"
},
/area/bigredv2/outside/telecomm/lz2_cave)
+"qbG" = (
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 4
+ },
+/obj/structure/machinery/door/poddoor/almayer/closed{
+ dir = 4;
+ id = "lambda-interior";
+ name = "Lambda Checkpoint Interior"
+ },
+/turf/open/floor{
+ icon_state = "delivery"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
+"qcE" = (
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 10
+ },
+/turf/open/floor/carpet,
+/area/bigredv2/outside/library)
"qcQ" = (
/turf/open/mars_cave{
icon_state = "mars_dirt_7"
@@ -36200,11 +36195,6 @@
icon_state = "mars_dirt_4"
},
/area/bigredv2/caves/mining)
-"qkB" = (
-/turf/open/mars_cave{
- icon_state = "mars_cave_8"
- },
-/area/bigredv2/caves)
"qkC" = (
/obj/structure/fence,
/turf/open/floor{
@@ -36260,6 +36250,15 @@
icon_state = "whiteblue"
},
/area/bigredv2/outside/medical)
+"qoS" = (
+/obj/structure/machinery/light{
+ dir = 4
+ },
+/turf/open/floor{
+ dir = 8;
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/outside/e)
"qpn" = (
/obj/item/tool/warning_cone{
pixel_x = -6
@@ -36295,6 +36294,15 @@
"qsE" = (
/turf/closed/wall/solaris/reinforced,
/area/bigred/ground/garage_workshop)
+"qsV" = (
+/obj/structure/bookcase{
+ icon_state = "book-5"
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"qus" = (
/obj/structure/pipes/standard/simple/hidden/green,
/turf/open/floor{
@@ -36482,6 +36490,20 @@
/obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot,
/turf/open/floor,
/area/bigredv2/outside/cargo)
+"qJB" = (
+/obj/effect/decal/cleanable/blood{
+ dir = 4;
+ icon_state = "gib6"
+ },
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidfloor"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
+"qJM" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/carpet,
+/area/bigredv2/outside/library)
"qJV" = (
/obj/effect/decal/cleanable/blood/drip{
pixel_x = -5;
@@ -36492,12 +36514,29 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
+"qKH" = (
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 4
+ },
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/caves_lambda)
"qLk" = (
/obj/item/device/flashlight/lantern,
/turf/open/mars_cave{
icon_state = "mars_dirt_5"
},
/area/bigredv2/caves/mining)
+"qLD" = (
+/turf/open/floor{
+ icon_state = "red"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"qLV" = (
/obj/structure/pipes/standard/simple/hidden/green,
/turf/open/floor{
@@ -36510,15 +36549,6 @@
icon_state = "mars_cave_18"
},
/area/bigredv2/outside/n)
-"qNp" = (
-/obj/structure/bed/chair/comfy{
- dir = 4
- },
-/obj/structure/window,
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"qNu" = (
/obj/structure/surface/table,
/obj/structure/machinery/light/small{
@@ -36594,12 +36624,6 @@
/obj/structure/cargo_container/hd/mid/alt,
/turf/open/floor/plating,
/area/bigredv2/caves/mining)
-"qTu" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "viro_open"
- },
-/turf/closed/wall/solaris/rock,
-/area/bigredv2/caves)
"qTC" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor{
@@ -36649,6 +36673,27 @@
icon_state = "mars_cave_17"
},
/area/bigredv2/caves/mining)
+"qWA" = (
+/obj/structure/surface/table/woodentable,
+/obj/item/paper,
+/obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
+"qWT" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/machinery/door/poddoor/almayer/closed{
+ dir = 4;
+ id = "lambda-exterior";
+ name = "Lambda Checkpoint Exterior"
+ },
+/obj/structure/blocker/forcefield/multitile_vehicles,
+/turf/open/floor{
+ icon_state = "delivery"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"qXi" = (
/obj/structure/surface/table/woodentable,
/obj/item/device/pinpointer,
@@ -36732,6 +36777,10 @@
icon_state = "red"
},
/area/bigredv2/outside/marshal_office)
+"rbs" = (
+/obj/structure/window/framed/solaris/reinforced,
+/turf/open/floor/plating,
+/area/bigredv2/outside/lambda_cave_cas)
"rbD" = (
/obj/structure/largecrate/random,
/turf/open/floor/plating{
@@ -36823,6 +36872,15 @@
icon_state = "whitegreen"
},
/area/bigredv2/outside/medical)
+"rgm" = (
+/obj/structure/bed/chair/wood/normal{
+ dir = 8
+ },
+/obj/structure/pipes/standard/simple/hidden/green,
+/turf/open/floor{
+ icon_state = "chapel"
+ },
+/area/bigredv2/outside/chapel)
"rgp" = (
/obj/structure/blocker/forcefield/multitile_vehicles,
/turf/open/mars_cave{
@@ -36862,6 +36920,12 @@
},
/turf/closed/wall/solaris/reinforced,
/area/bigredv2/caves/mining)
+"rkh" = (
+/obj/structure/blocker/forcefield/multitile_vehicles,
+/turf/open/floor{
+ icon_state = "red"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"rkS" = (
/obj/structure/cable{
icon_state = "5-6"
@@ -36878,6 +36942,17 @@
"rnc" = (
/turf/open/mars_cave,
/area/bigredv2/caves_research)
+"rnK" = (
+/obj/structure/machinery/door/poddoor/almayer/closed{
+ dir = 4;
+ id = "lambda-exterior";
+ name = "Lambda Checkpoint Exterior"
+ },
+/obj/structure/blocker/forcefield/multitile_vehicles,
+/turf/open/floor{
+ icon_state = "delivery"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"rnV" = (
/obj/item/stack/sheet/glass,
/turf/open/floor{
@@ -36931,14 +37006,6 @@
icon_state = "mars_cave_19"
},
/area/bigredv2/caves/mining)
-"rrl" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "filtration_restored"
- },
-/turf/open/mars_cave{
- icon_state = "mars_cave_2"
- },
-/area/bigredv2/outside/s)
"rrF" = (
/turf/open/mars_cave{
icon_state = "mars_cave_13"
@@ -37039,6 +37106,12 @@
icon_state = "mars_cave_6"
},
/area/bigredv2/caves_east)
+"rBn" = (
+/obj/structure/window,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"rBK" = (
/obj/structure/fence,
/turf/open/mars{
@@ -37056,6 +37129,11 @@
icon_state = "mars_cave_7"
},
/area/bigredv2/outside/lz1_telecomm_cas)
+"rDa" = (
+/turf/open/floor{
+ icon_state = "redcorner"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"rDl" = (
/obj/effect/decal/cleanable/blood/drip{
pixel_x = -3;
@@ -37130,6 +37208,12 @@
icon_state = "mars_cave_15"
},
/area/bigredv2/caves/mining)
+"rKe" = (
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 5
+ },
+/turf/open/floor/carpet,
+/area/bigredv2/outside/library)
"rKs" = (
/obj/item/stack/medical/splint{
pixel_x = 4;
@@ -37217,6 +37301,12 @@
/obj/effect/landmark/crap_item,
/turf/open/floor,
/area/bigredv2/outside/hydroponics)
+"rNs" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "tcomms_open"
+ },
+/turf/closed/wall/solaris/rock,
+/area/bigredv2/caves)
"rOK" = (
/obj/effect/landmark/corpsespawner/ua_riot,
/obj/item/weapon/baton/loaded,
@@ -37260,19 +37350,6 @@
},
/turf/open/floor/plating,
/area/bigredv2/oob)
-"rRE" = (
-/obj/structure/machinery/light{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/surface/table/woodentable,
-/obj/item/prop/magazine/book/bladerunner{
- pixel_y = 3
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"rRO" = (
/obj/structure/blocker/forcefield/multitile_vehicles,
/turf/open/floor{
@@ -37336,18 +37413,6 @@
icon_state = "mars_dirt_7"
},
/area/bigredv2/caves/mining)
-"rVy" = (
-/obj/structure/window,
-/obj/structure/window{
- dir = 8
- },
-/obj/structure/surface/table/woodentable,
-/obj/effect/landmark/objective_landmark/close,
-/obj/item/prop/magazine/book/starshiptroopers,
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"rVE" = (
/obj/effect/landmark/crap_item,
/turf/open/mars_cave{
@@ -37520,6 +37585,15 @@
icon_state = "asteroidfloor"
},
/area/bigredv2/outside/telecomm/n_cave)
+"sdl" = (
+/obj/structure/bed/chair/comfy{
+ dir = 4
+ },
+/obj/structure/window,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"sdP" = (
/obj/structure/largecrate/random/barrel/white,
/turf/open/floor/plating,
@@ -37557,6 +37631,20 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
+"shn" = (
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 4
+ },
+/obj/structure/machinery/door/poddoor/almayer/closed{
+ dir = 4;
+ id = "lambda-exterior";
+ name = "Lambda Checkpoint Exterior"
+ },
+/obj/structure/blocker/forcefield/multitile_vehicles,
+/turf/open/floor{
+ icon_state = "delivery"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"shK" = (
/obj/structure/cargo_container/arious/right,
/turf/open/mars_cave{
@@ -37700,14 +37788,6 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
-"sri" = (
-/obj/structure/machinery/light{
- dir = 8
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"sso" = (
/obj/structure/bed/chair,
/turf/open/mars_cave{
@@ -37930,6 +38010,21 @@
icon_state = "darkyellow2"
},
/area/bigredv2/outside/engineering)
+"sEb" = (
+/obj/structure/filingcabinet{
+ density = 0;
+ pixel_x = 8;
+ pixel_y = 3
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
+"sEh" = (
+/turf/open/floor{
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/outside/e)
"sEi" = (
/obj/effect/landmark/structure_spawner/xvx_hive/xeno_door,
/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
@@ -37972,6 +38067,13 @@
icon_state = "mars_dirt_6"
},
/area/bigredv2/caves/mining)
+"sHO" = (
+/obj/effect/landmark/crap_item,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"sIh" = (
/obj/effect/landmark/nightmare{
insert_tag = "lambda-cave-extratunnel"
@@ -38066,19 +38168,55 @@
icon_state = "delivery"
},
/area/bigredv2/outside/admin_building)
+"sRV" = (
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 4
+ },
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/caves_lambda)
"sSU" = (
/turf/open/mars_cave{
icon_state = "mars_cave_19"
},
/area/bigredv2/outside/lz2_south_cas)
+"sSY" = (
+/obj/structure/pipes/standard/simple/hidden/green,
+/obj/structure/bed/chair/comfy{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"sUQ" = (
/obj/structure/machinery/photocopier,
/turf/open/floor/wood,
/area/bigredv2/caves/lambda/breakroom)
+"sVk" = (
+/obj/effect/decal/remains/human,
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"sVB" = (
/obj/structure/window_frame/solaris,
/turf/open/floor/plating,
/area/bigredv2/outside/marshal_office)
+"sVM" = (
+/obj/effect/landmark/structure_spawner/xvx_hive/xeno_door,
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 4
+ },
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidfloor"
+ },
+/area/bigredv2/caves_lambda)
"sWa" = (
/obj/item/ore{
pixel_x = 12;
@@ -38106,6 +38244,12 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
+"sXd" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "prison_breakout"
+ },
+/turf/closed/wall/solaris/reinforced,
+/area/bigredv2/outside/marshal_office)
"sXv" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/blood/drip{
@@ -38192,15 +38336,6 @@
/obj/effect/decal/cleanable/dirt/greenglow,
/turf/closed/wall/solaris/reinforced,
/area/bigredv2/outside/engineering)
-"tdn" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 6
- },
-/turf/open/floor{
- dir = 1;
- icon_state = "asteroidfloor"
- },
-/area/bigredv2/caves_lambda)
"tdp" = (
/obj/effect/decal/cleanable/blood{
icon_state = "xgib4"
@@ -38335,15 +38470,6 @@
icon_state = "mars_cave_7"
},
/area/bigredv2/outside/n)
-"tkM" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/machinery/light{
- dir = 8
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"tkN" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 5
@@ -38375,10 +38501,12 @@
},
/turf/open/floor,
/area/bigred/ground/garage_workshop)
-"tmj" = (
-/obj/structure/machinery/alarm{
- dir = 4;
- pixel_x = -30
+"tlU" = (
+/obj/structure/surface/table,
+/obj/structure/window,
+/obj/structure/machinery/computer/emails{
+ dir = 8;
+ pixel_y = 4
},
/turf/open/floor{
icon_state = "wood"
@@ -38564,21 +38692,6 @@
icon_state = "wood"
},
/area/bigredv2/caves/eta/living)
-"tAM" = (
-/obj/structure/surface/table/woodentable,
-/obj/item/newspaper{
- pixel_x = -7
- },
-/obj/item/prop/magazine/book/theartofwar{
- pixel_x = 11
- },
-/obj/item/tool/pen{
- pixel_x = -7
- },
-/turf/open/floor{
- icon_state = "wood"
- },
-/area/bigredv2/outside/library)
"tAW" = (
/obj/effect/landmark/lv624/xeno_tunnel,
/turf/open/floor{
@@ -38947,12 +39060,6 @@
icon_state = "mars_cave_13"
},
/area/bigredv2/caves/mining)
-"tYM" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "prison_breakout"
- },
-/turf/closed/wall/solaris/reinforced,
-/area/bigredv2/outside/marshal_office)
"tZU" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
@@ -39147,6 +39254,10 @@
icon_state = "delivery"
},
/area/bigredv2/outside/telecomm/lz2_cave)
+"unS" = (
+/obj/structure/pipes/standard/simple/hidden/green,
+/turf/open/floor/carpet,
+/area/bigredv2/outside/library)
"uoj" = (
/obj/effect/decal/remains/human,
/turf/open/floor{
@@ -39191,12 +39302,6 @@
icon_state = "mars_cave_18"
},
/area/bigredv2/caves_east)
-"uuo" = (
-/obj/structure/blocker/forcefield/multitile_vehicles,
-/turf/open/mars_cave{
- icon_state = "mars_cave_18"
- },
-/area/bigredv2/outside/lambda_cave_cas)
"uuO" = (
/obj/item/shard{
icon_state = "small"
@@ -39281,12 +39386,6 @@
icon_state = "platingdmg3"
},
/area/bigredv2/caves/mining)
-"uCD" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "reactor_meltdown"
- },
-/turf/closed/wall/solaris/rock,
-/area/bigredv2/caves)
"uDn" = (
/obj/structure/sign/safety/west,
/obj/structure/sign/safety/hazard{
@@ -39583,14 +39682,6 @@
icon_state = "darkyellow2"
},
/area/bigredv2/outside/engineering)
-"vcm" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 4
- },
-/turf/open/floor{
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/outside/lambda_cave_cas)
"vct" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -39887,15 +39978,6 @@
icon_state = "darkblue2"
},
/area/bigredv2/caves/eta/research)
-"vvi" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "lz1containers_scramble"
- },
-/turf/open/floor{
- dir = 4;
- icon_state = "asteroidwarning"
- },
-/area/bigredv2/outside/space_port)
"vvj" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
@@ -40013,6 +40095,20 @@
icon_state = "mars_dirt_10"
},
/area/bigredv2/outside/s)
+"vFA" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
+"vFH" = (
+/obj/effect/landmark/structure_spawner/xvx_hive/xeno_wall,
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall,
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/caves_lambda)
"vFS" = (
/obj/effect/landmark/structure_spawner/xvx_hive/xeno_door,
/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
@@ -40159,12 +40255,28 @@
icon_state = "darkyellow2"
},
/area/bigredv2/outside/engineering)
+"vUw" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidfloor"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"vUy" = (
/obj/structure/cargo_container/kelland/left,
/turf/open/mars_cave{
icon_state = "mars_dirt_4"
},
/area/bigredv2/outside/space_port_lz2)
+"vUN" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"vVl" = (
/obj/structure/machinery/door/airlock/almayer/generic{
name = "\improper Dormitories Toilet"
@@ -40360,6 +40472,13 @@
icon_state = "asteroidwarning"
},
/area/bigredv2/outside/filtration_cave_cas)
+"whw" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/surface/table/woodentable,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"whE" = (
/obj/structure/pipes/standard/simple/hidden/green,
/obj/effect/landmark/objective_landmark/close,
@@ -40615,6 +40734,14 @@
icon_state = "asteroidwarning"
},
/area/bigredv2/outside/c)
+"wBK" = (
+/obj/structure/bed/chair/wood/normal{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"wCo" = (
/turf/open/mars_cave{
icon_state = "mars_dirt_4"
@@ -40636,6 +40763,14 @@
icon_state = "mars_cave_17"
},
/area/bigredv2/caves/mining)
+"wET" = (
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"wFL" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/safety/hazard{
@@ -40693,6 +40828,12 @@
icon_state = "asteroidwarning"
},
/area/bigredv2/outside/c)
+"wHg" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "lz1north_mining"
+ },
+/turf/closed/wall/solaris/reinforced,
+/area/bigredv2/outside/space_port)
"wHx" = (
/obj/effect/decal/warning_stripes{
icon_state = "S";
@@ -40703,6 +40844,27 @@
icon_state = "darkredcorners2"
},
/area/bigredv2/outside/admin_building)
+"wHM" = (
+/obj/structure/pipes/vents/pump{
+ dir = 4
+ },
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/obj/structure/bed/chair/comfy{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
+"wIj" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor{
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/outside/e)
"wIw" = (
/obj/effect/landmark/structure_spawner/xvx_hive/xeno_door,
/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
@@ -40728,6 +40890,15 @@
icon_state = "mars_cave_17"
},
/area/bigredv2/outside/lz1_north_cas)
+"wKA" = (
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor{
+ icon_state = "wood"
+ },
+/area/bigredv2/outside/library)
"wLD" = (
/obj/structure/largecrate/random/barrel/yellow,
/turf/open/floor/plating{
@@ -40775,21 +40946,19 @@
/obj/structure/largecrate/random/secure,
/turf/open/floor,
/area/bigred/ground/garage_workshop)
-"wNw" = (
-/obj/structure/machinery/door/poddoor/almayer/closed{
- dir = 4;
- id = "lambda";
- name = "Lambda Lockdown"
- },
-/turf/open/floor{
- icon_state = "delivery"
- },
-/area/bigredv2/outside/lambda_cave_cas)
"wNA" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/ammo_magazine/pistol/m1911,
/turf/open/floor/plating,
/area/bigredv2/caves/mining)
+"wOK" = (
+/obj/effect/landmark/structure_spawner/xvx_hive/xeno_wall,
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall,
+/turf/open/floor{
+ dir = 4;
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/caves_lambda)
"wPk" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
@@ -40815,6 +40984,12 @@
icon_state = "mars_cave_7"
},
/area/bigredv2/caves_lambda)
+"wRl" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "admin_pmc"
+ },
+/turf/closed/wall/solaris/reinforced,
+/area/bigredv2/outside/admin_building)
"wRH" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/device/flashlight,
@@ -40938,6 +41113,15 @@
icon_state = "mars_dirt_4"
},
/area/bigredv2/outside/space_port_lz2)
+"xaE" = (
+/obj/structure/machinery/door/airlock/almayer/security/glass/colony{
+ dir = 1;
+ name = "\improper Lambda Checkpoint"
+ },
+/turf/open/floor{
+ icon_state = "delivery"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"xaH" = (
/turf/closed/wall/wood,
/area/bigredv2/caves_sw)
@@ -41173,17 +41357,14 @@
icon_state = "mars_dirt_4"
},
/area/bigredv2/caves/mining)
-"xsf" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 9
- },
-/obj/structure/bed/chair/comfy{
- dir = 4
- },
-/turf/open/floor{
- icon_state = "wood"
+"xsX" = (
+/obj/structure/bed/chair{
+ dir = 8;
+ pixel_y = 3
},
-/area/bigredv2/outside/library)
+/obj/structure/blocker/forcefield/multitile_vehicles,
+/turf/open/floor,
+/area/bigredv2/outside/lambda_cave_cas)
"xte" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/light,
@@ -41412,6 +41593,15 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor,
/area/bigredv2/outside/admin_building)
+"xLz" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "lz1containers_scramble"
+ },
+/turf/open/floor{
+ dir = 4;
+ icon_state = "asteroidwarning"
+ },
+/area/bigredv2/outside/space_port)
"xLM" = (
/obj/structure/machinery/light{
dir = 1
@@ -41459,6 +41649,12 @@
icon_state = "dark"
},
/area/bigredv2/caves/lambda/research)
+"xOk" = (
+/obj/effect/landmark/nightmare{
+ insert_tag = "cargo_containers"
+ },
+/turf/closed/wall/solaris,
+/area/bigredv2/outside/cargo)
"xPg" = (
/obj/structure/barricade/handrail/wire,
/turf/open/mars_cave{
@@ -41499,10 +41695,26 @@
icon_state = "mars_cave_13"
},
/area/bigredv2/caves/mining)
+"xTk" = (
+/obj/limb/arm/l_arm,
+/obj/effect/decal/cleanable/blood/drip,
+/obj/structure/blocker/forcefield/multitile_vehicles,
+/turf/open/floor,
+/area/bigredv2/outside/lambda_cave_cas)
"xTM" = (
/obj/structure/closet/medical_wall,
/turf/closed/wall/solaris/reinforced,
/area/bigredv2/caves/mining)
+"xTV" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 4
+ },
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidfloor"
+ },
+/area/bigredv2/outside/lambda_cave_cas)
"xUo" = (
/obj/effect/landmark/monkey_spawn,
/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
@@ -41547,6 +41759,14 @@
},
/turf/open/floor/plating,
/area/bigredv2/caves/mining)
+"xWv" = (
+/obj/effect/landmark/structure_spawner/xvx_hive/xeno_door,
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
+/turf/open/floor{
+ dir = 1;
+ icon_state = "asteroidfloor"
+ },
+/area/bigredv2/caves_lambda)
"xWz" = (
/obj/effect/decal/cleanable/dirt{
pixel_x = 17
@@ -41646,12 +41866,9 @@
icon_state = "mars_dirt_7"
},
/area/bigredv2/caves/mining)
-"yao" = (
-/obj/structure/machinery/vending/coffee,
-/turf/open/floor{
- icon_state = "yellowfull"
- },
-/area/bigredv2/outside/hydroponics)
+"xZL" = (
+/turf/closed/wall/solaris/rock,
+/area/bigredv2/outside/lambda_cave_cas)
"yar" = (
/turf/open/floor{
dir = 4;
@@ -41721,12 +41938,6 @@
icon_state = "asteroidwarning"
},
/area/bigredv2/outside/n)
-"yfe" = (
-/obj/effect/landmark/nightmare{
- insert_tag = "eta_carp"
- },
-/turf/closed/wall/solaris/reinforced,
-/area/bigredv2/caves/eta/xenobiology)
"yfs" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -41795,6 +42006,18 @@
icon_state = "mars_dirt_5"
},
/area/bigredv2/caves/mining)
+"yhG" = (
+/obj/structure/showcase{
+ icon = 'icons/obj/structures/machinery/research.dmi';
+ icon_state = "d_analyzer_la"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 1
+ },
+/turf/open/floor{
+ icon_state = "darkish"
+ },
+/area/bigredv2/caves/lambda/breakroom)
"yhN" = (
/obj/effect/decal/cleanable/blood{
layer = 3
@@ -43869,7 +44092,7 @@ aao
aao
aao
aao
-jcn
+rNs
aao
aao
xmy
@@ -45200,7 +45423,7 @@ aao
aao
aao
aao
-qTu
+lFR
aao
aao
aao
@@ -49076,7 +49299,7 @@ ajx
aoN
ajx
vXp
-pdN
+oVq
aeI
aeI
aeI
@@ -49114,7 +49337,7 @@ aoD
aoD
aoD
aoD
-eUT
+maB
aoD
aoD
aoD
@@ -49274,7 +49497,7 @@ acw
acw
aam
aam
-vvi
+xLz
aam
aam
aam
@@ -49962,7 +50185,7 @@ axv
anp
anp
anp
-cGv
+gri
ajx
ajY
akK
@@ -50340,7 +50563,7 @@ wcs
aae
aae
aae
-aLh
+wHg
aah
aah
aaU
@@ -52020,7 +52243,7 @@ aao
aao
aao
aao
-ers
+lOY
aao
uHQ
oRK
@@ -52401,7 +52624,7 @@ asK
asK
bkz
asK
-lMt
+xOk
aFc
ftY
kcH
@@ -53177,7 +53400,7 @@ aae
aae
aae
aae
-lMB
+nZd
aae
aae
aaq
@@ -55039,7 +55262,7 @@ wog
wog
wog
aao
-uCD
+bRC
aao
aao
aao
@@ -56889,7 +57112,7 @@ ana
acp
acp
acp
-tYM
+sXd
ume
aqv
bOZ
@@ -58242,7 +58465,7 @@ apC
apC
apC
apC
-nGt
+wRl
aHF
aHD
aBR
@@ -61592,7 +61815,7 @@ aCe
aCe
aCe
aCe
-yfe
+gWv
aao
jrD
jrD
@@ -63196,7 +63419,7 @@ ayY
axG
ayY
ayY
-joa
+kxr
asJ
asJ
aua
@@ -65880,7 +66103,7 @@ buc
buc
buc
buu
-rrl
+ejp
azO
meT
meT
@@ -73416,8 +73639,8 @@ aOb
aQo
aQl
aqU
-aTo
-aUo
+qhl
+aVv
aUk
aKP
aKP
@@ -73622,7 +73845,7 @@ aCo
aQa
aCZ
anT
-yao
+cOu
aJA
aKJ
aEd
@@ -73633,8 +73856,8 @@ aPi
aQp
aQm
aqU
-aTp
-aTk
+qhl
+sEh
aUk
aKP
aKP
@@ -73797,7 +74020,7 @@ aao
tqS
xWl
xWl
-xWl
+gIT
xWl
xWl
tqS
@@ -73840,7 +74063,7 @@ aQa
aCZ
anT
aIF
-aJB
+eaZ
aCZ
aLE
aMp
@@ -73850,8 +74073,8 @@ aPj
aQq
aRs
anT
-aTp
-aUp
+qhl
+wIj
aUk
aKP
aKP
@@ -74067,8 +74290,8 @@ anW
anW
anW
anW
-aTq
-aUp
+aDy
+wIj
aUk
aKP
aKP
@@ -74267,25 +74490,25 @@ pLH
bMz
apo
anW
-aKL
-aui
-aKK
-kgl
-ixN
+qsV
+vFA
+heD
+wKA
+nhF
anW
-aQr
-aKL
-aKL
+eBL
+qsV
+qsV
anW
-aKL
+qsV
anW
-aQr
-aQr
-aQr
+eBL
+eBL
+eBL
anW
aTq
-aTq
-aTk
+aDy
+sEh
aUk
aKP
aWL
@@ -74300,7 +74523,7 @@ atP
atP
atP
atb
-iIp
+gAK
bja
bes
bes
@@ -74484,25 +74707,25 @@ aCc
aCc
aMk
anW
-aKL
+qsV
aEi
aEi
-kgl
+wKA
aEi
-tmj
+aJC
aEi
aEi
-aui
-tkM
-aui
-sri
+vFA
+vUN
+vFA
+wET
aEi
aEi
aEi
aqx
aTq
-aTq
-aUp
+aDy
+wIj
aUk
aKP
aKP
@@ -74701,25 +74924,25 @@ aCc
pLH
aMk
anW
-aKL
-aui
+qsV
+vFA
aDe
aGe
-aOi
-aOi
-aOi
-ncT
-aKM
-aLF
-aOj
+unS
+unS
+unS
+mIs
+kAj
+qJM
+pSf
aEi
-aOj
-aPk
-tAM
+pSf
+iEm
+lmO
aqx
aTq
-aTq
-aUp
+aDy
+wIj
aQu
aVr
aKP
@@ -74919,24 +75142,24 @@ aCc
aMk
anW
anW
-aDf
+dLS
aDg
-fKY
-aOj
-aHN
-aOj
+nFp
+pSf
+dNX
+pSf
aEi
-aKN
-aOi
-aOi
-jvP
-aOi
-aPl
-aQs
+moe
+unS
+unS
+aQt
+unS
+rKe
+eeI
anW
aTq
-aTp
-aUp
+qhl
+wIj
aQu
aUk
aKP
@@ -75135,25 +75358,25 @@ aCc
aCc
aMk
anW
-aDd
-aDh
-xsf
-qNp
-aui
-aui
-aui
+wHM
+sSY
+mUb
+sdl
+vFA
+vFA
+vFA
aEi
aEi
aEi
aHO
-rVy
-aOj
-aPm
-ncT
+fWY
+pSf
+qcE
+mIs
aRu
nnK
-aTt
-aUq
+mNT
+wIj
aQu
aUk
aKP
@@ -75352,25 +75575,25 @@ aCc
aCc
aMk
anW
-aEl
-aQt
-aEl
-aQt
+pyq
+tlU
+pyq
+tlU
aEi
-kMA
-aIH
+jNN
+qWA
aJD
aKO
aEi
aHO
-eGv
+fJW
aEi
-aPn
-aui
+sHO
+vFA
ocA
aTq
-aTp
-aUr
+qhl
+wIj
aQu
aQu
aOk
@@ -75573,21 +75796,21 @@ anW
anW
anW
anW
-kDb
+drx
aHO
lDa
lDa
aKO
aEi
aEi
-eiR
-lsk
-aPo
-pNn
+rBn
+oes
+nnA
+jUJ
anW
aTq
-aTq
-aUs
+phx
+aTt
aSf
aSf
aWM
@@ -75787,24 +76010,24 @@ aCc
aMk
apo
apo
-aEk
+nrA
apo
anW
voz
-ghh
-ghh
-aui
-nAA
-ghh
+wBK
+wBK
+vFA
+hho
+wBK
aEi
aEi
aEi
-aPp
-lEP
+iaS
+aui
aqx
aTq
-aTq
-foT
+aDy
+aTp
aSg
aSg
aSg
@@ -76007,21 +76230,21 @@ apo
apo
apo
anW
-aGQ
-ceF
-jBo
-aui
-rRE
-jBo
-mPo
-llZ
-gPb
-gPb
-kwh
+lTC
+nuQ
+whw
+vFA
+prU
+whw
+mKi
+esS
+sEb
+sEb
+nkE
aqx
aTq
-aTq
-aUp
+aDy
+wIj
aQu
aVq
aVq
@@ -76237,8 +76460,8 @@ aoc
anW
anW
aTq
-aTp
-aUp
+qhl
+wIj
aUk
aKP
aKP
@@ -76453,9 +76676,9 @@ aSg
aSg
aSg
aSg
-aSg
-aTp
-aUp
+aTq
+qhl
+wIj
aUk
aKP
aKP
@@ -76463,10 +76686,10 @@ aKP
aSh
aYx
atb
-aZI
-bas
-baV
-bbG
+nRT
+bar
+baU
+bbF
bar
baU
nRT
@@ -76670,20 +76893,20 @@ aKP
aKP
aKP
aMR
-aQu
aTr
-aUp
+aDy
+wIj
aQu
aVr
aKP
aKP
aSh
-aYx
-atd
-bbF
-bap
-baT
-bbF
+eYA
+aZh
+cuG
+crd
+rgm
+bbG
bap
baT
nRT
@@ -76887,17 +77110,17 @@ aKP
aKP
aMR
aQu
-aSi
-aTq
-foT
-aVv
-aQu
-aOk
-aOk
-aQu
-aYw
-atd
-bbF
+aTr
+aDy
+aTp
+aTu
+qoS
+aTu
+aTu
+aTu
+aTp
+aZi
+nRT
bar
baU
bbH
@@ -77103,18 +77326,18 @@ aMR
aOk
aOk
aQu
-kYd
-wNw
-wNw
-aUu
-wNw
-kYd
-aQu
aQu
-aQu
-aYw
-atb
-bbF
+aTr
+aDy
+aTq
+aTq
+dTB
+rbs
+rbs
+dRc
+dTB
+dTB
+nRT
bap
baT
bbF
@@ -77317,21 +77540,21 @@ aao
aao
aao
aao
-apI
-apI
-apI
-apI
-hLs
-iKn
-aUv
-iZi
-kYd
aQu
aQu
-aXX
-aYy
-aZh
-aZK
+aQu
+ceA
+aTr
+aDy
+aTq
+aTq
+rbs
+oPM
+eKZ
+pAX
+hKO
+dTB
+nRT
bao
baS
bbF
@@ -77537,17 +77760,17 @@ aao
aao
aao
aao
-apI
-wNw
-wNw
-aUw
-wNw
-apI
-apI
-aXt
-aXX
-aTr
-aZi
+dvz
+rnK
+shn
+qWT
+rnK
+dvz
+djo
+xsX
+xTk
+rkh
+dvz
nRT
bat
baW
@@ -77754,18 +77977,18 @@ aao
aao
aao
aao
-uuo
-aSj
-ixR
-aUx
-cGQ
-aao
-aao
-aXt
-aXt
-aTr
-atb
-nRT
+lLe
+sVk
+xTV
+vUw
+iKn
+rbs
+aIe
+pAX
+pAX
+qLD
+dvz
+dTB
aJy
aJy
nRT
@@ -77972,17 +78195,17 @@ aao
aao
aao
aao
-sYL
-aTx
-vcm
-qkB
-aao
-aao
-aao
-aao
-aTr
-atb
-atb
+hLs
+xTV
+iKn
+hNW
+dTB
+jKp
+dFL
+pAX
+dKk
+fyZ
+dTB
atb
atb
atb
@@ -78188,17 +78411,17 @@ aao
aao
aao
aao
-aao
-sYL
-aTx
-vcm
-sYL
-aao
-aao
-aao
-aao
-aao
-aao
+dTB
+juZ
+xTV
+iKn
+iKn
+xaE
+pAX
+pAX
+pAX
+pAX
+gEM
aao
aao
aao
@@ -78406,16 +78629,16 @@ aao
aao
aao
aao
-sYL
-aTx
-vcm
-aVw
-aao
-aao
-aao
-aao
-aao
-aao
+hLs
+xTV
+iKn
+qJB
+dTB
+mYV
+pAX
+pAX
+rDa
+cry
aao
aao
aao
@@ -78622,17 +78845,17 @@ eMX
aao
aao
aao
-gNH
-cIq
+sYL
hLs
-vcm
-hSs
-gNH
-aao
-aao
-aao
-aao
-aao
+aUv
+iKn
+iKn
+rbs
+nIS
+pAX
+pAX
+qLD
+dTB
aao
aao
aao
@@ -78839,20 +79062,20 @@ eFh
aao
aao
aao
-aRv
-nVw
-hLs
-vcm
-qkB
-aao
-aao
-aao
-aao
+dTB
+iFz
+qbG
+iFz
+iFz
+dTB
+dAd
+oHn
+pAX
+qLD
+xZL
aao
aao
-sON
-sfI
-aao
+gCE
aao
aao
aao
@@ -79057,17 +79280,17 @@ aao
aao
aao
aao
-sYL
-hLs
-vcm
-aao
-aao
-aao
-aao
-aao
+aTw
+pmV
+aTv
+aTv
+rbs
+lAR
+oJv
+pAX
+irZ
+dTB
aao
-sON
-gCE
gCE
rAs
rAs
@@ -79274,16 +79497,16 @@ tQw
aao
aao
aao
-sYL
-hLs
-vcm
-aao
-aao
-aao
-aao
-aao
-aao
-ecK
+vFH
+pmV
+aTv
+kqO
+dTB
+rbs
+rbs
+pJd
+dTB
+dTB
gCE
gCE
gCE
@@ -79491,15 +79714,15 @@ tQw
tQw
aao
aao
-aSk
-aTz
-aUA
-aao
-aao
-aao
-aao
-aao
-sON
+dJr
+sVM
+xWv
+wOK
+kUW
+aOn
+nfY
+nfY
+pgV
gCE
gCE
gCE
@@ -79707,16 +79930,16 @@ tQw
gXp
gXp
gXp
-aRw
-dLe
-hLs
-vcm
-aao
-aao
-aao
-aao
-aao
-ecK
+hFg
+eFh
+sRV
+aMT
+tQw
+ujC
+ujC
+gCE
+gCE
+gCE
gCE
gCE
gCE
@@ -79926,14 +80149,14 @@ tQw
tQw
tQw
eFh
-aTw
-aUy
-amG
-aao
-aao
-aao
-aao
-ecK
+sRV
+aMT
+tQw
+tQw
+pIN
+gCE
+gCE
+gCE
gCE
gCE
gCE
@@ -80143,14 +80366,14 @@ tQw
tQw
tQw
eFh
-aTw
-aUy
-wQC
-eMX
-aao
-aao
-aao
-ecK
+sRV
+aMT
+tQw
+tQw
+aWN
+gCE
+gCE
+gCE
gCE
xuU
qFY
@@ -80354,19 +80577,19 @@ anI
anI
anI
anI
-aMS
+kZI
gmN
tQw
tQw
tQw
arK
-aTy
-aUy
-wQC
-sNQ
-aao
-aao
-sON
+qKH
+aMT
+tQw
+tQw
+ujC
+gCE
+gCE
gCE
gCE
gCE
@@ -80571,18 +80794,18 @@ uaB
uaB
uaB
aMq
-aMT
+aTv
aOm
aOm
aOm
aOm
aSl
-aTv
-aUy
-amG
-aao
-aao
-jgW
+pmV
+aMT
+tQw
+ujC
+ujC
+gCE
gCE
gCE
gCE
@@ -80788,18 +81011,18 @@ aJE
aKQ
aKQ
hmm
-aMT
+aTv
aOn
aOn
aOn
aOn
aTv
-tdn
-kNP
-wQC
-gXp
-qQn
+pmV
+aMT
tQw
+tQw
+pIN
+gCE
gCE
gCE
gpg
@@ -81005,7 +81228,7 @@ aJF
anI
anI
anI
-aMV
+jvW
gXp
gXp
gXp
@@ -81013,10 +81236,10 @@ gXp
aTw
ocR
uoj
-wQC
tQw
-aWN
tQw
+aWN
+gCE
gCE
ohD
aao
@@ -81232,9 +81455,9 @@ aTv
aMT
tQw
tQw
-pIN
-xFZ
-ohD
+ujC
+gCE
+gCE
aao
aao
aao
@@ -81448,8 +81671,8 @@ aSm
lMw
aMT
tQw
-xFZ
-ahy
+tQw
+ujC
aao
aao
aao
@@ -81664,7 +81887,7 @@ aao
aao
aSm
aMV
-sNQ
+tQw
aao
aao
sIh
@@ -82284,7 +82507,7 @@ tFO
axs
ati
atN
-auw
+yhG
avj
avR
awI
@@ -89065,7 +89288,7 @@ aab
aaa
aaa
aaa
-aaa
+cJd
aaa
aaa
aaa
@@ -89282,7 +89505,7 @@ aab
aaa
aaa
aaa
-aaa
+cJd
aaa
aaa
aaa
@@ -89501,7 +89724,7 @@ aaa
aaa
aaa
aaa
-aaa
+cJd
aaa
aaa
aaa
@@ -89718,15 +89941,15 @@ aaa
aaa
aaa
aaa
+cJd
aaa
aaa
aaa
aaa
aaa
-aaa
-aaa
-aaa
-aaa
+cJd
+cJd
+cJd
aaa
aaa
aaa
@@ -89941,9 +90164,9 @@ aaa
aaa
aaa
aaa
-aaa
-aaa
-aaa
+cJd
+cJd
+cJd
aaa
aaa
aaa
diff --git a/maps/map_files/Kutjevo/Kutjevo.dmm b/maps/map_files/Kutjevo/Kutjevo.dmm
index b63b0895a23b..e29ebb9280b9 100644
--- a/maps/map_files/Kutjevo/Kutjevo.dmm
+++ b/maps/map_files/Kutjevo/Kutjevo.dmm
@@ -675,14 +675,13 @@
},
/area/kutjevo/exterior/lz_river)
"aWR" = (
-/obj/structure/blocker/invisible_wall,
/obj/structure/machinery/light{
dir = 8
},
/turf/open/gm/river/desert/deep{
icon = 'icons/turf/floors/desert_water_toxic.dmi'
},
-/area/kutjevo/interior/oob)
+/area/kutjevo/exterior/construction)
"aXU" = (
/obj/structure/barricade/wooden{
dir = 1;
@@ -740,11 +739,8 @@
/obj/structure/platform/kutjevo{
dir = 4
},
-/obj/structure/blocker/invisible_wall,
-/turf/open/gm/river/desert/deep{
- icon = 'icons/turf/floors/desert_water_toxic.dmi'
- },
-/area/kutjevo/interior/oob)
+/turf/open/gm/river/desert/deep,
+/area/kutjevo/interior/complex/botany/east_tech)
"bcl" = (
/obj/structure/largecrate/random/barrel/red,
/turf/open/floor/kutjevo/multi_tiles{
@@ -926,8 +922,10 @@
/turf/open/auto_turf/sand/layer0,
/area/kutjevo/interior/colony_north)
"bnQ" = (
-/turf/closed/wall/kutjevo/colony/reinforced/hull,
-/area/kutjevo/interior/colony_north)
+/turf/open/gm/river/desert/deep{
+ icon = 'icons/turf/floors/desert_water_toxic.dmi'
+ },
+/area/kutjevo/interior/complex/botany)
"boa" = (
/obj/structure/machinery/light{
dir = 4
@@ -994,7 +992,9 @@
/turf/open/floor/kutjevo/tan,
/area/kutjevo/interior/complex/Northwest_Security_Checkpoint)
"btI" = (
-/turf/closed/wall/kutjevo/colony/reinforced/hull,
+/turf/open/floor/plating/kutjevo{
+ icon_state = "panelscorched"
+ },
/area/kutjevo/interior/complex/botany/east_tech)
"buo" = (
/obj/structure/machinery/power/apc{
@@ -1013,14 +1013,13 @@
/turf/open/floor/kutjevo/colors/cyan,
/area/kutjevo/interior/complex/med)
"bvT" = (
-/obj/structure/blocker/invisible_wall,
/obj/structure/machinery/light{
dir = 1
},
/turf/open/gm/river/desert/deep{
icon = 'icons/turf/floors/desert_water_toxic.dmi'
},
-/area/kutjevo/interior/oob)
+/area/kutjevo/exterior/construction)
"bwt" = (
/obj/structure/prop/dam/truck/cargo,
/turf/open/floor/kutjevo/tan/multi_tiles{
@@ -1317,9 +1316,7 @@
/turf/open/floor/kutjevo/tan,
/area/kutjevo/interior/complex/botany)
"bQg" = (
-/obj/structure/machinery/colony_floodlight{
- pixel_y = 10
- },
+/obj/structure/machinery/colony_floodlight,
/turf/open/floor/kutjevo/colors/orange,
/area/kutjevo/interior/foremans_office)
"bQk" = (
@@ -1342,11 +1339,8 @@
/obj/structure/platform_decoration/kutjevo{
dir = 8
},
-/obj/structure/blocker/invisible_wall,
-/turf/open/gm/river/desert/deep{
- icon = 'icons/turf/floors/desert_water_toxic.dmi'
- },
-/area/kutjevo/interior/oob)
+/turf/open/gm/river/desert/deep,
+/area/kutjevo/interior/complex/botany/east_tech)
"bRl" = (
/obj/structure/surface/table/reinforced/prison,
/obj/structure/machinery/computer/communications{
@@ -1738,7 +1732,7 @@
/area/kutjevo/interior/colony_South/power2)
"cum" = (
/obj/structure/extinguisher_cabinet,
-/turf/closed/wall/kutjevo/colony/reinforced/hull,
+/turf/closed/wall/kutjevo/colony/reinforced,
/area/kutjevo/interior/oob)
"cun" = (
/obj/structure/platform_decoration/kutjevo,
@@ -2316,11 +2310,8 @@
/area/kutjevo/exterior/spring)
"ddi" = (
/obj/structure/platform/kutjevo,
-/obj/structure/blocker/invisible_wall,
-/turf/open/gm/river/desert/deep{
- icon = 'icons/turf/floors/desert_water_toxic.dmi'
- },
-/area/kutjevo/interior/oob)
+/turf/open/gm/river/desert/deep,
+/area/kutjevo/interior/complex/botany/east_tech)
"ddk" = (
/obj/structure/stairs/perspective/kutjevo{
dir = 4;
@@ -3138,12 +3129,11 @@
/turf/open/floor/kutjevo/colors/cyan,
/area/kutjevo/interior/complex/med/auto_doc)
"ecO" = (
-/obj/structure/blocker/invisible_wall,
/obj/structure/machinery/light,
/turf/open/gm/river/desert/deep{
icon = 'icons/turf/floors/desert_water_toxic.dmi'
},
-/area/kutjevo/interior/oob)
+/area/kutjevo/exterior/construction)
"ecV" = (
/obj/structure/flora/grass/tallgrass/desert/corner{
dir = 9
@@ -3393,14 +3383,13 @@
/turf/open/floor/kutjevo/colors/orange/edge,
/area/kutjevo/interior/power_pt2_electric_boogaloo)
"epV" = (
-/obj/structure/blocker/invisible_wall,
/obj/structure/machinery/light{
dir = 4
},
/turf/open/gm/river/desert/deep{
icon = 'icons/turf/floors/desert_water_toxic.dmi'
},
-/area/kutjevo/interior/oob)
+/area/kutjevo/exterior/construction)
"eqJ" = (
/obj/structure/flora/grass/desert/lightgrass_2,
/turf/open/auto_turf/sand/layer1,
@@ -3844,9 +3833,7 @@
},
/area/kutjevo/interior/oob/dev_room)
"eQQ" = (
-/obj/structure/machinery/colony_floodlight{
- pixel_y = 10
- },
+/obj/structure/machinery/colony_floodlight,
/turf/open/floor/kutjevo/colors/purple,
/area/kutjevo/interior/construction)
"eQW" = (
@@ -4285,7 +4272,7 @@
/area/kutjevo/interior/complex/med/cells)
"frx" = (
/obj/structure/extinguisher_cabinet,
-/turf/closed/wall/kutjevo/colony/reinforced/hull,
+/turf/closed/wall/kutjevo/colony/reinforced,
/area/kutjevo/interior/power_pt2_electric_boogaloo)
"frF" = (
/obj/structure/flora/grass/tallgrass/desert/corner{
@@ -4841,7 +4828,7 @@
/turf/open/auto_turf/sand/layer0,
/area/kutjevo/exterior/complex_border/med_rec)
"glB" = (
-/turf/closed/wall/kutjevo/colony/reinforced/hull,
+/turf/closed/wall/kutjevo/colony,
/area/kutjevo/interior/complex/med/cells)
"gma" = (
/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
@@ -5124,11 +5111,11 @@
/turf/open/floor/kutjevo/grey/plate,
/area/kutjevo/interior/complex/med)
"gCG" = (
-/obj/structure/stairs/perspective/kutjevo{
- icon_state = "p_stair_sn_full_cap"
+/obj/structure/machinery/light{
+ dir = 4
},
-/turf/open/auto_turf/sand/layer0,
-/area/kutjevo/exterior/complex_border/med_rec)
+/turf/open/floor/kutjevo/colors/orange/tile,
+/area/kutjevo/interior/power_pt2_electric_boogaloo)
"gDP" = (
/obj/item/tool/wrench,
/turf/open/floor/kutjevo/tan,
@@ -5487,14 +5474,10 @@
/turf/open/auto_turf/sand/layer0,
/area/kutjevo/interior/colony_central)
"hdF" = (
-/obj/structure/filtration/coagulation_arm{
- pixel_x = -16;
- pixel_y = -16
- },
-/turf/open/gm/river/desert/deep{
- icon = 'icons/turf/floors/desert_water_toxic.dmi'
+/turf/open/floor/plating/kutjevo{
+ icon_state = "platingdmg1"
},
-/area/kutjevo/interior/oob)
+/area/kutjevo/interior/complex/botany/east_tech)
"hdQ" = (
/obj/structure/platform/kutjevo/smooth,
/turf/open/floor/kutjevo/colors/orange,
@@ -5712,13 +5695,10 @@
},
/area/kutjevo/interior/oob)
"hwA" = (
-/obj/structure/stairs/perspective/kutjevo{
- dir = 4;
- icon_state = "p_stair_full"
+/turf/open/floor/plating/kutjevo{
+ icon_state = "platingdmg3"
},
-/obj/structure/platform/kutjevo/smooth,
-/turf/open/floor/plating/kutjevo,
-/area/kutjevo/interior/complex/med/locks)
+/area/kutjevo/interior/complex/botany/east_tech)
"hwO" = (
/obj/structure/machinery/light{
dir = 1
@@ -5928,11 +5908,8 @@
/obj/structure/platform/kutjevo{
dir = 4
},
-/obj/structure/blocker/invisible_wall,
-/turf/open/gm/river/desert/deep{
- icon = 'icons/turf/floors/desert_water_toxic.dmi'
- },
-/area/kutjevo/interior/oob)
+/turf/open/gm/river/desert/deep,
+/area/kutjevo/interior/complex/botany/east_tech)
"hLH" = (
/obj/structure/platform/kutjevo/rock{
dir = 1
@@ -6148,7 +6125,7 @@
},
/area/kutjevo/interior/complex/Northwest_Flight_Control)
"ify" = (
-/turf/closed/wall/kutjevo/colony/reinforced/hull,
+/turf/closed/wall/kutjevo/colony,
/area/kutjevo/interior/complex/med/pano)
"ifE" = (
/obj/structure/machinery/power/apc{
@@ -6192,14 +6169,8 @@
/turf/open/auto_turf/sand/layer1,
/area/kutjevo/exterior/Northwest_Colony)
"iiG" = (
-/obj/structure/stairs/perspective/kutjevo{
- dir = 8;
- icon_state = "p_stair_full"
- },
-/obj/structure/platform/kutjevo/smooth,
-/obj/structure/barricade/handrail/kutjevo,
-/turf/open/floor/kutjevo/tan/multi_tiles,
-/area/kutjevo/interior/colony_South/power2)
+/turf/open/gm/river/desert/deep,
+/area/kutjevo/interior/complex/botany/east_tech)
"iiN" = (
/obj/item/stack/sheet/metal,
/turf/open/floor/plating/kutjevo,
@@ -6444,11 +6415,8 @@
/area/kutjevo/exterior/runoff_dunes)
"iIz" = (
/obj/structure/platform_decoration/kutjevo,
-/obj/structure/blocker/invisible_wall,
-/turf/open/gm/river/desert/deep{
- icon = 'icons/turf/floors/desert_water_toxic.dmi'
- },
-/area/kutjevo/interior/oob)
+/turf/open/gm/river/desert/deep,
+/area/kutjevo/interior/complex/botany/east_tech)
"iIT" = (
/obj/structure/platform/kutjevo{
dir = 4
@@ -6831,13 +6799,6 @@
},
/turf/open/floor/kutjevo/tan,
/area/kutjevo/interior/construction)
-"jkp" = (
-/obj/structure/platform/kutjevo/smooth,
-/obj/structure/barricade/handrail/kutjevo,
-/turf/open/floor/kutjevo/multi_tiles{
- dir = 4
- },
-/area/kutjevo/interior/colony_South/power2)
"jkJ" = (
/obj/structure/closet/secure_closet/hydroponics,
/obj/item/reagent_container/glass/watertank,
@@ -6916,12 +6877,6 @@
dir = 10
},
/area/kutjevo/interior/colony_South/power2)
-"jos" = (
-/obj/structure/stairs/perspective/kutjevo{
- icon_state = "p_stair_full"
- },
-/turf/open/auto_turf/sand/layer0,
-/area/kutjevo/exterior/complex_border/med_rec)
"joL" = (
/obj/structure/filingcabinet,
/obj/structure/machinery/light{
@@ -7476,8 +7431,8 @@
/turf/open/auto_turf/sand/layer1,
/area/kutjevo/exterior/spring)
"khI" = (
-/obj/structure/window/framed/kutjevo/reinforced/hull,
-/turf/open/floor/kutjevo/grey/plate,
+/obj/structure/window/framed/kutjevo/reinforced,
+/turf/open/floor/plating/kutjevo,
/area/kutjevo/interior/complex/botany/east_tech)
"khW" = (
/obj/structure/surface/table/almayer,
@@ -8025,13 +7980,6 @@
},
/turf/open/floor/kutjevo/tan/multi_tiles,
/area/kutjevo/interior/oob)
-"kPA" = (
-/obj/structure/stairs/perspective/kutjevo{
- dir = 4;
- icon_state = "p_stair_full"
- },
-/turf/open/floor/plating/kutjevo,
-/area/kutjevo/interior/complex/med/locks)
"kPM" = (
/obj/structure/stairs/perspective/kutjevo{
dir = 8;
@@ -8155,10 +8103,6 @@
dir = 10
},
/area/kutjevo/interior/colony_South/power2)
-"kYs" = (
-/obj/structure/window/framed/kutjevo/reinforced/hull,
-/turf/open/floor/plating/kutjevo,
-/area/kutjevo/interior/complex/med)
"kZm" = (
/obj/structure/platform_decoration/kutjevo,
/turf/open/gm/river/desert/shallow,
@@ -8651,10 +8595,6 @@
dir = 8
},
/area/kutjevo/exterior/runoff_river)
-"lLn" = (
-/obj/structure/window/framed/kutjevo/reinforced/hull,
-/turf/open/floor/plating/kutjevo,
-/area/kutjevo/interior/complex/botany)
"lLo" = (
/obj/structure/monorail,
/obj/structure/machinery/door/poddoor/shutters/almayer,
@@ -8716,9 +8656,6 @@
/turf/open/floor/kutjevo/multi_tiles,
/area/kutjevo/exterior/Northwest_Colony)
"lNt" = (
-/obj/structure/platform/kutjevo/smooth{
- dir = 8
- },
/obj/structure/closet/secure_closet/engineering_personal,
/obj/item/stack/sheet/metal/medium_stack,
/obj/effect/landmark/objective_landmark/far,
@@ -9058,11 +8995,10 @@
/turf/open/asphalt/cement_sunbleached,
/area/kutjevo/exterior/Northwest_Colony)
"mjP" = (
-/obj/structure/blocker/invisible_wall,
/turf/open/floor/coagulation{
icon_state = "0,5"
},
-/area/kutjevo/interior/oob)
+/area/kutjevo/interior/complex/botany/east_tech)
"mjW" = (
/obj/structure/flora/bush/ausbushes/reedbush,
/turf/open/desert/desert_shore/shore_edge1{
@@ -9243,11 +9179,8 @@
/obj/structure/platform/kutjevo{
dir = 1
},
-/obj/structure/blocker/invisible_wall,
-/turf/open/gm/river/desert/deep{
- icon = 'icons/turf/floors/desert_water_toxic.dmi'
- },
-/area/kutjevo/interior/oob)
+/turf/open/gm/river/desert/deep,
+/area/kutjevo/interior/complex/botany/east_tech)
"mzS" = (
/obj/structure/surface/table/reinforced/prison,
/obj/item/stack/medical/splint,
@@ -9587,12 +9520,10 @@
/turf/open/floor/kutjevo/plate,
/area/kutjevo/interior/colony_central)
"mPt" = (
+/obj/structure/machinery/colony_floodlight,
/obj/structure/platform/kutjevo{
dir = 1
},
-/obj/structure/machinery/colony_floodlight{
- pixel_y = 10
- },
/turf/open/auto_turf/sand/layer1,
/area/kutjevo/interior/complex/med/triage)
"mPL" = (
@@ -9795,9 +9726,6 @@
},
/turf/open/floor/kutjevo/colors,
/area/kutjevo/interior/complex/botany)
-"nie" = (
-/turf/closed/wall/kutjevo/colony/reinforced/hull,
-/area/kutjevo/interior/complex/botany/east)
"niC" = (
/obj/structure/flora/bush/ausbushes/reedbush,
/turf/open/desert/desert_shore/shore_corner2,
@@ -9838,11 +9766,6 @@
dir = 8
},
/area/kutjevo/exterior/complex_border/med_park)
-"nlc" = (
-/obj/structure/blocker/invisible_wall,
-/obj/structure/window/framed/kutjevo/reinforced/hull,
-/turf/open/floor/plating/kutjevo,
-/area/kutjevo/interior/oob)
"nlv" = (
/turf/open/auto_turf/sand/layer2,
/area/kutjevo/interior/colony_central)
@@ -9941,7 +9864,7 @@
/area/kutjevo/exterior/complex_border/med_rec)
"nsC" = (
/obj/structure/extinguisher_cabinet,
-/turf/closed/wall/kutjevo/colony/reinforced/hull,
+/turf/closed/wall/kutjevo/colony,
/area/kutjevo/interior/complex/botany/east)
"nsF" = (
/turf/open/floor/kutjevo/multi_tiles{
@@ -10762,9 +10685,7 @@
/obj/structure/platform/kutjevo{
dir = 8
},
-/obj/structure/machinery/colony_floodlight{
- pixel_y = 10
- },
+/obj/structure/machinery/colony_floodlight,
/turf/open/auto_turf/sand/layer1,
/area/kutjevo/interior/complex/med)
"oum" = (
@@ -11556,12 +11477,6 @@
dir = 6
},
/area/kutjevo/interior/power_pt2_electric_boogaloo)
-"pxl" = (
-/obj/structure/platform_decoration/kutjevo{
- dir = 1
- },
-/turf/open/floor/kutjevo/colors/orange,
-/area/kutjevo/interior/complex/med/locks)
"pxB" = (
/obj/structure/platform/kutjevo/rock{
dir = 1
@@ -12450,9 +12365,6 @@
/area/kutjevo/exterior/scrubland)
"qIN" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/structure/barricade/handrail/kutjevo{
- layer = 3.1
- },
/obj/item/toy/deck,
/obj/item/device/flashlight/lamp,
/turf/open/floor/kutjevo/multi_tiles{
@@ -12483,11 +12395,8 @@
dir = 4
},
/obj/structure/platform/kutjevo,
-/obj/structure/blocker/invisible_wall,
-/turf/open/gm/river/desert/deep{
- icon = 'icons/turf/floors/desert_water_toxic.dmi'
- },
-/area/kutjevo/interior/oob)
+/turf/open/gm/river/desert/deep,
+/area/kutjevo/interior/complex/botany/east_tech)
"qLV" = (
/obj/structure/tunnel,
/turf/open/auto_turf/sand/layer0,
@@ -13226,9 +13135,6 @@
/area/kutjevo/interior/complex/botany/east_tech)
"rRC" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/structure/barricade/handrail/kutjevo{
- layer = 3.1
- },
/obj/item/clipboard,
/obj/item/clothing/glasses/thermal/syndi{
icon_state = "kutjevo_goggles";
@@ -13464,11 +13370,8 @@
/obj/structure/platform/kutjevo{
dir = 8
},
-/obj/structure/blocker/invisible_wall,
-/turf/open/gm/river/desert/deep{
- icon = 'icons/turf/floors/desert_water_toxic.dmi'
- },
-/area/kutjevo/interior/oob)
+/turf/open/gm/river/desert/deep,
+/area/kutjevo/interior/complex/botany/east_tech)
"sgc" = (
/turf/open/floor/kutjevo/tan/alt_edge{
dir = 6
@@ -13712,13 +13615,6 @@
/obj/structure/machinery/floodlight/landing,
/turf/open/floor/kutjevo/plate,
/area/kutjevo/exterior/lz_dunes)
-"sxq" = (
-/obj/structure/stairs/perspective/kutjevo{
- dir = 6;
- icon_state = "p_stair_full"
- },
-/turf/open/auto_turf/sand/layer0,
-/area/kutjevo/exterior/complex_border/med_rec)
"sxy" = (
/turf/open/gm/river/desert/shallow_edge{
dir = 9
@@ -13963,16 +13859,6 @@
},
/turf/open/floor/kutjevo/tan/multi_tiles,
/area/kutjevo/interior/complex/botany)
-"sOy" = (
-/obj/structure/stairs/perspective/kutjevo{
- dir = 8;
- icon_state = "p_stair_ew_full_cap_butt"
- },
-/obj/structure/platform/stair_cut{
- icon_state = "kutjevo_platform_sm_stair"
- },
-/turf/open/floor/plating/kutjevo,
-/area/kutjevo/interior/complex/med/locks)
"sOF" = (
/obj/item/stack/sheet/wood{
pixel_x = -4
@@ -13984,13 +13870,6 @@
"sOJ" = (
/turf/open/gm/river/desert/shallow_corner,
/area/kutjevo/exterior/lz_river)
-"sOT" = (
-/obj/structure/blocker/invisible_wall,
-/obj/structure/filtration/machine_96x96/indestructible{
- icon_state = "sedimentation"
- },
-/turf/open/floor/plating/kutjevo,
-/area/kutjevo/interior/power_pt2_electric_boogaloo)
"sPp" = (
/obj/structure/platform/kutjevo/smooth,
/turf/open/gm/river/desert/deep/covered,
@@ -14810,9 +14689,8 @@
/turf/open/floor/almayer/research/containment/floor2,
/area/kutjevo/exterior/complex_border/botany_medical_cave)
"tWv" = (
-/obj/structure/blocker/invisible_wall,
/turf/open/gm/river,
-/area/kutjevo/interior/oob)
+/area/kutjevo/interior/power_pt2_electric_boogaloo)
"tWM" = (
/turf/open/floor/kutjevo/tan/multi_tiles,
/area/kutjevo/interior/power/comms)
@@ -14841,12 +14719,10 @@
/turf/open/auto_turf/sand/layer1,
/area/kutjevo/exterior/telecomm/lz2_north)
"uah" = (
-/obj/structure/filtration/coagulation_arm,
-/obj/structure/blocker/invisible_wall,
/turf/open/gm/river/desert/deep{
icon = 'icons/turf/floors/desert_water_toxic.dmi'
},
-/area/kutjevo/interior/oob)
+/area/kutjevo/exterior/construction)
"uaj" = (
/obj/structure/machinery/light,
/turf/open/floor/kutjevo/tan/alt_inner_edge{
@@ -15013,11 +14889,8 @@
/obj/structure/platform/kutjevo{
dir = 8
},
-/obj/structure/blocker/invisible_wall,
-/turf/open/gm/river/desert/deep{
- icon = 'icons/turf/floors/desert_water_toxic.dmi'
- },
-/area/kutjevo/interior/oob)
+/turf/open/gm/river/desert/deep,
+/area/kutjevo/interior/complex/botany/east_tech)
"ukN" = (
/obj/structure/prop/dam/boulder/boulder3,
/turf/open/auto_turf/sand/layer0,
@@ -15468,11 +15341,8 @@
dir = 8
},
/obj/structure/platform/kutjevo,
-/obj/structure/blocker/invisible_wall,
-/turf/open/gm/river/desert/deep{
- icon = 'icons/turf/floors/desert_water_toxic.dmi'
- },
-/area/kutjevo/interior/oob)
+/turf/open/gm/river/desert/deep,
+/area/kutjevo/interior/complex/botany/east_tech)
"uNW" = (
/obj/structure/prop/dam/boulder/boulder2,
/turf/open/auto_turf/sand/layer0,
@@ -15867,11 +15737,8 @@
/obj/structure/platform/kutjevo{
dir = 4
},
-/obj/structure/blocker/invisible_wall,
-/turf/open/gm/river/desert/deep{
- icon = 'icons/turf/floors/desert_water_toxic.dmi'
- },
-/area/kutjevo/interior/oob)
+/turf/open/gm/river/desert/deep,
+/area/kutjevo/interior/complex/botany/east_tech)
"vlg" = (
/obj/structure/flora/grass/tallgrass/desert/corner{
dir = 6
@@ -16673,12 +16540,6 @@
},
/turf/open/auto_turf/sand/layer0,
/area/kutjevo/exterior/spring)
-"wtu" = (
-/obj/structure/platform_decoration/kutjevo{
- dir = 4
- },
-/turf/open/floor/kutjevo/colors/orange,
-/area/kutjevo/interior/complex/med/locks)
"wtH" = (
/turf/closed/wall/kutjevo/colony,
/area/kutjevo/interior/complex/botany/east)
@@ -16764,12 +16625,6 @@
/turf/open/floor/plating/kutjevo,
/area/kutjevo/interior/complex/Northwest_Security_Checkpoint)
"wwV" = (
-/obj/structure/platform/kutjevo/smooth{
- dir = 1
- },
-/obj/structure/platform/kutjevo/smooth{
- dir = 8
- },
/obj/structure/filingcabinet{
pixel_x = 8;
pixel_y = 5
@@ -17045,7 +16900,7 @@
/turf/open/gm/river/desert/deep{
icon = 'icons/turf/floors/desert_water_toxic.dmi'
},
-/area/kutjevo/interior/oob)
+/area/kutjevo/interior/complex/med)
"wXd" = (
/turf/closed/wall/kutjevo/rock,
/area/kutjevo/interior/colony_South)
@@ -17343,7 +17198,11 @@
/turf/open/auto_turf/sand/layer1,
/area/kutjevo/exterior/Northwest_Colony)
"xti" = (
-/obj/structure/platform_decoration/kutjevo,
+/obj/structure/stairs/perspective/kutjevo{
+ dir = 4;
+ icon_state = "p_stair_full"
+ },
+/obj/structure/platform/kutjevo,
/turf/open/auto_turf/sand/layer0,
/area/kutjevo/exterior/complex_border/med_rec)
"xtN" = (
@@ -17589,9 +17448,6 @@
/obj/effect/landmark/objective_landmark/science,
/turf/open/floor/kutjevo/colors/green/tile,
/area/kutjevo/interior/complex/botany)
-"xRh" = (
-/turf/closed/wall/kutjevo/colony/reinforced/hull,
-/area/kutjevo/interior/power_pt2_electric_boogaloo)
"xRo" = (
/obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{
dir = 1;
@@ -24763,15 +24619,15 @@ ich
jqt
pyp
pyp
-aHW
+pyp
uPu
vYI
vYI
vYI
uCR
-aHW
-aHW
-aHW
+pyp
+pyp
+pyp
aHW
rwj
rwj
@@ -26266,7 +26122,7 @@ dfY
pyp
pyp
pyp
-aHW
+pyp
yas
ddk
ddk
@@ -32737,7 +32593,7 @@ jwR
qgW
nAo
nIA
-rYS
+mbS
xhV
kxW
eNf
@@ -33714,7 +33570,7 @@ dxF
dxF
mhj
fjF
-gBl
+wff
dxF
dxF
eXm
@@ -33875,7 +33731,7 @@ jzl
jzl
fUL
jzl
-kYs
+lcs
jzl
jzl
eMC
@@ -34875,22 +34731,22 @@ oag
oVX
oVX
iZu
-jhS
-jhS
-kVJ
-jhS
-jhS
-jhS
+jzl
+jzl
+jzl
+jzl
+jzl
+jzl
wff
wff
wff
wff
-jhS
-jhS
-jhS
-kVJ
-kVJ
-rYS
+eXm
+eXm
+lHs
+lHs
+eXm
+eXm
lce
hVg
qgW
@@ -35042,22 +34898,22 @@ snr
oVX
oVX
cfa
-kVJ
+lcs
wWy
wWy
wWy
wWy
-kVJ
+lcs
wff
wff
wff
wff
-kVJ
-wWy
-wWy
-wWy
-wWy
-lLn
+lHs
+bnQ
+bnQ
+bnQ
+bnQ
+lHs
kDS
kDS
eOM
@@ -35201,7 +35057,7 @@ aHl
lCu
oVX
jzl
-pbY
+jzl
kBb
uTj
abS
@@ -35209,22 +35065,22 @@ snr
oVX
oVX
cfa
-kVJ
-wWy
+lcs
wWy
-hdF
+jzl
+jzl
wWy
-kVJ
+lcs
nnf
wff
wff
wff
-kVJ
-wWy
-wWy
-hdF
-wWy
-lLn
+lHs
+bnQ
+eXm
+eXm
+bnQ
+lHs
kDS
kDS
kct
@@ -35368,7 +35224,7 @@ etm
lCu
oVX
jzl
-pbY
+jzl
cZt
cDf
dvL
@@ -35376,22 +35232,22 @@ snr
oVX
oVX
cfa
-kVJ
-wWy
-wWy
+lcs
wWy
+jzl
+jzl
wWy
-kVJ
+lcs
nnf
wff
wff
wff
-kVJ
-wWy
-wWy
-wWy
-wWy
-lLn
+lHs
+bnQ
+eXm
+eXm
+bnQ
+lHs
bGX
kDS
qgW
@@ -35543,22 +35399,22 @@ snr
oVX
oVX
ewF
-kVJ
+lcs
wWy
wWy
wWy
wWy
-kVJ
+lcs
nnf
nnf
nnf
wff
-kVJ
-wWy
-wWy
-wWy
-wWy
-lLn
+lHs
+bnQ
+bnQ
+bnQ
+bnQ
+lHs
vDS
vDS
wGD
@@ -35710,22 +35566,22 @@ oag
oVX
oVX
sFL
-jhS
-jhS
-kVJ
-jhS
-jhS
-jhS
+jzl
+jzl
+jzl
+jzl
+jzl
+jzl
wff
nnf
wff
wff
-jhS
-jhS
-jhS
-kVJ
-kVJ
-rYS
+eXm
+eXm
+lHs
+lHs
+eXm
+eXm
nIn
cAt
vDS
@@ -36024,8 +35880,8 @@ rlB
ryB
nsd
pfz
-gCG
-gld
+pfz
+pfz
jhb
eCY
tOe
@@ -36191,8 +36047,8 @@ rlB
ryB
nsd
pfz
-jos
-gld
+pfz
+pfz
jhb
bKi
asQ
@@ -36358,8 +36214,8 @@ rlB
ryB
nsd
pfz
-jos
-gld
+pfz
+pfz
jhb
eCY
ygh
@@ -36525,7 +36381,7 @@ rlB
jPW
kGU
kOD
-sxq
+wzC
xti
jhb
ayB
@@ -36702,9 +36558,9 @@ dRX
dRX
dRX
jhb
-pbY
-pbY
-pbY
+jzl
+jzl
+jzl
jzl
lBP
jzl
@@ -37233,7 +37089,7 @@ jhD
oQc
oQc
oQc
-xRh
+oQc
yir
xkk
yir
@@ -37729,9 +37585,9 @@ xWK
xWK
xWK
jhx
-xRh
-xRh
-xRh
+dip
+dip
+dip
dnR
lah
kHm
@@ -37896,9 +37752,9 @@ xWK
xWK
xWK
jhx
-nlc
+ubR
tWv
-nlc
+ubR
eSH
stt
stt
@@ -38063,9 +37919,9 @@ bKH
xWK
xWK
xWK
-nlc
+ubR
tWv
-nlc
+ubR
sPV
rQY
rQY
@@ -38230,9 +38086,9 @@ bKH
xWK
xWK
xWK
-xRh
-xRh
-xRh
+dip
+dip
+dip
eVv
rQY
pxb
@@ -38383,9 +38239,9 @@ slF
slF
slF
slF
-sOy
-kPA
-hwA
+slF
+slF
+slF
nsF
kOo
nYz
@@ -38403,9 +38259,9 @@ lah
sPV
rQY
rkO
-xRh
+dip
frx
-xRh
+dip
eVv
rxr
qJx
@@ -38414,7 +38270,7 @@ dip
wtH
wtH
tIz
-nie
+tIz
vHL
vHL
vHL
@@ -38424,17 +38280,17 @@ tIz
wtH
wtH
wtH
-rzh
-rzh
-rzh
-jhS
+wCU
+wCU
+wCU
+wCU
tGi
tGi
tGi
tGi
tGi
-jhS
-jhS
+wCU
+wCU
dxF
dxF
dxF
@@ -38550,9 +38406,9 @@ fpJ
fpJ
pIE
wwV
-wtu
nAy
-pxl
+nAy
+nAy
lNt
ktq
ngX
@@ -38570,9 +38426,9 @@ stt
eOc
rQY
epR
-mcv
+ubR
tWv
-mcv
+ubR
sPV
rQY
rQY
@@ -38591,17 +38447,17 @@ tIz
wtH
wtH
wtH
-rzh
-rzh
-rzh
-jhS
-kVJ
-kVJ
-kVJ
-kVJ
-kVJ
-jhS
-jhS
+wCU
+wCU
+wCU
+wCU
+khI
+khI
+khI
+khI
+khI
+wCU
+wCU
dxF
dxF
dxF
@@ -38737,9 +38593,9 @@ rQY
rQY
rQY
epR
-mcv
+ubR
tWv
-mcv
+ubR
sPV
rQY
rQY
@@ -38760,15 +38616,15 @@ wCU
wCU
wCU
wCU
-btI
-jhS
+wCU
+wCU
mjP
mjP
mjP
mjP
mjP
-jhS
-jhS
+wCU
+wCU
dxF
dxF
dxF
@@ -38904,9 +38760,9 @@ rQY
rQY
rQY
tFe
-xRh
-xRh
-xRh
+dip
+dip
+dip
eVv
rxr
pxb
@@ -38926,8 +38782,8 @@ wCU
wCU
wCU
wCU
-btI
-btI
+wCU
+wCU
sfz
ukd
ukd
@@ -38935,7 +38791,7 @@ ukd
ukd
ukd
uNJ
-jhS
+wCU
dxF
dxF
dxF
@@ -39096,13 +38952,13 @@ rRl
mCd
khI
mzn
-qwg
-qwg
-qwg
-uah
-qwg
+iiG
+iiG
+wCU
+iiG
+iiG
ddi
-jhS
+wCU
dxF
dxF
dxF
@@ -39263,13 +39119,13 @@ oJj
jyq
khI
mzn
-qwg
-qwg
-qwg
-qwg
-qwg
+iiG
+wCU
+wCU
+wCU
+iiG
ddi
-jhS
+wCU
dxF
dxF
dxF
@@ -39430,13 +39286,13 @@ iNF
jyq
khI
mzn
-qwg
-qwg
-qwg
-qwg
-qwg
+iiG
+iiG
+wCU
+iiG
+iiG
ddi
-jhS
+wCU
dxF
dxF
dxF
@@ -39597,13 +39453,13 @@ nbu
jKN
khI
mzn
-qwg
-qwg
-qwg
-qwg
-qwg
+iiG
+iiG
+iiG
+iiG
+iiG
ddi
-jhS
+wCU
dxF
dxF
dxF
@@ -39737,9 +39593,9 @@ dip
dip
szC
vdV
-szC
-szC
-sOT
+lah
+lah
+lah
dip
jmP
jmP
@@ -39762,15 +39618,15 @@ nbu
nbu
nbu
jKN
-btI
+wCU
vkV
bQY
-qwg
-qwg
-qwg
+iiG
+iiG
+iiG
iIz
qLa
-jhS
+wCU
dxF
dxF
dxF
@@ -39904,9 +39760,9 @@ oNG
dip
szC
szC
-szC
-szC
-szC
+lah
+lah
+lah
dip
dip
dip
@@ -39929,15 +39785,15 @@ nbu
eBH
nbu
hYE
-btI
-btI
+wCU
+wCU
mzn
-qwg
-qwg
-uah
+iiG
+wCU
+iiG
ddi
-jhS
-jhS
+wCU
+wCU
dxF
dxF
dxF
@@ -40071,8 +39927,8 @@ oNG
dip
szC
lNG
-szC
-lNG
+lah
+gCG
dip
dip
rIL
@@ -40099,11 +39955,11 @@ jKN
jKN
khI
mzn
-qwg
-qwg
-qwg
+wCU
+wCU
+wCU
ddi
-jhS
+wCU
dxF
dxF
dxF
@@ -40266,11 +40122,11 @@ jKN
jKN
khI
mzn
-qwg
-qwg
-qwg
+iiG
+wCU
+iiG
ddi
-jhS
+wCU
dxF
dxF
dxF
@@ -40433,11 +40289,11 @@ aHC
jKN
khI
mzn
-qwg
-qwg
-qwg
+iiG
+iiG
+iiG
ddi
-jhS
+wCU
dxF
dxF
dxF
@@ -40598,13 +40454,13 @@ hUy
yaI
hMu
hMu
-btI
+wCU
vkV
bQY
-qwg
+iiG
iIz
hLi
-jhS
+wCU
dxF
dxF
dxF
@@ -40739,7 +40595,7 @@ rIL
rIL
fAT
dnF
-rIL
+btI
rIL
rIL
rIL
@@ -40765,13 +40621,13 @@ oNK
dkE
dkE
iBd
-btI
-jhS
+wCU
+wCU
vkV
bcb
hLi
-jhS
-jhS
+wCU
+wCU
dxF
dxF
dxF
@@ -40908,9 +40764,9 @@ mMf
rIL
mMf
rIL
+cXL
rIL
-rIL
-mMf
+hwA
jhS
hws
qwg
@@ -40932,12 +40788,12 @@ tfx
dkE
tyJ
eyk
-btI
-jhS
-jhS
-jhS
-jhS
-jhS
+wCU
+wCU
+wCU
+wCU
+wCU
+wCU
dxF
dxF
dxF
@@ -41099,8 +40955,8 @@ dkE
ugQ
fjX
peo
-btI
-jhS
+wCU
+wCU
dxF
dxF
dxF
@@ -41241,9 +41097,9 @@ rdm
rdm
rdm
hMu
+cXL
rIL
-rIL
-mMf
+hdF
hMu
jhS
kVJ
@@ -41266,8 +41122,8 @@ cXL
iiN
duP
hMu
-jhS
-jhS
+wCU
+wCU
dxF
dxF
dxF
@@ -41384,11 +41240,11 @@ mpW
mpW
pmv
pmv
-jhS
-mcv
-mcv
-mcv
-jhS
+lPR
+hPf
+hPf
+hPf
+lPR
feR
xWK
jhx
@@ -41408,9 +41264,9 @@ rdm
rdm
fTk
qIN
-fDY
fTk
-jkp
+fTk
+fTk
lkp
foE
fDY
@@ -41426,15 +41282,15 @@ aFc
fDY
fTk
dUy
-jhS
+nTw
rzT
aRS
cXL
cXL
aRS
hMu
-jhS
-jhS
+wCU
+wCU
dxF
dxF
dxF
@@ -41550,13 +41406,13 @@ beR
jEN
jEN
dQD
-jhS
-jhS
+lPR
+lPR
bvT
-qwg
+uah
ecO
-jhS
-jhS
+lPR
+lPR
xrv
eTT
xWK
@@ -41575,9 +41431,9 @@ rdm
rdm
rsM
rRC
-aoJ
-tnx
-iiG
+mLw
+mLw
+mLw
fTk
qgI
aoJ
@@ -41600,8 +41456,8 @@ wcl
rUM
nUV
nUV
-jhS
-jhS
+wCU
+wCU
dxF
dxF
dxF
@@ -41717,13 +41573,13 @@ bKH
bKH
bKH
bKH
-mcv
+hPf
aWR
-qwg
-qwg
+uah
+lPR
uah
aWR
-mcv
+hPf
cHb
fyF
xWK
@@ -41767,8 +41623,8 @@ qGx
qGx
rdm
rdm
-jhS
-jhS
+wCU
+wCU
dxF
dxF
dxF
@@ -41884,13 +41740,13 @@ xWK
xWK
jhx
xWK
-mcv
-qwg
-qwg
-qwg
-qwg
-qwg
-mcv
+hPf
+uah
+lPR
+lPR
+lPR
+uah
+hPf
fyF
lxc
xWK
@@ -41935,7 +41791,7 @@ qGx
jhS
jhS
jhS
-jhS
+dxF
dxF
dxF
dxF
@@ -42051,13 +41907,13 @@ xWK
xWK
bKH
xWK
-mcv
+hPf
epV
-qwg
-qwg
-qwg
+uah
+lPR
+uah
epV
-mcv
+hPf
cUm
cUm
xWK
@@ -42102,7 +41958,7 @@ qGx
qhV
kma
jhS
-jhS
+dxF
dxF
dxF
dxF
@@ -42218,13 +42074,13 @@ bKH
xWK
xWK
xWK
-jhS
-jhS
+lPR
+lPR
bvT
-qwg
+uah
ecO
-jhS
-jhS
+lPR
+lPR
cUm
eTT
hpB
@@ -42269,7 +42125,7 @@ mLw
qhV
kma
jhS
-jhS
+dxF
dxF
dxF
dxF
@@ -42386,11 +42242,11 @@ bKH
xWK
xWK
xWK
-jhS
-mcv
-mcv
-mcv
-jhS
+lPR
+hPf
+hPf
+hPf
+lPR
jhx
xWK
xWK
@@ -42436,7 +42292,7 @@ qGx
qhV
kma
jhS
-jhS
+dxF
dxF
dxF
dxF
@@ -42603,7 +42459,7 @@ rHE
jhS
jhS
jhS
-jhS
+dxF
dxF
dxF
dxF
@@ -42769,8 +42625,8 @@ acD
vSE
rdm
rdm
-jhS
-jhS
+rzh
+rzh
dxF
dxF
dxF
@@ -42936,8 +42792,8 @@ rdm
rdm
rdm
rdm
-jhS
-jhS
+rzh
+rzh
dxF
dxF
dxF
@@ -43103,8 +42959,8 @@ rdm
rdm
rdm
rdm
-jhS
-jhS
+rzh
+rzh
dxF
dxF
mMH
@@ -43270,8 +43126,8 @@ rdm
rdm
rdm
rdm
-jhS
-jhS
+dxF
+dxF
mMH
bpj
bpj
@@ -48046,9 +47902,9 @@ hUk
hUk
hUk
hUk
-bnQ
-bnQ
-bnQ
+hUk
+hUk
+hUk
fQx
fQx
fQx
diff --git a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm
index 6bc30f573dd2..3b8e72bf2cee 100644
--- a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm
+++ b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm
@@ -50,18 +50,6 @@
icon_state = "cement1"
},
/area/lv522/outdoors/colony_streets/north_east_street)
-"abL" = (
-/obj/structure/platform{
- dir = 1
- },
-/obj/structure/platform{
- dir = 4
- },
-/obj/structure/platform_decoration{
- dir = 9
- },
-/turf/open/gm/river,
-/area/lv522/atmos/sewer)
"abS" = (
/obj/effect/acid_hole,
/turf/closed/wall/strata_ice/dirty,
@@ -368,7 +356,7 @@
/area/lv522/outdoors/colony_streets/central_streets)
"ajw" = (
/obj/structure/pipes/standard/simple/hidden/green{
- dir = 10
+ dir = 4
},
/turf/open/floor/corsat{
dir = 4;
@@ -397,11 +385,13 @@
/turf/open/floor/plating/plating_catwalk/prison,
/area/lv522/indoors/a_block/dorms/glass)
"akk" = (
-/obj/structure/platform{
+/obj/structure/machinery/power/apc/weak{
dir = 1
},
-/turf/open/asphalt/cement,
-/area/lv522/outdoors/colony_streets/south_east_street)
+/turf/open/floor/corsat{
+ icon_state = "plate"
+ },
+/area/lv522/atmos/east_reactor)
"akl" = (
/obj/structure/barricade/wooden{
dir = 8
@@ -450,19 +440,18 @@
/obj/structure/pipes/standard/simple/hidden/green{
dir = 10
},
-/turf/open/floor/prison{
- icon_state = "floor_plate"
- },
+/turf/open/floor/prison,
/area/lv522/atmos/sewer)
"amc" = (
/obj/structure/cargo_container/kelland/left,
/turf/open/auto_turf/sand_white/layer0,
/area/lv522/outdoors/colony_streets/north_east_street)
"ame" = (
-/obj/structure/pipes/standard/simple/hidden/green,
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
+/obj/structure/machinery/light{
+ dir = 1
+ },
/turf/open/floor/corsat{
- icon_state = "squares"
+ icon_state = "plate"
},
/area/lv522/atmos/east_reactor)
"amC" = (
@@ -633,11 +622,13 @@
/turf/open/floor/plating,
/area/lv522/indoors/c_block/mining)
"apS" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 10
},
-/turf/open/auto_turf/shale/layer1,
-/area/lv522/outdoors/colony_streets/south_east_street)
+/turf/open/floor/corsat{
+ icon_state = "plate"
+ },
+/area/lv522/atmos/north_command_centre)
"aqo" = (
/obj/structure/pipes/standard/simple/hidden/green,
/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
@@ -903,8 +894,8 @@
},
/area/lv522/atmos/east_reactor/south)
"aza" = (
-/obj/structure/platform{
- dir = 1
+/obj/structure/stairs/perspective{
+ icon_state = "p_stair_full"
},
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
@@ -1018,15 +1009,12 @@
/turf/open/floor/plating,
/area/lv522/indoors/c_block/cargo)
"aDj" = (
-/obj/structure/stairs/perspective{
- dir = 9;
- icon_state = "p_stair_full"
- },
-/obj/structure/platform_decoration{
- dir = 1
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
+/obj/structure/pipes/standard/simple/hidden/green,
+/turf/open/floor/corsat{
+ icon_state = "squares"
},
-/turf/open/asphalt/cement,
-/area/lv522/outdoors/colony_streets/north_east_street)
+/area/lv522/atmos/north_command_centre)
"aDs" = (
/obj/item/explosive/mine/active{
dir = 8
@@ -1040,9 +1028,9 @@
/turf/open/floor/plating,
/area/shuttle/drop2/lv522)
"aDS" = (
+/obj/structure/pipes/vents/pump,
/turf/open/floor/corsat{
- dir = 5;
- icon_state = "brown"
+ icon_state = "marked"
},
/area/lv522/atmos/east_reactor)
"aDZ" = (
@@ -1261,9 +1249,13 @@
/area/lv522/outdoors/colony_streets/north_east_street)
"aJr" = (
/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "w-y2"
+/obj/effect/decal/warning_stripes{
+ icon_state = "S";
+ pixel_y = -1
+ },
+/turf/open/floor{
+ dir = 4;
+ icon_state = "whiteyellowfull"
},
/area/lv522/oob/w_y_vault)
"aJS" = (
@@ -1342,12 +1334,6 @@
icon_state = "blue_plate"
},
/area/lv522/indoors/a_block/hallway)
-"aLG" = (
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "w-y0"
- },
-/area/lv522/oob/w_y_vault)
"aLJ" = (
/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall,
/turf/open/floor/corsat,
@@ -1449,15 +1435,6 @@
},
/turf/open/floor/prison,
/area/lv522/indoors/a_block/security/glass)
-"aPS" = (
-/obj/structure/stairs/perspective{
- dir = 10;
- icon_state = "p_stair_full"
- },
-/turf/open/asphalt/cement{
- icon_state = "cement12"
- },
-/area/lv522/outdoors/colony_streets/central_streets)
"aQe" = (
/obj/structure/surface/table/reinforced/prison,
/obj/structure/machinery/recharger,
@@ -1790,12 +1767,11 @@
},
/area/lv522/indoors/c_block/mining)
"aWX" = (
-/obj/structure/pipes/standard/simple/hidden/green,
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/corsat{
- icon_state = "plate"
+ icon_state = "squares"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/east_reactor/south)
"aXa" = (
/turf/open/floor/corsat{
dir = 6;
@@ -1938,10 +1914,13 @@
},
/area/lv522/atmos/reactor_garage)
"ban" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/blocker/invisible_wall,
-/turf/open/floor/plating,
-/area/lv522/indoors/c_block/cargo)
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest,
+/obj/effect/landmark/corpsespawner/colonist/burst,
+/obj/effect/landmark/xeno_spawn,
+/turf/open/floor/corsat{
+ icon_state = "plate"
+ },
+/area/lv522/atmos/east_reactor/south)
"baG" = (
/turf/open/floor/corsat{
dir = 1;
@@ -2083,7 +2062,10 @@
/turf/open/floor/prison,
/area/lv522/indoors/c_block/garage)
"bdL" = (
-/obj/structure/platform,
+/obj/structure/stairs/perspective{
+ dir = 1;
+ icon_state = "p_stair_full"
+ },
/turf/open/asphalt/cement{
icon_state = "cement4"
},
@@ -2227,35 +2209,12 @@
},
/area/lv522/atmos/east_reactor/north)
"bhh" = (
-/obj/structure/platform{
- dir = 1
- },
-/obj/structure/closet/crate/freezer{
- layer = 3
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
+/turf/open/floor/corsat{
+ dir = 6;
+ icon_state = "brown"
},
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/item/reagent_container/food/snacks/grown/orange,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating,
-/area/lv522/indoors/c_block/cargo)
+/area/lv522/atmos/east_reactor/south)
"bhD" = (
/obj/structure/platform_decoration{
dir = 1
@@ -2828,9 +2787,6 @@
/turf/open/floor/wood,
/area/lv522/indoors/a_block/fitness/glass)
"bBB" = (
-/obj/structure/prop/invuln/ice_prefab/trim{
- dir = 8
- },
/obj/structure/cargo_container/grant/left,
/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/w_rockies)
@@ -2874,11 +2830,14 @@
},
/area/lv522/outdoors/colony_streets/north_east_street)
"bCd" = (
-/obj/structure/machinery/light,
+/obj/structure/pipes/standard/simple/hidden/green,
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest,
+/obj/effect/landmark/corpsespawner/colonist/burst,
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/corsat{
icon_state = "plate"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/east_reactor/south)
"bCh" = (
/obj/structure/pipes/standard/simple/hidden/green,
/turf/open/floor/prison{
@@ -3481,10 +3440,8 @@
},
/area/lv522/indoors/a_block/fitness/glass)
"bQq" = (
-/obj/structure/cargo_container/wy/mid{
- layer = 5
- },
-/turf/open/auto_turf/sand_white/layer0,
+/obj/structure/cargo_container/grant/rightmid,
+/turf/open/auto_turf/shale/layer2,
/area/lv522/outdoors/w_rockies)
"bQA" = (
/obj/structure/largecrate/random,
@@ -3524,7 +3481,6 @@
/turf/open/auto_turf/sand_white/layer0,
/area/lv522/outdoors/colony_streets/north_street)
"bRN" = (
-/obj/structure/pipes/standard/simple/hidden/green,
/turf/open/floor/corsat{
dir = 4;
icon_state = "browncorner"
@@ -3769,13 +3725,11 @@
},
/area/lv522/indoors/a_block/hallway)
"bXl" = (
-/obj/structure/prop/ice_colony/ground_wire{
- dir = 1
- },
+/obj/effect/landmark/corpsespawner/colonist/burst,
/turf/open/floor/corsat{
- icon_state = "brown"
+ icon_state = "plate"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/east_reactor/south)
"bXo" = (
/obj/structure/surface/table/almayer,
/obj/item/paper_bin{
@@ -3858,7 +3812,13 @@
/turf/open/auto_turf/sand_white/layer0,
/area/lv522/outdoors/colony_streets/central_streets)
"bYV" = (
-/obj/structure/platform,
+/obj/structure/stairs/perspective{
+ dir = 1;
+ icon_state = "p_stair_full"
+ },
+/obj/structure/platform{
+ dir = 8
+ },
/turf/open/asphalt/cement,
/area/lv522/outdoors/colony_streets/south_street)
"bYZ" = (
@@ -3969,8 +3929,8 @@
/turf/open/floor/wood/ship,
/area/lv522/atmos/way_in_command_centre)
"caN" = (
-/obj/structure/pipes/standard/manifold/hidden/green{
- dir = 1
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 6
},
/turf/open/floor/corsat{
icon_state = "squares"
@@ -3996,20 +3956,8 @@
/obj/structure/pipes/standard/manifold/hidden/green{
dir = 1
},
-/turf/open/floor/prison{
- icon_state = "floor_plate"
- },
+/turf/open/floor/prison,
/area/lv522/atmos/sewer)
-"cbn" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "S";
- pixel_y = -1
- },
-/turf/open/floor{
- dir = 4;
- icon_state = "whiteyellowfull"
- },
-/area/lv522/oob/w_y_vault)
"cbp" = (
/obj/structure/machinery/squeezer,
/turf/open/floor{
@@ -4026,8 +3974,9 @@
},
/area/lv522/atmos/east_reactor/north)
"cbR" = (
-/obj/structure/platform{
- dir = 4
+/obj/structure/stairs/perspective{
+ dir = 8;
+ icon_state = "p_stair_full"
},
/turf/open/asphalt/cement{
icon_state = "cement3"
@@ -4151,15 +4100,13 @@
},
/area/lv522/atmos/east_reactor)
"cfv" = (
-/obj/structure/stairs/perspective{
- dir = 5;
- icon_state = "p_stair_full"
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 9
},
-/obj/structure/platform_decoration,
-/turf/open/asphalt/cement{
- icon_state = "cement4"
+/turf/open/floor/corsat{
+ icon_state = "brown"
},
-/area/lv522/outdoors/colony_streets/north_east_street)
+/area/lv522/atmos/north_command_centre)
"cfz" = (
/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{
name = "\improper B-Block - Hydroponics Airlock"
@@ -4320,9 +4267,7 @@
dir = 1;
icon_state = "fab_2"
},
-/obj/structure/prop/invuln/ice_prefab{
- icon_state = "fab_2"
- },
+/obj/structure/prop/invuln/ice_prefab,
/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/w_rockies)
"ckT" = (
@@ -4713,11 +4658,12 @@
},
/area/lv522/outdoors/colony_streets/north_east_street)
"cuu" = (
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest,
-/obj/effect/landmark/xeno_spawn,
/obj/structure/machinery/light{
dir = 8
},
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest,
+/obj/effect/landmark/corpsespawner/colonist/burst,
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/corsat{
icon_state = "plate"
},
@@ -4843,14 +4789,11 @@
},
/area/lv522/indoors/a_block/dorms)
"cxE" = (
-/obj/structure/machinery/colony_floodlight{
- layer = 4.3
- },
-/obj/structure/platform{
- dir = 1
+/obj/effect/landmark/xeno_spawn,
+/turf/open/floor/corsat{
+ icon_state = "plate"
},
-/turf/open/asphalt/cement,
-/area/lv522/outdoors/colony_streets/south_east_street)
+/area/lv522/atmos/east_reactor/south)
"cxK" = (
/obj/structure/pipes/standard/simple/hidden/green,
/turf/open/floor/corsat{
@@ -5277,11 +5220,8 @@
},
/area/lv522/outdoors/colony_streets/north_street)
"cHy" = (
-/obj/structure/prop/ice_colony/ground_wire,
-/turf/open/floor/corsat{
- icon_state = "squares"
- },
-/area/lv522/atmos/east_reactor)
+/turf/closed/wall/strata_outpost/reinforced,
+/area/lv522/atmos/east_reactor/south)
"cHC" = (
/obj/structure/prop/invuln/lattice_prop{
icon_state = "lattice12";
@@ -5499,7 +5439,10 @@
"cKo" = (
/obj/structure/closet/crate/trashcart,
/obj/item/trash/chips,
-/obj/structure/platform,
+/obj/structure/stairs/perspective{
+ dir = 1;
+ icon_state = "p_stair_full"
+ },
/turf/open/asphalt/cement,
/area/lv522/outdoors/colony_streets/east_central_street)
"cKp" = (
@@ -5872,11 +5815,11 @@
},
/area/lv522/oob)
"cRN" = (
-/obj/structure/pipes/standard/simple/hidden/green,
-/turf/open/floor/corsat{
- icon_state = "marked"
+/obj/structure/largecrate,
+/turf/open/asphalt/cement{
+ icon_state = "cement3"
},
-/area/lv522/atmos/north_command_centre)
+/area/lv522/outdoors/colony_streets/north_east_street)
"cRT" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
@@ -6096,14 +6039,11 @@
},
/area/lv522/indoors/a_block/security)
"cWH" = (
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall,
-/obj/structure/machinery/light{
- dir = 8
- },
+/obj/structure/window/framed/strata/reinforced,
/turf/open/floor/corsat{
- icon_state = "squares"
+ icon_state = "marked"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/east_reactor/south)
"cWL" = (
/turf/open/floor/corsat{
dir = 8;
@@ -6183,13 +6123,12 @@
/turf/open/floor/prison,
/area/lv522/indoors/a_block/security)
"cYe" = (
-/obj/structure/machinery/light{
- dir = 4
- },
-/turf/open/floor/corsat{
- icon_state = "plate"
- },
-/area/lv522/atmos/east_reactor)
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest,
+/obj/effect/landmark/corpsespawner/colonist/burst,
+/obj/effect/landmark/xeno_spawn,
+/turf/open/floor/corsat,
+/area/lv522/atmos/east_reactor/south)
"cYf" = (
/obj/structure/closet/secure_closet/freezer/fridge/full,
/obj/item/reagent_container/food/condiment/enzyme,
@@ -6405,8 +6344,12 @@
/turf/open/floor/plating/plating_catwalk/prison,
/area/lv522/indoors/b_block/hydro)
"dbP" = (
-/obj/structure/platform{
- dir = 4
+/obj/structure/stairs/perspective{
+ dir = 8;
+ icon_state = "p_stair_full"
+ },
+/obj/structure/platform/stair_cut{
+ icon_state = "platform_stair_alt"
},
/turf/open/asphalt/cement,
/area/lv522/outdoors/colony_streets/south_west_street)
@@ -6497,7 +6440,7 @@
},
/area/lv522/atmos/east_reactor/south)
"dcR" = (
-/obj/effect/alien/weeds/node/alpha,
+/obj/structure/cargo_container/grant/right,
/turf/open/auto_turf/sand_white/layer0,
/area/lv522/outdoors/w_rockies)
"ddo" = (
@@ -6774,11 +6717,11 @@
},
/area/lv522/landing_zone_2)
"dhJ" = (
-/turf/open/floor/corsat{
- dir = 8;
- icon_state = "browncorner"
- },
-/area/lv522/atmos/east_reactor)
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest,
+/obj/effect/landmark/corpsespawner/colonist/burst,
+/obj/effect/landmark/xeno_spawn,
+/turf/open/floor/corsat,
+/area/lv522/atmos/east_reactor/south)
"dhP" = (
/obj/structure/machinery/landinglight/ds1/delayone{
dir = 8
@@ -6920,7 +6863,7 @@
/area/lv522/atmos/east_reactor)
"dkJ" = (
/obj/structure/surface/table/almayer,
-/obj/structure/machinery/computer/cameras/wooden_tv/prop{
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{
dir = 8;
layer = 3;
pixel_x = 5;
@@ -7306,13 +7249,12 @@
},
/area/lv522/atmos/cargo_intake)
"dsl" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_x = 1;
- pixel_y = 1
+/obj/structure/stairs/perspective{
+ dir = 10;
+ icon_state = "p_stair_full"
},
-/turf/open/auto_turf/shale/layer1,
-/area/lv522/outdoors/colony_streets/south_east_street)
+/turf/open/asphalt/cement,
+/area/lv522/outdoors/colony_streets/north_east_street)
"dsq" = (
/obj/structure/surface/rack,
/obj/item/stack/sheet/mineral/iron{
@@ -7577,7 +7519,9 @@
/area/lv522/indoors/a_block/medical)
"dyS" = (
/obj/item/stack/sheet/wood,
-/turf/open/auto_turf/sand_white/layer0,
+/turf/open/asphalt/cement{
+ icon_state = "cement12"
+ },
/area/lv522/outdoors/colony_streets/south_street)
"dzd" = (
/obj/structure/closet/secure_closet/marshal,
@@ -7630,14 +7574,11 @@
},
/area/lv522/atmos/north_command_centre)
"dAG" = (
-/obj/structure/pipes/vents/pump,
-/obj/structure/machinery/light{
- dir = 8
- },
+/obj/item/stack/sheet/metal,
/turf/open/floor/corsat{
- icon_state = "plate"
+ icon_state = "browncorner"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/east_reactor/south)
"dAQ" = (
/obj/structure/platform_decoration{
dir = 1
@@ -8452,8 +8393,8 @@
},
/area/lv522/indoors/b_block/bar)
"dQQ" = (
-/obj/structure/platform{
- dir = 1
+/obj/structure/stairs/perspective{
+ icon_state = "p_stair_full"
},
/obj/structure/barricade/wooden{
dir = 8
@@ -8737,8 +8678,9 @@
},
/area/lv522/atmos/east_reactor/east)
"dXX" = (
-/obj/structure/surface/table/almayer,
-/obj/item/storage/belt/utility,
+/obj/structure/closet/fireaxecabinet{
+ pixel_y = 29
+ },
/turf/open/floor/prison{
icon_state = "floor_plate"
},
@@ -8990,9 +8932,6 @@
icon_state = "browncorner"
},
/area/lv522/oob)
-"eds" = (
-/turf/closed/wall/strata_outpost/reinforced/hull,
-/area/lv522/indoors/c_block/casino)
"edw" = (
/obj/structure/bed/roller,
/obj/effect/decal/cleanable/dirt,
@@ -9084,17 +9023,6 @@
},
/turf/open/gm/river,
/area/lv522/indoors/a_block/kitchen/damage)
-"efM" = (
-/obj/structure/platform,
-/obj/structure/platform{
- dir = 8
- },
-/obj/structure/platform_decoration{
- dir = 10;
- layer = 3.51
- },
-/turf/open/gm/river,
-/area/lv522/atmos/sewer)
"efR" = (
/obj/effect/decal/hefa_cult_decals/d32{
desc = "You think you can make out the iconography of a Xenomorph."
@@ -9828,11 +9756,11 @@
/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/colony_streets/north_west_street)
"esB" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 6
+/obj/structure/stairs/perspective{
+ icon_state = "p_stair_full"
},
-/turf/closed/wall/mineral/bone_resin,
-/area/lv522/oob)
+/turf/open/asphalt/cement,
+/area/lv522/outdoors/colony_streets/north_east_street)
"esF" = (
/obj/structure/surface/rack,
/turf/open/floor/prison{
@@ -9914,11 +9842,12 @@
},
/area/lv522/indoors/a_block/medical)
"euN" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 9
+/obj/structure/stairs/perspective{
+ dir = 6;
+ icon_state = "p_stair_full"
},
-/turf/closed/wall/mineral/bone_resin,
-/area/lv522/oob)
+/turf/open/asphalt/cement,
+/area/lv522/outdoors/colony_streets/north_east_street)
"euT" = (
/obj/structure/stairs/perspective{
icon_state = "p_stair_full"
@@ -9926,6 +9855,17 @@
/obj/vehicle/train/cargo/engine,
/turf/open/floor/plating,
/area/lv522/landing_zone_1/tunnel)
+"evg" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/landmark/lv624/fog_blocker/short,
+/obj/structure/machinery/power/apc/weak{
+ dir = 8
+ },
+/turf/open/floor/prison{
+ dir = 4;
+ icon_state = "greenfull"
+ },
+/area/lv522/landing_zone_1/ceiling)
"evu" = (
/obj/structure/tunnel/maint_tunnel{
pixel_y = 6
@@ -10090,13 +10030,11 @@
/turf/open/asphalt/cement,
/area/lv522/outdoors/colony_streets/central_streets)
"eyh" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 6
- },
-/turf/open/floor/corsat{
- icon_state = "marked"
+/obj/structure/platform{
+ dir = 4
},
-/area/lv522/atmos/north_command_centre)
+/turf/open/asphalt/cement,
+/area/lv522/outdoors/colony_streets/north_east_street)
"eym" = (
/obj/structure/surface/rack,
/obj/item/storage/toolbox/mechanical/green{
@@ -10138,13 +10076,10 @@
},
/area/lv522/indoors/a_block/admin)
"ezj" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 10
- },
-/turf/open/floor/corsat{
- icon_state = "plate"
+/turf/open/asphalt/cement{
+ icon_state = "cement12"
},
-/area/lv522/atmos/east_reactor/west)
+/area/lv522/outdoors/colony_streets/north_east_street)
"ezo" = (
/obj/structure/surface/table/almayer,
/obj/item/prop/helmetgarb/spacejam_tickets{
@@ -10467,11 +10402,12 @@
},
/area/lv522/indoors/a_block/corpo/glass)
"eHp" = (
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
+/obj/item/stack/sheet/metal,
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/corsat{
- icon_state = "squares"
+ icon_state = "plate"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/east_reactor/south)
"eHu" = (
/obj/structure/closet/secure_closet/miner,
/turf/open/floor/prison{
@@ -10691,11 +10627,15 @@
},
/area/lv522/indoors/a_block/medical)
"eLx" = (
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
+/obj/structure/machinery/prop/almayer/computer/PC{
+ dir = 1;
+ pixel_y = 3
+ },
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/corsat{
- icon_state = "marked"
+ icon_state = "plate"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/east_reactor/south)
"eLG" = (
/obj/item/lightstick/red/spoke/planted{
pixel_x = -19;
@@ -10767,13 +10707,17 @@
},
/area/lv522/atmos/east_reactor)
"eMm" = (
-/obj/structure/prop/invuln/fusion_reactor,
-/obj/structure/prop/turbine_extras,
-/obj/structure/prop/turbine_extras,
-/turf/open/floor/corsat{
- icon_state = "plate"
+/obj/structure/platform{
+ dir = 1
},
-/area/lv522/atmos/east_reactor)
+/obj/structure/platform{
+ dir = 4
+ },
+/obj/structure/platform_decoration{
+ dir = 9
+ },
+/turf/open/gm/river,
+/area/lv522/atmos/sewer)
"eMz" = (
/obj/item/stack/rods/plasteel,
/obj/structure/pipes/standard/simple/hidden/green{
@@ -10954,12 +10898,12 @@
/area/lv522/atmos/west_reactor)
"eQu" = (
/obj/structure/pipes/standard/simple/hidden/green{
- dir = 9
+ dir = 4
},
-/turf/open/floor/corsat{
- icon_state = "marked"
+/turf/open/asphalt/cement{
+ icon_state = "cement14"
},
-/area/lv522/atmos/north_command_centre)
+/area/lv522/outdoors/colony_streets/north_east_street)
"eQB" = (
/obj/structure/machinery/portable_atmospherics/canister/phoron,
/turf/open/floor/corsat{
@@ -10993,12 +10937,11 @@
},
/area/lv522/indoors/a_block/hallway)
"eRg" = (
-/obj/structure/prop/turbine,
-/obj/structure/prop/turbine_extras/border,
+/obj/structure/machinery/door/airlock/almayer/maint,
/turf/open/floor/corsat{
- icon_state = "plate"
+ icon_state = "marked"
},
-/area/lv522/oob)
+/area/lv522/atmos/sewer)
"eRI" = (
/obj/structure/barricade/deployable{
dir = 8
@@ -11027,10 +10970,9 @@
/turf/open/floor/prison,
/area/lv522/indoors/a_block/security/glass)
"eSy" = (
-/obj/structure/platform{
- dir = 1
+/obj/structure/stairs/perspective{
+ icon_state = "p_stair_full"
},
-/obj/structure/largecrate/random,
/turf/open/floor/plating{
icon_state = "platebot"
},
@@ -11330,12 +11272,18 @@
},
/area/lv522/outdoors/colony_streets/south_east_street)
"eZq" = (
-/obj/structure/prop/turbine_extras/left,
-/obj/structure/prop/invuln/fusion_reactor,
-/turf/open/floor/corsat{
- icon_state = "plate"
+/obj/structure/transmitter/colony_net{
+ phone_category = "LV522 Chances Claim";
+ phone_color = "red";
+ phone_id = "Reactor Sewer";
+ pixel_y = 26
},
-/area/lv522/oob)
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/prop/static_tank/water,
+/turf/open/floor/prison{
+ icon_state = "floor_plate"
+ },
+/area/lv522/atmos/sewer)
"eZv" = (
/obj/structure/fence,
/obj/effect/decal/warning_stripes{
@@ -11492,20 +11440,21 @@
},
/area/lv522/atmos/north_command_centre)
"fcW" = (
-/obj/structure/pipes/standard/manifold/hidden/green,
-/turf/open/floor/corsat{
- icon_state = "brown"
- },
-/area/lv522/atmos/north_command_centre)
-"fda" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
},
-/turf/open/floor/corsat{
- dir = 6;
- icon_state = "brown"
+/turf/open/asphalt/cement{
+ icon_state = "cement12"
},
-/area/lv522/atmos/north_command_centre)
+/area/lv522/outdoors/colony_streets/north_east_street)
+"fda" = (
+/obj/structure/pipes/standard/manifold/hidden/green{
+ dir = 1
+ },
+/turf/open/asphalt/cement{
+ icon_state = "cement12"
+ },
+/area/lv522/outdoors/colony_streets/north_east_street)
"fdb" = (
/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{
dir = 1;
@@ -11587,13 +11536,12 @@
/area/lv522/landing_zone_2/ceiling)
"feF" = (
/obj/structure/pipes/standard/simple/hidden/green{
- dir = 5
+ dir = 4
},
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
-/turf/open/floor/corsat{
- icon_state = "plate"
+/turf/open/asphalt/cement{
+ icon_state = "cement15"
},
-/area/lv522/atmos/east_reactor/west)
+/area/lv522/outdoors/colony_streets/north_east_street)
"feS" = (
/obj/item/prop/colony/used_flare,
/turf/open/floor/corsat{
@@ -11724,14 +11672,13 @@
},
/area/lv522/indoors/c_block/mining)
"fhQ" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 10
+/obj/structure/machinery/colony_floodlight{
+ layer = 4.3
},
-/turf/open/floor/corsat{
- dir = 8;
- icon_state = "brown"
+/turf/open/asphalt/cement{
+ icon_state = "cement4"
},
-/area/lv522/atmos/east_reactor/west)
+/area/lv522/outdoors/colony_streets/north_east_street)
"fhY" = (
/obj/structure/surface/rack,
/obj/item/tool/pickaxe,
@@ -11921,11 +11868,12 @@
},
/area/lv522/atmos/east_reactor/east)
"fmB" = (
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall,
/turf/open/floor/corsat{
dir = 1;
icon_state = "brown"
},
-/area/lv522/oob)
+/area/lv522/atmos/east_reactor)
"fmH" = (
/obj/structure/pipes/vents/pump,
/obj/effect/decal/cleanable/dirt,
@@ -12066,14 +12014,12 @@
},
/area/lv522/indoors/a_block/dorms)
"fpB" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 5
- },
-/turf/open/floor/corsat{
- dir = 8;
- icon_state = "brown"
+/obj/structure/stairs/perspective{
+ dir = 1;
+ icon_state = "p_stair_full"
},
-/area/lv522/atmos/east_reactor/west)
+/turf/open/asphalt/cement,
+/area/lv522/outdoors/colony_streets/north_street)
"fpH" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 9
@@ -12323,12 +12269,11 @@
/turf/open/floor/prison,
/area/lv522/indoors/c_block/cargo)
"fvQ" = (
-/obj/structure/pipes/standard/simple/hidden/green,
+/obj/structure/window/framed/strata/reinforced,
/turf/open/floor/corsat{
- dir = 1;
- icon_state = "browncorner"
+ icon_state = "marked"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/sewer)
"fvV" = (
/obj/effect/decal/warning_stripes{
icon_state = "NW-out";
@@ -12775,12 +12720,12 @@
},
/area/lv522/indoors/b_block/hydro)
"fDC" = (
-/obj/structure/prop/ice_colony/ground_wire,
-/obj/structure/pipes/standard/simple/hidden/green,
-/turf/open/floor/corsat{
- icon_state = "squares"
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/prop/static_tank/water,
+/turf/open/floor/prison{
+ icon_state = "floor_plate"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/sewer)
"fDF" = (
/obj/structure/surface/rack,
/obj/item/card/id/silver/clearance_badge/cl{
@@ -13240,10 +13185,12 @@
},
/area/lv522/indoors/c_block/garage)
"fMT" = (
-/turf/open/floor/corsat{
- icon_state = "browncorner"
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/reagent_dispensers/watertank,
+/turf/open/floor/prison{
+ icon_state = "floor_plate"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/sewer)
"fNk" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
@@ -13517,7 +13464,9 @@
/obj/effect/decal/warning_stripes{
icon_state = "W"
},
-/turf/open/auto_turf/shale/layer1,
+/turf/open/asphalt/cement{
+ icon_state = "cement3"
+ },
/area/lv522/outdoors/colony_streets/south_west_street)
"fTO" = (
/obj/effect/landmark/xeno_spawn,
@@ -13714,10 +13663,6 @@
},
/area/lv522/indoors/a_block/medical)
"fYm" = (
-/obj/structure/stairs/perspective{
- dir = 10;
- icon_state = "p_stair_full"
- },
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/camera/autoname,
/obj/structure/machinery/light/small{
@@ -13889,11 +13834,10 @@
/area/lv522/atmos/reactor_garage)
"gbq" = (
/obj/structure/stairs/perspective{
- dir = 10;
icon_state = "p_stair_full"
},
-/obj/structure/platform_decoration{
- dir = 4
+/obj/structure/stairs/perspective{
+ icon_state = "p_stair_full"
},
/turf/open/floor/plating,
/area/lv522/indoors/c_block/cargo)
@@ -13940,7 +13884,9 @@
pixel_x = -2;
pixel_y = 16
},
-/turf/open/auto_turf/sand_white/layer0,
+/turf/open/asphalt/cement{
+ icon_state = "cement12"
+ },
/area/lv522/outdoors/colony_streets/south_street)
"gck" = (
/obj/structure/pipes/standard/manifold/hidden/green,
@@ -14483,8 +14429,8 @@
/turf/open/floor/plating,
/area/lv522/indoors/c_block/mining)
"glV" = (
-/obj/structure/platform{
- dir = 1
+/obj/structure/stairs/perspective{
+ icon_state = "p_stair_full"
},
/obj/item/stack/sheet/wood,
/turf/open/asphalt/cement{
@@ -14699,11 +14645,13 @@
},
/area/lv522/indoors/a_block/admin)
"gqG" = (
-/obj/structure/machinery/fuelcell_recycler,
-/turf/open/floor/corsat{
- icon_state = "plate"
+/obj/structure/platform,
+/obj/structure/stairs/perspective{
+ dir = 8;
+ icon_state = "p_stair_full"
},
-/area/lv522/atmos/east_reactor)
+/turf/open/gm/river,
+/area/lv522/atmos/sewer)
"grg" = (
/obj/effect/decal/cleanable/blood,
/obj/structure/machinery/light{
@@ -14729,14 +14677,14 @@
/turf/open/floor/plating/plating_catwalk/prison,
/area/lv522/indoors/a_block/dorms)
"grz" = (
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
-/obj/structure/prop/invuln/overhead/flammable_pipe/fly{
- pixel_y = 6
+/obj/structure/platform_decoration{
+ dir = 1
},
-/turf/open/floor/corsat{
- icon_state = "plate"
+/obj/structure/platform_decoration{
+ dir = 8
},
-/area/lv522/atmos/east_reactor)
+/turf/open/gm/river,
+/area/lv522/atmos/sewer)
"grP" = (
/obj/structure/pipes/standard/simple/hidden/green,
/turf/open/floor/prison,
@@ -14830,9 +14778,12 @@
},
/area/lv522/indoors/a_block/dorm_north)
"gtS" = (
-/obj/structure/pipes/standard/simple/hidden/green,
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 4
+ },
+/obj/structure/cargo_container/wy/mid,
/turf/open/auto_turf/shale/layer2,
-/area/lv522/outdoors/n_rockies)
+/area/lv522/outdoors/w_rockies)
"gtX" = (
/obj/effect/decal/cleanable/blood,
/obj/effect/decal/warning_stripes{
@@ -14969,12 +14920,11 @@
/turf/open/floor/plating/plating_catwalk/prison,
/area/lv522/indoors/a_block/bridges/corpo)
"gwk" = (
-/obj/structure/cable/heavyduty{
- icon_state = "4-8"
+/obj/structure/prop/static_tank/water,
+/turf/open/floor/prison{
+ icon_state = "floor_plate"
},
-/obj/structure/pipes/standard/simple/hidden/green,
-/turf/open/floor/plating,
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/sewer)
"gwt" = (
/obj/structure/cargo_container/wy/right,
/turf/open/floor/prison,
@@ -15135,18 +15085,6 @@
/obj/structure/barricade/deployable,
/turf/open/floor/prison,
/area/lv522/atmos/cargo_intake)
-"gzw" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out";
- pixel_x = -1;
- pixel_y = -1
- },
-/obj/effect/landmark/corpsespawner/wy/manager,
-/turf/open/floor{
- dir = 4;
- icon_state = "whiteyellowfull"
- },
-/area/lv522/oob/w_y_vault)
"gzD" = (
/obj/structure/prop/almayer/computers/sensor_computer3,
/turf/open/floor/corsat{
@@ -15168,12 +15106,9 @@
layer = 2.9
},
/obj/structure/stairs/perspective{
- dir = 9;
+ dir = 1;
icon_state = "p_stair_full"
},
-/obj/structure/platform_decoration{
- dir = 1
- },
/turf/open/asphalt/cement{
icon_state = "cement4"
},
@@ -15227,17 +15162,6 @@
icon_state = "blue"
},
/area/lv522/indoors/a_block/hallway)
-"gBb" = (
-/obj/structure/prop/structure_lattice,
-/obj/structure/stairs/perspective{
- dir = 5;
- icon_state = "p_stair_full"
- },
-/obj/structure/platform_decoration,
-/turf/open/asphalt/cement{
- icon_state = "cement4"
- },
-/area/lv522/outdoors/colony_streets/north_east_street)
"gBe" = (
/obj/item/stack/sheet/metal,
/obj/effect/decal/cleanable/dirt,
@@ -15254,7 +15178,9 @@
/obj/item/seeds/riceseed,
/obj/structure/closet/crate,
/obj/item/seeds/riceseed,
-/turf/open/auto_turf/sand_white/layer0,
+/turf/open/asphalt/cement{
+ icon_state = "cement3"
+ },
/area/lv522/outdoors/colony_streets/south_west_street)
"gBy" = (
/obj/effect/decal/warning_stripes{
@@ -15366,7 +15292,7 @@
/area/lv522/outdoors/nw_rockies)
"gEQ" = (
/obj/structure/surface/table/almayer,
-/obj/structure/machinery/computer/cameras/wooden_tv/prop{
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{
dir = 1;
pixel_x = -10;
pixel_y = 6
@@ -15763,18 +15689,6 @@
},
/turf/open/auto_turf/sand_white/layer0,
/area/lv522/outdoors/n_rockies)
-"gMe" = (
-/obj/structure/platform{
- dir = 1
- },
-/obj/structure/platform{
- dir = 4
- },
-/obj/structure/platform_decoration{
- dir = 9
- },
-/turf/open/asphalt/cement,
-/area/lv522/outdoors/n_rockies)
"gMy" = (
/obj/structure/stairs/perspective{
icon_state = "p_stair_full"
@@ -15852,14 +15766,9 @@
/turf/open/floor/plating,
/area/lv522/indoors/a_block/bridges/op_centre)
"gNN" = (
-/obj/structure/machinery/light{
- dir = 4
- },
-/turf/open/floor/strata{
- dir = 4;
- icon_state = "white_cyan1"
- },
-/area/lv522/oob/w_y_vault)
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating/plating_catwalk/prison,
+/area/lv522/atmos/sewer)
"gOb" = (
/obj/structure/closet/emcloset,
/obj/effect/decal/cleanable/dirt,
@@ -15873,12 +15782,8 @@
/turf/open/auto_turf/sand_white/layer0,
/area/lv522/outdoors/nw_rockies)
"gOo" = (
-/obj/structure/prop/invuln/fusion_reactor,
-/obj/structure/prop/turbine_extras,
-/turf/open/floor/corsat{
- icon_state = "plate"
- },
-/area/lv522/atmos/east_reactor)
+/turf/open/floor/plating/plating_catwalk/prison,
+/area/lv522/atmos/sewer)
"gOC" = (
/obj/structure/pipes/vents/pump,
/obj/effect/decal/cleanable/dirt,
@@ -15905,12 +15810,12 @@
},
/area/lv522/indoors/a_block/security/glass)
"gOG" = (
-/obj/structure/prop/turbine_extras/border,
-/obj/structure/prop/turbine,
-/turf/open/floor/corsat{
- icon_state = "plate"
+/obj/structure/surface/table/almayer,
+/obj/item/frame/fire_alarm,
+/turf/open/floor/prison{
+ icon_state = "floor_plate"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/sewer)
"gOJ" = (
/obj/item/tool/wirecutters{
pixel_x = -1;
@@ -16064,12 +15969,13 @@
},
/area/lv522/indoors/a_block/dorms)
"gRV" = (
-/obj/structure/prop/turbine,
-/obj/structure/prop/turbine_extras/border,
-/turf/open/floor/corsat{
- icon_state = "plate"
+/obj/structure/bed/chair{
+ dir = 4
},
-/area/lv522/atmos/east_reactor)
+/turf/open/floor/prison{
+ icon_state = "floor_plate"
+ },
+/area/lv522/atmos/sewer)
"gSn" = (
/turf/open/floor/corsat{
icon_state = "marked"
@@ -16838,12 +16744,12 @@
},
/area/lv522/indoors/c_block/cargo)
"heF" = (
-/obj/structure/prop/server_equipment/yutani_server,
-/turf/open/floor/corsat{
- dir = 1;
- icon_state = "brown"
+/obj/structure/surface/table/almayer,
+/obj/item/storage/belt/utility,
+/turf/open/floor/prison{
+ icon_state = "floor_plate"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/sewer)
"heO" = (
/obj/structure/machinery/camera/autoname{
dir = 4
@@ -16857,14 +16763,10 @@
},
/area/lv522/indoors/b_block/hydro)
"heU" = (
-/obj/structure/prop/server_equipment/yutani_server/broken{
- layer = 2.9
- },
-/turf/open/floor/corsat{
- dir = 1;
- icon_state = "brown"
- },
-/area/lv522/atmos/east_reactor)
+/obj/structure/blocker/invisible_wall,
+/obj/structure/platform_decoration,
+/turf/open/floor/plating,
+/area/lv522/atmos/sewer)
"heX" = (
/obj/structure/largecrate/random/barrel{
layer = 5.1;
@@ -16907,13 +16809,14 @@
/turf/open/floor/prison,
/area/lv522/indoors/a_block/admin)
"hfE" = (
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
-/obj/structure/prop/server_equipment/yutani_server/off,
-/turf/open/floor/corsat{
- dir = 1;
- icon_state = "brown"
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 5
},
-/area/lv522/atmos/east_reactor)
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/prison{
+ icon_state = "floor_plate"
+ },
+/area/lv522/atmos/sewer)
"hfS" = (
/obj/structure/pipes/standard/simple/hidden/green,
/turf/open/floor/prison,
@@ -16936,15 +16839,16 @@
},
/area/lv522/indoors/b_block/bridge)
"hgo" = (
-/obj/structure/stairs/perspective{
- dir = 9;
- icon_state = "p_stair_full"
- },
-/turf/open/floor/prison{
- dir = 4;
- icon_state = "greenfull"
+/obj/item/storage/backpack/marine/satchel{
+ desc = "It's the heavy-duty black polymer kind. Time to take out the trash!";
+ icon = 'icons/obj/janitor.dmi';
+ icon_state = "trashbag3";
+ name = "trash bag";
+ pixel_x = -4;
+ pixel_y = 5
},
-/area/lv522/indoors/b_block/hydro)
+/turf/open/floor/plating/plating_catwalk/prison,
+/area/lv522/atmos/sewer)
"hgr" = (
/obj/structure/girder/reinforced,
/turf/open/auto_turf/shale/layer1,
@@ -16980,14 +16884,12 @@
},
/area/lv522/atmos/east_reactor/west)
"hgQ" = (
-/obj/structure/prop/ice_colony/ground_wire{
- dir = 1
- },
-/obj/structure/pipes/standard/simple/hidden/green,
-/turf/open/floor/corsat{
- icon_state = "brown"
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 5
},
-/area/lv522/atmos/east_reactor)
+/turf/open/floor/prison,
+/area/lv522/atmos/sewer)
"hhb" = (
/obj/structure/platform{
dir = 4
@@ -18292,13 +18194,11 @@
/turf/open/floor/prison,
/area/lv522/atmos/outdoor)
"hHh" = (
-/obj/structure/machinery/colony_floodlight{
- layer = 4.3
- },
-/turf/open/asphalt/cement{
- icon_state = "cement9"
+/obj/structure/platform{
+ dir = 4
},
-/area/lv522/outdoors/colony_streets/north_east_street)
+/turf/open/asphalt/cement,
+/area/lv522/outdoors/colony_streets/central_streets)
"hHj" = (
/obj/structure/largecrate,
/turf/open/floor/corsat{
@@ -18583,14 +18483,15 @@
},
/area/lv522/outdoors/colony_streets/south_east_street)
"hME" = (
-/obj/effect/decal{
- icon = 'icons/mob/xenos/effects.dmi';
- icon_state = "acid_weak";
- layer = 2;
- name = "weak acid"
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out";
+ pixel_x = 1;
+ pixel_y = -1
},
-/turf/open/floor/corsat,
-/area/lv522/atmos/east_reactor)
+/turf/open/floor/prison{
+ icon_state = "floor_plate"
+ },
+/area/lv522/atmos/sewer)
"hMI" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
@@ -18628,10 +18529,24 @@
},
/area/lv522/atmos/east_reactor/south)
"hNj" = (
-/obj/item/stack/sheet/metal,
-/obj/structure/pipes/standard/simple/hidden/green,
-/turf/open/floor/corsat,
-/area/lv522/atmos/east_reactor)
+/obj/structure/machinery/door_control{
+ id = "Marked_6";
+ name = "Cargo Shutter Control";
+ pixel_y = 10
+ },
+/obj/structure/surface/table/almayer,
+/obj/item/prop{
+ desc = "The first page reads. 'Classified Weyland Bio-Weapons Division level eight clearance required.' The rest talks about some sort of XX-121 combat stim?";
+ icon = 'icons/obj/items/paper.dmi';
+ icon_state = "folder_black";
+ name = "Weyland classified intelligence folder";
+ pixel_y = -2
+ },
+/turf/open/floor/strata{
+ dir = 4;
+ icon_state = "white_cyan1"
+ },
+/area/lv522/oob/w_y_vault)
"hNk" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 9
@@ -18679,9 +18594,24 @@
/turf/open/auto_turf/sand_white/layer0,
/area/lv522/outdoors/colony_streets/north_street)
"hNV" = (
-/obj/item/stack/rods,
-/turf/open/floor/corsat,
-/area/lv522/atmos/east_reactor)
+/obj/item/storage/backpack/marine/satchel{
+ desc = "It's the heavy-duty black polymer kind. Time to take out the trash!";
+ icon = 'icons/obj/janitor.dmi';
+ icon_state = "trashbag3";
+ name = "trash bag";
+ pixel_x = -4;
+ pixel_y = 6
+ },
+/obj/item/storage/backpack/marine/satchel{
+ desc = "It's the heavy-duty black polymer kind. Time to take out the trash!";
+ icon = 'icons/obj/janitor.dmi';
+ icon_state = "trashbag3";
+ name = "trash bag";
+ pixel_x = 3;
+ pixel_y = -2
+ },
+/turf/open/floor/plating/plating_catwalk/prison,
+/area/lv522/atmos/sewer)
"hNZ" = (
/obj/effect/spawner/gibspawner/xeno,
/turf/open/floor/prison{
@@ -18868,11 +18798,11 @@
/turf/open/auto_turf/sand_white/layer0,
/area/lv522/outdoors/w_rockies)
"hRy" = (
-/obj/structure/prop/invuln/fusion_reactor,
-/turf/open/floor/corsat{
- icon_state = "plate"
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 10
},
-/area/lv522/atmos/east_reactor)
+/turf/open/floor/prison,
+/area/lv522/atmos/sewer)
"hRz" = (
/obj/structure/pipes/vents/pump,
/obj/effect/decal/cleanable/dirt,
@@ -18936,10 +18866,6 @@
"hTe" = (
/turf/open/gm/river,
/area/lv522/landing_zone_1/tunnel)
-"hTf" = (
-/obj/structure/platform_decoration,
-/turf/open/asphalt/cement,
-/area/lv522/outdoors/n_rockies)
"hTg" = (
/obj/structure/surface/table/almayer,
/turf/open/floor/corsat{
@@ -18977,13 +18903,12 @@
},
/area/lv522/indoors/c_block/cargo)
"hTI" = (
-/obj/structure/prop/server_equipment/yutani_server/off{
- pixel_x = -4
- },
-/turf/open/floor{
- icon_state = "bcircuit"
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
},
-/area/lv522/atmos/east_reactor)
+/turf/open/floor/prison,
+/area/lv522/atmos/sewer)
"hTW" = (
/obj/structure/largecrate/random/secure,
/obj/effect/landmark/lv624/fog_blocker/short,
@@ -19039,14 +18964,12 @@
/turf/open/floor/plating,
/area/lv522/landing_zone_1/tunnel)
"hUY" = (
-/obj/structure/window/reinforced{
- dir = 8
- },
-/obj/structure/prop/almayer/computers/sensor_computer1,
-/turf/open/floor{
- icon_state = "bcircuit"
+/obj/structure/closet/emcloset,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/corsat{
+ icon_state = "marked"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/sewer)
"hUZ" = (
/obj/structure/barricade/deployable,
/obj/item/weapon/gun/rifle/m41a{
@@ -19055,11 +18978,9 @@
/turf/open/floor/prison,
/area/lv522/atmos/cargo_intake)
"hVk" = (
-/obj/item/stack/sheet/metal,
-/turf/open/floor{
- icon_state = "bcircuit"
- },
-/area/lv522/atmos/east_reactor)
+/obj/structure/pipes/standard/simple/hidden/green,
+/turf/open/floor/prison,
+/area/lv522/atmos/sewer)
"hVu" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/prison{
@@ -19142,13 +19063,12 @@
/turf/closed/wall/mineral/bone_resin,
/area/lv522/oob)
"hXA" = (
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
-/obj/structure/pipes/standard/simple/hidden/green,
+/obj/structure/closet/firecloset/full,
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/corsat{
- dir = 9;
- icon_state = "brown"
+ icon_state = "marked"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/sewer)
"hXO" = (
/obj/structure/prop/invuln/ice_prefab{
dir = 10
@@ -19162,12 +19082,8 @@
},
/area/lv522/outdoors/colony_streets/central_streets)
"hXP" = (
-/obj/item/prop/alien/hugger,
-/turf/open/floor/corsat{
- dir = 5;
- icon_state = "brown"
- },
-/area/lv522/atmos/east_reactor)
+/turf/closed/wall/r_wall/biodome/biodome_unmeltable,
+/area/lv522/oob/w_y_vault)
"hXW" = (
/obj/item/storage/firstaid/adv/empty,
/turf/open/floor/prison{
@@ -19176,19 +19092,11 @@
},
/area/lv522/indoors/a_block/hallway)
"hXZ" = (
-/obj/structure/window/reinforced{
- dir = 8
- },
-/obj/effect/decal{
- icon = 'icons/mob/xenos/effects.dmi';
- icon_state = "acid_weak";
- layer = 2;
- name = "weak acid"
- },
-/turf/open/floor{
- icon_state = "bcircuit"
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "w-y1"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/oob/w_y_vault)
"hYf" = (
/turf/open/floor/prison{
icon_state = "floor_plate"
@@ -19202,14 +19110,12 @@
},
/area/lv522/atmos/east_reactor/south)
"hYk" = (
-/obj/structure/window/reinforced{
- dir = 4
- },
-/obj/item/stack/sheet/metal,
-/turf/open/floor{
- icon_state = "bcircuit"
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "w-y2"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/oob/w_y_vault)
"hYn" = (
/obj/item/tool/pen/blue/clicky{
pixel_x = 6
@@ -19251,13 +19157,14 @@
},
/area/lv522/outdoors/colony_streets/windbreaker/observation)
"hZn" = (
-/obj/structure/prop/server_equipment/yutani_server{
- pixel_x = -4
+/obj/structure/machinery/light{
+ dir = 4
},
-/turf/open/floor{
- icon_state = "bcircuit"
+/turf/open/floor/strata{
+ dir = 4;
+ icon_state = "white_cyan1"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/oob/w_y_vault)
"hZC" = (
/obj/structure/closet/crate,
/obj/item/stack/sheet/metal/medium_stack,
@@ -19266,16 +19173,15 @@
/turf/open/floor/prison,
/area/lv522/indoors/c_block/mining)
"hZK" = (
-/obj/structure/prop/server_equipment/yutani_server/broken{
- pixel_x = 3
- },
-/obj/structure/prop/server_equipment{
- pixel_x = -16
+/obj/structure/platform{
+ dir = 8
},
-/turf/open/floor{
- icon_state = "bcircuit"
+/obj/structure/stairs/perspective{
+ dir = 1;
+ icon_state = "p_stair_full"
},
-/area/lv522/atmos/east_reactor)
+/turf/open/gm/river,
+/area/lv522/atmos/sewer)
"hZL" = (
/obj/structure/bed/chair/wood/normal{
dir = 4
@@ -19413,14 +19319,12 @@
},
/area/lv522/atmos/cargo_intake)
"icr" = (
-/obj/structure/prop/invuln/overhead/flammable_pipe/fly{
- dir = 1
- },
-/turf/open/floor/corsat{
- dir = 9;
- icon_state = "brown"
+/obj/structure/stairs/perspective{
+ dir = 1;
+ icon_state = "p_stair_full"
},
-/area/lv522/atmos/east_reactor)
+/turf/open/gm/river,
+/area/lv522/atmos/sewer)
"icy" = (
/obj/item/prop/alien/hugger,
/turf/open/floor/prison,
@@ -19430,25 +19334,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/prison,
/area/lv522/indoors/lone_buildings/storage_blocks)
-"icM" = (
-/obj/structure/machinery/door_control{
- id = "Marked_6";
- name = "Cargo Shutter Control";
- pixel_y = 10
- },
-/obj/structure/surface/table/almayer,
-/obj/item/prop{
- desc = "The first page reads. 'Classified Weyland Bio-Weapons Division level eight clearance required.' The rest talks about some sort of XX-121 combat stim?";
- icon = 'icons/obj/items/paper.dmi';
- icon_state = "folder_black";
- name = "Weyland classified intelligence folder";
- pixel_y = -2
- },
-/turf/open/floor/strata{
- dir = 4;
- icon_state = "white_cyan1"
- },
-/area/lv522/oob/w_y_vault)
"icT" = (
/obj/structure/machinery/light{
dir = 1
@@ -19481,13 +19366,15 @@
},
/area/lv522/atmos/east_reactor/west)
"idq" = (
-/obj/structure/machinery/power/apc/weak{
- dir = 1
+/obj/structure/platform{
+ dir = 4
},
-/turf/open/floor/corsat{
- icon_state = "plate"
+/obj/structure/stairs/perspective{
+ dir = 1;
+ icon_state = "p_stair_full"
},
-/area/lv522/atmos/east_reactor)
+/turf/open/gm/river,
+/area/lv522/atmos/sewer)
"idt" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
@@ -19533,14 +19420,15 @@
/turf/closed/wall/solaris/reinforced/hull/lv522,
/area/lv522/oob)
"ier" = (
-/obj/structure/bed/chair/comfy{
- dir = 1
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
},
-/turf/open/floor/corsat{
- dir = 9;
- icon_state = "brown"
+/turf/open/floor/prison{
+ icon_state = "floor_plate"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/atmos/sewer)
"ieE" = (
/obj/item/ammo_magazine/rifle/heap{
current_rounds = 0
@@ -19585,14 +19473,16 @@
/turf/open/floor/plating,
/area/lv522/landing_zone_forecon/UD6_Tornado)
"ifh" = (
-/obj/structure/prop/invuln/overhead/flammable_pipe/fly{
- dir = 1;
- pixel_y = 6
+/obj/effect/decal/warning_stripes{
+ icon_state = "NE-out";
+ pixel_x = 1;
+ pixel_y = 1
},
-/turf/open/floor/corsat{
- icon_state = "plate"
+/turf/open/floor{
+ dir = 4;
+ icon_state = "whiteyellowfull"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/oob/w_y_vault)
"ifi" = (
/obj/structure/cargo_container/hd/left/alt,
/turf/open/floor/corsat{
@@ -19630,14 +19520,15 @@
/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/colony_streets/north_east_street)
"igp" = (
-/obj/structure/bed/chair/comfy{
- dir = 1
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
},
-/turf/open/floor/corsat{
- dir = 1;
- icon_state = "brown"
+/turf/open/floor{
+ dir = 4;
+ icon_state = "whiteyellowfull"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/oob/w_y_vault)
"igv" = (
/obj/structure/desertdam/decals/road_edge{
icon_state = "road_edge_decal3";
@@ -19652,16 +19543,17 @@
/turf/open/floor/wood,
/area/lv522/indoors/a_block/fitness/glass)
"igA" = (
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
-/obj/structure/reagent_dispensers/water_cooler/stacks{
- density = 0;
- pixel_y = 24
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out";
+ layer = 2.5;
+ pixel_x = -1;
+ pixel_y = 1
},
-/turf/open/floor/corsat{
- dir = 5;
- icon_state = "brown"
+/turf/open/floor{
+ dir = 4;
+ icon_state = "whiteyellowfull"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/oob/w_y_vault)
"igL" = (
/obj/structure/machinery/disposal,
/turf/open/floor/prison{
@@ -19991,7 +19883,10 @@
/area/lv522/outdoors/nw_rockies)
"ioD" = (
/obj/structure/prop/structure_lattice,
-/obj/structure/platform,
+/obj/structure/stairs/perspective{
+ dir = 1;
+ icon_state = "p_stair_full"
+ },
/turf/open/asphalt/cement{
icon_state = "cement4"
},
@@ -20046,21 +19941,6 @@
icon_state = "white_cyan2"
},
/area/lv522/indoors/toilet)
-"ipH" = (
-/obj/structure/surface/table/almayer,
-/obj/item/stack/sheet/mineral/gold{
- amount = 60;
- pixel_y = 6
- },
-/obj/item/stack/sheet/mineral/gold{
- amount = 60;
- pixel_y = 12
- },
-/turf/open/floor/strata{
- dir = 4;
- icon_state = "white_cyan1"
- },
-/area/lv522/oob/w_y_vault)
"ipN" = (
/obj/structure/pipes/standard/manifold/hidden/green{
dir = 8
@@ -20218,17 +20098,9 @@
},
/area/lv522/atmos/cargo_intake)
"isL" = (
-/obj/structure/surface/table/almayer,
-/obj/item/spacecash/c1000,
-/obj/item/spacecash/c1000,
-/obj/item/spacecash/c1000,
-/obj/item/spacecash/c1000,
-/obj/item/spacecash/c1000,
-/obj/item/spacecash/c1000,
-/obj/item/spacecash/c1000,
-/obj/item/spacecash/c1000,
-/obj/item/spacecash/c1000,
-/obj/item/spacecash/c1000,
+/obj/structure/machinery/light{
+ dir = 8
+ },
/turf/open/floor/strata{
dir = 4;
icon_state = "white_cyan1"
@@ -20385,12 +20257,9 @@
/obj/effect/decal/cleanable/blood/xeno,
/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/nw_rockies)
-"ivK" = (
-/turf/closed/wall/strata_outpost/reinforced/hull,
-/area/lv522/indoors/lone_buildings/engineering)
"ivN" = (
/obj/structure/surface/table/almayer,
-/obj/structure/machinery/computer/cameras/wooden_tv/prop{
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{
pixel_y = 8
},
/turf/open/floor/prison{
@@ -20844,6 +20713,9 @@
pixel_y = 5
},
/obj/item/tool/pen/blue/clicky,
+/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest,
+/obj/effect/landmark/xeno_spawn,
+/obj/effect/landmark/corpsespawner/colonist/burst,
/turf/open/floor/corsat{
icon_state = "plate"
},
@@ -20861,11 +20733,22 @@
/turf/open/shuttle/dropship/can_surgery/light_grey_single_wide_left_to_right,
/area/lv522/landing_zone_forecon/UD6_Typhoon)
"iGl" = (
-/obj/structure/machinery/door/airlock/almayer/engineering,
-/turf/open/floor/corsat{
- icon_state = "marked"
+/obj/structure/surface/table/almayer,
+/obj/item/spacecash/c1000,
+/obj/item/spacecash/c1000,
+/obj/item/spacecash/c1000,
+/obj/item/spacecash/c1000,
+/obj/item/spacecash/c1000,
+/obj/item/spacecash/c1000,
+/obj/item/spacecash/c1000,
+/obj/item/spacecash/c1000,
+/obj/item/spacecash/c1000,
+/obj/item/spacecash/c1000,
+/turf/open/floor/strata{
+ dir = 4;
+ icon_state = "white_cyan1"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/oob/w_y_vault)
"iGn" = (
/obj/structure/largecrate/random/barrel{
layer = 3.2;
@@ -21178,17 +21061,11 @@
},
/area/lv522/indoors/a_block/bridges/garden_bridge)
"iLC" = (
-/obj/structure/stairs/perspective{
- dir = 1;
- icon_state = "p_stair_full"
- },
-/obj/structure/pipes/standard/simple/hidden/green,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/prison{
- dir = 9;
- icon_state = "greenfull"
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 4
},
-/area/lv522/indoors/b_block/hydro)
+/turf/open/floor/prison,
+/area/lv522/atmos/sewer)
"iMv" = (
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/corsat,
@@ -21443,12 +21320,13 @@
/area/lv522/indoors/a_block/admin)
"iQR" = (
/obj/structure/stairs/perspective{
- dir = 5;
+ dir = 6;
icon_state = "p_stair_full"
},
-/obj/structure/platform_decoration,
-/turf/open/asphalt/cement,
-/area/lv522/outdoors/colony_streets/east_central_street)
+/turf/open/asphalt/cement{
+ icon_state = "cement12"
+ },
+/area/lv522/outdoors/colony_streets/south_east_street)
"iRa" = (
/obj/structure/largecrate/random,
/obj/effect/decal/cleanable/dirt,
@@ -21462,13 +21340,12 @@
/turf/open/floor/plating,
/area/lv522/outdoors/colony_streets/north_east_street)
"iRV" = (
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest,
-/obj/effect/landmark/corpsespawner/colonist/burst,
-/turf/open/floor/corsat{
- dir = 1;
- icon_state = "brown"
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/stairs/perspective{
+ icon_state = "p_stair_full"
},
-/area/lv522/atmos/east_reactor/south)
+/turf/open/floor/plating,
+/area/lv522/indoors/c_block/cargo)
"iRW" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -21499,12 +21376,9 @@
/turf/open/auto_turf/shale/layer2,
/area/lv522/outdoors/colony_streets/north_west_street)
"iSF" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/prop/server_equipment/laptop/on,
-/turf/open/floor/corsat{
- icon_state = "plate"
- },
-/area/lv522/atmos/east_reactor)
+/obj/structure/largecrate/random,
+/turf/open/floor/plating,
+/area/lv522/indoors/c_block/cargo)
"iTb" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/prop/almayer/computer/PC{
@@ -21533,12 +21407,34 @@
},
/area/lv522/indoors/a_block/security)
"iTn" = (
-/obj/structure/bed/chair/comfy,
-/turf/open/floor/corsat{
- dir = 10;
- icon_state = "brown"
+/obj/structure/closet/crate/freezer{
+ layer = 3
},
-/area/lv522/atmos/east_reactor)
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/obj/item/reagent_container/food/snacks/grown/orange,
+/turf/open/floor/plating,
+/area/lv522/indoors/c_block/cargo)
"iTF" = (
/obj/item/ammo_box/magazine/m4ra/ap/empty,
/obj/effect/decal/cleanable/dirt,
@@ -21608,22 +21504,13 @@
},
/area/lv522/indoors/a_block/dorms)
"iUT" = (
-/obj/structure/prop/ice_colony/ground_wire{
- dir = 8
- },
-/turf/open/floor/corsat{
- dir = 8;
- icon_state = "browncorner"
- },
-/area/lv522/atmos/east_reactor)
+/obj/structure/machinery/squeezer,
+/turf/open/floor/plating,
+/area/lv522/indoors/c_block/cargo)
"iUX" = (
-/obj/structure/prop/ice_colony/ground_wire{
- dir = 4
- },
-/turf/open/floor/corsat{
- icon_state = "browncorner"
- },
-/area/lv522/atmos/east_reactor)
+/obj/structure/platform,
+/turf/open/asphalt/cement,
+/area/lv522/outdoors/colony_streets/south_street)
"iVe" = (
/obj/structure/stairs/perspective{
dir = 5;
@@ -21636,12 +21523,13 @@
},
/area/lv522/indoors/a_block/hallway)
"iVk" = (
-/obj/structure/bed/chair/comfy,
-/turf/open/floor/corsat{
- dir = 6;
- icon_state = "brown"
+/obj/structure/platform_decoration{
+ dir = 1
},
-/area/lv522/atmos/east_reactor)
+/turf/open/asphalt/cement{
+ icon_state = "cement9"
+ },
+/area/lv522/outdoors/colony_streets/south_street)
"iVm" = (
/obj/item/storage/backpack/marine/satchel{
desc = "It's the heavy-duty black polymer kind. Time to take out the trash!";
@@ -21662,14 +21550,11 @@
},
/area/lv522/indoors/a_block/admin)
"iVU" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/prop/almayer/computer/PC{
- dir = 8
- },
-/turf/open/floor/corsat{
- icon_state = "plate"
+/obj/structure/platform_decoration,
+/turf/open/asphalt/cement{
+ icon_state = "cement2"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/outdoors/colony_streets/south_street)
"iVY" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spider/spiderling/nogrow,
@@ -21767,6 +21652,7 @@
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
},
+/obj/structure/cargo_container/wy/left,
/turf/open/auto_turf/shale/layer2,
/area/lv522/outdoors/w_rockies)
"iXM" = (
@@ -22140,20 +22026,23 @@
},
/area/lv522/atmos/east_reactor/south)
"jey" = (
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest,
-/obj/effect/landmark/corpsespawner/colonist/burst,
-/turf/open/floor/corsat{
- icon_state = "plate"
+/obj/structure/pipes/standard/simple/hidden/green,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/prison{
+ dir = 9;
+ icon_state = "greenfull"
},
-/area/lv522/atmos/east_reactor/south)
+/area/lv522/indoors/b_block/bridge)
"jeD" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/faxmachine,
-/turf/open/floor/corsat{
- icon_state = "plate"
+/obj/structure/stairs/perspective{
+ dir = 1;
+ icon_state = "p_stair_full"
},
-/area/lv522/atmos/east_reactor)
+/obj/structure/platform{
+ dir = 4
+ },
+/turf/open/asphalt/cement,
+/area/lv522/outdoors/colony_streets/south_street)
"jeH" = (
/obj/structure/machinery/light,
/obj/structure/pipes/vents/pump,
@@ -22225,14 +22114,14 @@
},
/area/lv522/atmos/way_in_command_centre)
"jfK" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/prop/almayer/computer/PC{
- dir = 1
+/obj/structure/stairs/perspective{
+ icon_state = "p_stair_full"
},
-/turf/open/floor/corsat{
- icon_state = "plate"
+/obj/structure/platform{
+ dir = 4
},
-/area/lv522/atmos/east_reactor)
+/turf/open/asphalt/cement,
+/area/lv522/outdoors/colony_streets/south_street)
"jfO" = (
/turf/open/floor/prison,
/area/lv522/indoors/a_block/kitchen/glass)
@@ -22325,37 +22214,32 @@
},
/area/lv522/atmos/east_reactor)
"jhY" = (
-/obj/structure/surface/table/almayer,
-/obj/item/clothing/glasses/meson,
-/obj/item/prop/alien/hugger,
-/turf/open/floor/corsat{
- icon_state = "plate"
+/obj/structure/platform{
+ dir = 4
},
-/area/lv522/atmos/east_reactor)
+/turf/open/asphalt/cement,
+/area/lv522/outdoors/colony_streets/south_west_street)
"jic" = (
-/obj/structure/surface/table/almayer,
-/obj/item/reagent_container/food/snacks/cheeseburger{
- pixel_y = 5
+/obj/structure/platform{
+ dir = 1
},
-/obj/item/trash/burger,
-/turf/open/floor/corsat{
- icon_state = "plate"
+/obj/structure/machinery/colony_floodlight,
+/obj/structure/platform{
+ dir = 8
},
-/area/lv522/atmos/east_reactor)
-"jig" = (
-/obj/structure/surface/table/almayer,
-/obj/item/clothing/head/hardhat{
- pixel_x = -7;
- pixel_y = 8
+/obj/structure/platform_decoration{
+ dir = 5
},
-/obj/item/clothing/head/hardhat{
- pixel_x = 8;
- pixel_y = 14
+/turf/open/asphalt/cement,
+/area/lv522/outdoors/colony_streets/south_street)
+"jig" = (
+/obj/structure/platform_decoration{
+ dir = 4
},
-/turf/open/floor/corsat{
- icon_state = "plate"
+/turf/open/asphalt/cement{
+ icon_state = "cement12"
},
-/area/lv522/atmos/east_reactor)
+/area/lv522/outdoors/colony_streets/south_street)
"jin" = (
/obj/structure/filtration/machine_96x96/indestructible{
icon_state = "sedimentation_A_1";
@@ -22583,16 +22467,6 @@
icon_state = "darkyellowfull2"
},
/area/lv522/indoors/lone_buildings/engineering)
-"jkO" = (
-/obj/structure/platform{
- dir = 4
- },
-/obj/structure/platform,
-/obj/structure/platform_decoration{
- dir = 6
- },
-/turf/open/asphalt/cement,
-/area/lv522/outdoors/n_rockies)
"jlc" = (
/obj/structure/surface/rack,
/obj/item/tool/minihoe{
@@ -23606,13 +23480,13 @@
},
/area/lv522/atmos/cargo_intake)
"jCQ" = (
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest,
-/obj/effect/landmark/xeno_spawn,
-/turf/open/floor/corsat{
- dir = 8;
- icon_state = "browncorner"
+/obj/structure/platform_decoration{
+ dir = 8
},
-/area/lv522/atmos/east_reactor/south)
+/turf/open/asphalt/cement{
+ icon_state = "cement12"
+ },
+/area/lv522/outdoors/colony_streets/south_street)
"jCS" = (
/obj/item/trash/wy_chips_pepper,
/obj/structure/machinery/light{
@@ -23690,9 +23564,6 @@
density = 0;
pixel_y = 16
},
-/obj/structure/platform_decoration{
- dir = 4
- },
/turf/open/gm/river,
/area/lv522/atmos/sewer)
"jDO" = (
@@ -23716,10 +23587,11 @@
"jEk" = (
/obj/structure/pipes/standard/simple/hidden/green,
/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest,
-/obj/effect/landmark/xeno_spawn,
/obj/structure/machinery/light{
dir = 4
},
+/obj/effect/landmark/corpsespawner/colonist/burst,
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/corsat{
icon_state = "plate"
},
@@ -23831,9 +23703,12 @@
/turf/open/floor/plating,
/area/lv522/indoors/c_block/mining)
"jGh" = (
-/obj/structure/cargo_container/grant/right,
+/obj/structure/pipes/standard/simple/hidden/green{
+ dir = 4
+ },
+/obj/structure/cargo_container/wy/right,
/turf/open/auto_turf/shale/layer1,
-/area/lv522/outdoors/colony_streets/north_west_street)
+/area/lv522/outdoors/w_rockies)
"jGj" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/maintenance_jack,
@@ -23867,10 +23742,8 @@
/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/colony_streets/central_streets)
"jHa" = (
-/obj/structure/cargo_container/wy/right{
- layer = 5
- },
-/turf/open/auto_turf/sand_white/layer0,
+/obj/structure/cargo_container/kelland/left,
+/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/w_rockies)
"jHb" = (
/turf/open/gm/river,
@@ -23959,11 +23832,14 @@
},
/area/lv522/outdoors/n_rockies)
"jIQ" = (
-/obj/structure/cable/heavyduty{
- icon_state = "4-8"
+/obj/structure/machinery/colony_floodlight{
+ layer = 4.3
},
-/turf/open/floor/plating,
-/area/lv522/atmos/east_reactor)
+/obj/structure/platform{
+ dir = 1
+ },
+/turf/open/asphalt/cement,
+/area/lv522/outdoors/colony_streets/south_street)
"jIR" = (
/obj/effect/decal/cleanable/greenglow,
/turf/open/gm/river,
@@ -24664,9 +24540,9 @@
},
/area/lv522/indoors/a_block/dorms)
"jVS" = (
-/obj/structure/cargo_container/kelland/right,
-/turf/open/auto_turf/sand_white/layer0,
-/area/lv522/outdoors/colony_streets/north_west_street)
+/obj/structure/cargo_container/horizontal/blue/top,
+/turf/open/auto_turf/shale/layer1,
+/area/lv522/outdoors/w_rockies)
"jVV" = (
/obj/structure/prop/invuln/minecart_tracks,
/obj/structure/closet/crate/miningcar{
@@ -25331,9 +25207,6 @@
icon_state = "floor_plate"
},
/area/lv522/atmos/way_in_command_centre)
-"khd" = (
-/turf/closed/wall/strata_outpost/reinforced/hull,
-/area/lv522/indoors/c_block/cargo)
"khf" = (
/obj/structure/prop/server_equipment,
/turf/open/floor/prison{
@@ -25548,12 +25421,13 @@
},
/area/lv522/atmos/west_reactor)
"kkq" = (
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
-/obj/structure/machinery/light,
-/turf/open/floor/corsat{
- icon_state = "plate"
+/obj/structure/platform_decoration{
+ dir = 8
},
-/area/lv522/atmos/east_reactor)
+/turf/open/asphalt/cement{
+ icon_state = "cement3"
+ },
+/area/lv522/outdoors/colony_streets/south_west_street)
"kkr" = (
/obj/structure/prop/ice_colony/ground_wire{
dir = 8
@@ -26490,7 +26364,9 @@
/turf/open/floor/plating,
/area/lv522/indoors/c_block/garage)
"kBD" = (
-/obj/structure/machinery/power/port_gen/pacman,
+/obj/structure/cargo_container/horizontal/blue/middle{
+ layer = 3.1
+ },
/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/w_rockies)
"kBJ" = (
@@ -26514,7 +26390,7 @@
},
/area/lv522/atmos/cargo_intake)
"kBT" = (
-/obj/structure/cargo_container/grant/left,
+/obj/structure/cargo_container/horizontal/blue/bottom,
/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/w_rockies)
"kBU" = (
@@ -26581,7 +26457,7 @@
/area/lv522/atmos/cargo_intake)
"kCN" = (
/obj/structure/surface/table/almayer,
-/obj/structure/machinery/computer/cameras/wooden_tv/prop{
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{
pixel_y = 16
},
/obj/item/trash/plate,
@@ -26828,11 +26704,13 @@
},
/area/lv522/indoors/a_block/security)
"kHX" = (
-/turf/open/floor/corsat{
- dir = 10;
- icon_state = "brown"
+/obj/structure/platform_decoration{
+ dir = 4
},
-/area/lv522/atmos/east_reactor)
+/turf/open/asphalt/cement{
+ icon_state = "cement1"
+ },
+/area/lv522/outdoors/colony_streets/south_street)
"kHZ" = (
/obj/structure/surface/table/almayer,
/obj/item/tool/weldpack{
@@ -26893,7 +26771,8 @@
/area/lv522/indoors/a_block/admin)
"kIV" = (
/obj/effect/decal/warning_stripes{
- icon_state = "SW-out"
+ icon_state = "SE-out";
+ pixel_x = 1
},
/turf/open/auto_turf/sand_white/layer0,
/area/lv522/outdoors/colony_streets/south_east_street)
@@ -27025,19 +26904,13 @@
},
/area/lv522/atmos/filt)
"kLO" = (
-/obj/structure/stairs/perspective{
- dir = 1;
- icon_state = "p_stair_full"
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out"
},
-/turf/open/floor/prison{
- dir = 9;
- icon_state = "greenfull"
+/turf/open/asphalt/cement{
+ icon_state = "cement3"
},
-/area/lv522/indoors/b_block/hydro)
-"kLQ" = (
-/obj/structure/cargo_container/grant/right,
-/turf/open/auto_turf/shale/layer1,
-/area/lv522/outdoors/w_rockies)
+/area/lv522/outdoors/colony_streets/south_west_street)
"kMi" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
@@ -27089,14 +26962,6 @@
},
/turf/open/floor/plating/plating_catwalk/prison,
/area/lv522/indoors/a_block/admin)
-"kNj" = (
-/obj/structure/prop/vehicles/crawler{
- dir = 8;
- icon_state = "crawler_crate_alt2";
- layer = 3.1
- },
-/turf/open/auto_turf/sand_white/layer0,
-/area/lv522/outdoors/w_rockies)
"kNw" = (
/obj/item/prop/alien/hugger,
/obj/structure/pipes/standard/simple/hidden/green{
@@ -27315,7 +27180,7 @@
/area/lv522/indoors/a_block/security)
"kRf" = (
/obj/structure/prop/invuln/ice_prefab/trim{
- dir = 6
+ dir = 8
},
/obj/structure/cargo_container/grant/rightmid,
/turf/open/auto_turf/sand_white/layer0,
@@ -27671,13 +27536,6 @@
icon_state = "marked"
},
/area/lv522/landing_zone_1/ceiling)
-"kWD" = (
-/obj/structure/prop/vehicles/crawler{
- icon_state = "crawler_crate_alt2";
- layer = 3.1
- },
-/turf/open/auto_turf/shale/layer1,
-/area/lv522/outdoors/w_rockies)
"kWH" = (
/obj/structure/stairs/perspective{
dir = 8;
@@ -27942,7 +27800,9 @@
/area/lv522/indoors/a_block/admin)
"lbH" = (
/obj/structure/largecrate/random,
-/turf/open/auto_turf/shale/layer1,
+/turf/open/asphalt/cement{
+ icon_state = "cement12"
+ },
/area/lv522/outdoors/colony_streets/south_street)
"lbI" = (
/obj/structure/surface/table/almayer,
@@ -28192,10 +28052,11 @@
/area/lv522/landing_zone_1)
"lhb" = (
/obj/structure/prop/invuln/ice_prefab{
- dir = 9
+ dir = 5
},
/obj/structure/prop/invuln/ice_prefab/roof_greeble{
- icon_state = "solarpanel1"
+ icon_state = "solarpanel1";
+ pixel_x = 7
},
/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/w_rockies)
@@ -28218,12 +28079,6 @@
icon_state = "darkredfull2"
},
/area/lv522/outdoors/colony_streets/north_street)
-"lhC" = (
-/obj/structure/prop/invuln/ice_prefab{
- dir = 5
- },
-/turf/open/auto_turf/sand_white/layer0,
-/area/lv522/outdoors/w_rockies)
"lhD" = (
/obj/structure/barricade/handrail{
dir = 1
@@ -28332,6 +28187,7 @@
"ljQ" = (
/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest,
/obj/effect/landmark/corpsespawner/colonist/burst,
+/obj/effect/landmark/xeno_spawn,
/turf/open/floor/corsat{
dir = 8;
icon_state = "brown"
@@ -28837,12 +28693,11 @@
/turf/open/floor/plating/plating_catwalk/prison,
/area/lv522/indoors/a_block/security)
"lul" = (
-/obj/structure/surface/table/almayer,
-/obj/item/frame/fire_alarm,
-/turf/open/floor/prison{
- icon_state = "floor_plate"
+/obj/structure/platform_decoration,
+/turf/open/asphalt/cement{
+ icon_state = "cement3"
},
-/area/lv522/atmos/sewer)
+/area/lv522/outdoors/colony_streets/south_west_street)
"lum" = (
/obj/structure/platform,
/obj/structure/platform{
@@ -28867,7 +28722,9 @@
/obj/effect/decal/warning_stripes{
icon_state = "W"
},
-/turf/open/auto_turf/sand_white/layer0,
+/turf/open/asphalt/cement{
+ icon_state = "cement3"
+ },
/area/lv522/outdoors/colony_streets/south_west_street)
"lvF" = (
/obj/item/tool/surgery/circular_saw,
@@ -28922,7 +28779,9 @@
/obj/structure/pipes/standard/simple/hidden/green{
dir = 10
},
-/turf/open/floor/plating/plating_catwalk/prison,
+/turf/open/floor/prison{
+ icon_state = "floor_plate"
+ },
/area/lv522/atmos/sewer)
"lwv" = (
/obj/structure/machinery/light{
@@ -28961,10 +28820,6 @@
},
/turf/open/floor/prison,
/area/lv522/indoors/a_block/admin)
-"lxj" = (
-/obj/structure/prop/invuln/ice_prefab,
-/turf/open/auto_turf/sand_white/layer0,
-/area/lv522/outdoors/w_rockies)
"lxp" = (
/obj/structure/machinery/light{
dir = 1
@@ -29251,18 +29106,6 @@
icon_state = "blue_plate"
},
/area/lv522/indoors/a_block/admin)
-"lCn" = (
-/obj/structure/stairs/perspective{
- dir = 10;
- icon_state = "p_stair_full"
- },
-/obj/structure/platform_decoration{
- dir = 4
- },
-/turf/open/asphalt/cement{
- icon_state = "cement12"
- },
-/area/lv522/outdoors/colony_streets/east_central_street)
"lCx" = (
/obj/effect/decal/cleanable/generic,
/turf/open/floor/prison{
@@ -29897,6 +29740,10 @@
/area/lv522/outdoors/colony_streets/south_east_street)
"lPv" = (
/obj/effect/decal/cleanable/liquid_fuel,
+/obj/structure/stairs/perspective{
+ dir = 1;
+ icon_state = "p_stair_full"
+ },
/turf/open/asphalt/cement{
icon_state = "cement4"
},
@@ -30182,7 +30029,9 @@
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
},
-/turf/open/auto_turf/shale/layer1,
+/turf/open/asphalt/cement{
+ icon_state = "cement12"
+ },
/area/lv522/outdoors/colony_streets/north_east_street)
"lWa" = (
/obj/structure/pipes/standard/simple/hidden/green{
@@ -30256,7 +30105,9 @@
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
},
-/turf/open/auto_turf/sand_white/layer0,
+/turf/open/asphalt/cement{
+ icon_state = "cement12"
+ },
/area/lv522/outdoors/colony_streets/north_east_street)
"lYG" = (
/obj/structure/platform_decoration{
@@ -30335,7 +30186,6 @@
/area/lv522/indoors/b_block/bar)
"mad" = (
/obj/effect/decal/cleanable/blood,
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
/turf/open/floor/corsat{
icon_state = "marked"
},
@@ -31065,8 +30915,13 @@
},
/area/lv522/atmos/filt)
"moe" = (
-/turf/closed/wall/strata_outpost/reinforced/hull,
-/area/lv522/oob/w_y_vault)
+/obj/structure/stairs/perspective{
+ dir = 8;
+ icon_state = "p_stair_full"
+ },
+/obj/structure/platform,
+/turf/open/asphalt/cement,
+/area/lv522/outdoors/colony_streets/south_west_street)
"moz" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/light{
@@ -32080,7 +31935,10 @@
/obj/structure/cargo_container/kelland/left{
layer = 2.9
},
-/obj/structure/platform,
+/obj/structure/stairs/perspective{
+ dir = 1;
+ icon_state = "p_stair_full"
+ },
/turf/open/asphalt/cement{
icon_state = "cement4"
},
@@ -32320,9 +32178,13 @@
/turf/open/shuttle/dropship/can_surgery/light_grey_bottom_left,
/area/lv522/landing_zone_forecon/UD6_Typhoon)
"mNI" = (
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "w-y1"
+/obj/effect/decal/warning_stripes{
+ icon_state = "S";
+ pixel_y = -1
+ },
+/turf/open/floor{
+ dir = 4;
+ icon_state = "whiteyellowfull"
},
/area/lv522/oob/w_y_vault)
"mNR" = (
@@ -32601,9 +32463,13 @@
},
/area/lv522/indoors/a_block/kitchen)
"mRh" = (
-/obj/structure/window/framed/corsat,
-/turf/open/floor/corsat,
-/area/lv522/atmos/east_reactor)
+/obj/structure/stairs/perspective{
+ dir = 4;
+ icon_state = "p_stair_full"
+ },
+/obj/structure/platform,
+/turf/open/asphalt/cement,
+/area/lv522/outdoors/colony_streets/south_street)
"mRs" = (
/obj/item/prop/colony/used_flare,
/turf/open/auto_turf/shale/layer1,
@@ -32737,21 +32603,6 @@
},
/turf/open/floor/plating,
/area/lv522/atmos/filt)
-"mUo" = (
-/obj/structure/platform{
- dir = 8
- },
-/obj/structure/blocker/invisible_wall,
-/obj/structure/prop/invuln{
- desc = "big pile energy.";
- icon = 'icons/obj/structures/props/ice_colony/barrel_yard.dmi';
- icon_state = "pile_0";
- layer = 2.9;
- name = "barrel pile";
- pixel_y = 3
- },
-/turf/open/floor/plating,
-/area/lv522/indoors/c_block/cargo)
"mUr" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -32955,7 +32806,7 @@
/area/lv522/indoors/a_block/dorms)
"mZK" = (
/obj/structure/surface/table/almayer,
-/obj/structure/machinery/computer/cameras/wooden_tv/prop{
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{
pixel_x = 16;
pixel_y = 7
},
@@ -32965,12 +32816,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/prison,
/area/lv522/indoors/a_block/dorms)
-"mZM" = (
-/obj/structure/cargo_container/wy/left{
- layer = 5
- },
-/turf/open/auto_turf/sand_white/layer0,
-/area/lv522/outdoors/w_rockies)
"mZN" = (
/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
/obj/structure/pipes/standard/simple/hidden/green{
@@ -33058,18 +32903,6 @@
/obj/structure/machinery/landinglight/ds1/delaythree,
/turf/open/floor/plating,
/area/lv522/landing_zone_1)
-"naZ" = (
-/obj/structure/platform_decoration{
- dir = 8
- },
-/obj/structure/stairs/perspective{
- dir = 6;
- icon_state = "p_stair_full"
- },
-/turf/open/asphalt/cement{
- icon_state = "cement12"
- },
-/area/lv522/outdoors/colony_streets/south_east_street)
"nbg" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -33148,8 +32981,9 @@
},
/area/lv522/atmos/cargo_intake)
"ncg" = (
-/obj/structure/platform{
- dir = 8
+/obj/structure/stairs/perspective{
+ dir = 4;
+ icon_state = "p_stair_full"
},
/turf/open/asphalt/cement{
icon_state = "cement1"
@@ -33233,7 +33067,9 @@
icon_state = "NW-out";
pixel_y = 1
},
-/turf/open/auto_turf/sand_white/layer0,
+/turf/open/asphalt/cement{
+ icon_state = "cement3"
+ },
/area/lv522/outdoors/colony_streets/south_west_street)
"nee" = (
/obj/structure/pipes/standard/manifold/hidden/green,
@@ -33661,11 +33497,13 @@
/turf/open/floor/prison,
/area/lv522/indoors/c_block/casino)
"nlY" = (
-/obj/structure/platform{
+/obj/structure/platform_decoration{
dir = 1
},
-/turf/open/asphalt/cement,
-/area/lv522/outdoors/colony_streets/east_central_street)
+/turf/open/asphalt/cement{
+ icon_state = "cement1"
+ },
+/area/lv522/outdoors/colony_streets/south_street)
"nmh" = (
/obj/structure/surface/table/reinforced/prison,
/obj/structure/machinery/prop/almayer/computer/PC{
@@ -33809,7 +33647,6 @@
/obj/effect/decal/cleanable/blood/xeno{
icon_state = "xgib3"
},
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_door,
/turf/open/floor/corsat{
icon_state = "marked"
},
@@ -34470,11 +34307,10 @@
/turf/open/auto_turf/sand_white/layer0,
/area/lv522/outdoors/w_rockies)
"nCC" = (
+/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes{
- icon_state = "NW-out";
- layer = 2.5;
- pixel_x = -1;
- pixel_y = 1
+ icon_state = "W";
+ pixel_x = -1
},
/turf/open/floor{
dir = 4;
@@ -34526,7 +34362,10 @@
"nDI" = (
/obj/structure/closet/crate/trashcart,
/obj/item/trash/wy_chips_pepper,
-/obj/structure/platform,
+/obj/structure/stairs/perspective{
+ dir = 1;
+ icon_state = "p_stair_full"
+ },
/turf/open/asphalt/cement,
/area/lv522/outdoors/colony_streets/east_central_street)
"nDM" = (
@@ -34613,9 +34452,7 @@
/turf/open/floor/prison,
/area/lv522/indoors/c_block/casino)
"nFO" = (
-/obj/structure/prop/invuln/ice_prefab{
- dir = 5
- },
+/obj/structure/machinery/power/port_gen/pacman,
/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/w_rockies)
"nGc" = (
@@ -34723,14 +34560,11 @@
/turf/open/floor/prison,
/area/lv522/indoors/a_block/admin)
"nIu" = (
-/obj/structure/stairs/perspective{
- dir = 9;
- icon_state = "p_stair_full"
- },
-/turf/open/asphalt/cement{
- icon_state = "cement4"
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
},
-/area/lv522/outdoors/colony_streets/north_street)
+/turf/open/auto_turf/sand_white/layer0,
+/area/lv522/outdoors/colony_streets/south_east_street)
"nIF" = (
/obj/structure/reagent_dispensers/fueltank{
layer = 2.9
@@ -35285,13 +35119,14 @@
/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/colony_streets/central_streets)
"nRy" = (
-/obj/structure/closet/fireaxecabinet{
- pixel_y = 29
+/obj/structure/machinery/colony_floodlight{
+ layer = 4.3
},
-/turf/open/floor/prison{
- icon_state = "floor_plate"
+/obj/structure/platform{
+ dir = 8
},
-/area/lv522/atmos/sewer)
+/turf/open/asphalt/cement,
+/area/lv522/outdoors/colony_streets/south_street)
"nRI" = (
/obj/item/ammo_magazine/rifle/heap{
current_rounds = 0
@@ -35371,9 +35206,6 @@
icon_state = "kitchen"
},
/area/lv522/indoors/a_block/fitness)
-"nSE" = (
-/turf/closed/wall/strata_outpost/reinforced/hull,
-/area/lv522/indoors/a_block/admin)
"nSF" = (
/obj/structure/barricade/deployable{
dir = 1
@@ -35400,10 +35232,6 @@
},
/turf/open/floor/prison,
/area/lv522/indoors/a_block/dorm_north)
-"nTj" = (
-/obj/effect/landmark/lv624/fog_blocker/short,
-/turf/closed/wall/strata_outpost/reinforced/hull,
-/area/lv522/oob/w_y_vault)
"nTl" = (
/turf/closed/wall/r_wall/biodome/biodome_unmeltable,
/area/lv522/atmos/east_reactor)
@@ -35726,14 +35554,6 @@
icon_state = "blue"
},
/area/lv522/indoors/a_block/hallway)
-"nYz" = (
-/obj/structure/platform{
- dir = 4
- },
-/turf/open/asphalt/cement{
- icon_state = "cement3"
- },
-/area/lv522/outdoors/n_rockies)
"nYF" = (
/obj/item/weapon/twohanded/folded_metal_chair,
/obj/effect/decal/cleanable/dirt,
@@ -35801,13 +35621,16 @@
},
/area/lv522/outdoors/n_rockies)
"oaj" = (
-/obj/structure/pipes/standard/simple/hidden/green,
-/turf/closed/wall/r_wall/biodome/biodome_unmeltable,
-/area/lv522/atmos/cargo_intake)
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out"
+ },
+/turf/open/auto_turf/sand_white/layer0,
+/area/lv522/outdoors/colony_streets/south_east_street)
"oan" = (
/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
+ icon_state = "SE-out";
+ pixel_x = 1;
+ pixel_y = -1
},
/turf/open/floor{
dir = 4;
@@ -36376,29 +36199,6 @@
icon_state = "floor_plate"
},
/area/lv522/indoors/a_block/hallway)
-"okj" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/storage/backpack/marine/satchel{
- desc = "It's the heavy-duty black polymer kind. Time to take out the trash!";
- icon = 'icons/obj/janitor.dmi';
- icon_state = "trashbag3";
- name = "trash bag";
- pixel_x = -4;
- pixel_y = 6
- },
-/obj/item/storage/backpack/marine/satchel{
- desc = "It's the heavy-duty black polymer kind. Time to take out the trash!";
- icon = 'icons/obj/janitor.dmi';
- icon_state = "trashbag3";
- name = "trash bag";
- pixel_x = 3;
- pixel_y = -2
- },
-/turf/open/floor/prison{
- dir = 4;
- icon_state = "cell_stripe"
- },
-/area/lv522/atmos/sewer)
"okA" = (
/obj/structure/surface/rack,
/obj/structure/machinery/camera/autoname{
@@ -36586,9 +36386,7 @@
/obj/structure/platform{
dir = 8
},
-/obj/structure/largecrate/random{
- layer = 2.9
- },
+/obj/structure/ore_box,
/turf/open/floor/plating,
/area/lv522/indoors/c_block/cargo)
"oqn" = (
@@ -36751,17 +36549,6 @@
icon_state = "floor_plate"
},
/area/lv522/outdoors/colony_streets/north_west_street)
-"osm" = (
-/obj/structure/transmitter/colony_net{
- phone_category = "LV522 Chances Claim";
- phone_color = "red";
- phone_id = "Reactor Sewer";
- pixel_y = 26
- },
-/turf/open/floor/prison{
- icon_state = "floor_plate"
- },
-/area/lv522/atmos/sewer)
"osE" = (
/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{
name = "\improper A-Block Corporate Office Airlock";
@@ -36916,6 +36703,10 @@
layer = 2.9
},
/obj/effect/decal/cleanable/liquid_fuel,
+/obj/structure/stairs/perspective{
+ dir = 1;
+ icon_state = "p_stair_full"
+ },
/turf/open/asphalt/cement,
/area/lv522/outdoors/colony_streets/north_street)
"ovr" = (
@@ -37835,6 +37626,9 @@
dir = 1;
icon_state = "fab_2"
},
+/obj/structure/prop/invuln/ice_prefab{
+ icon_state = "fab_2"
+ },
/turf/open/auto_turf/shale/layer2,
/area/lv522/outdoors/w_rockies)
"oOS" = (
@@ -38093,14 +37887,6 @@
"oUq" = (
/turf/closed/wall/strata_outpost/reinforced,
/area/lv522/atmos/way_in_command_centre)
-"oUC" = (
-/obj/structure/prop/invuln/overhead/flammable_pipe/fly{
- pixel_y = 6
- },
-/turf/open/floor/corsat{
- icon_state = "plate"
- },
-/area/lv522/atmos/east_reactor)
"oUE" = (
/obj/effect/decal/warning_stripes{
icon_state = "SW-out";
@@ -38472,9 +38258,7 @@
dir = 1;
icon_state = "p_stair_full"
},
-/turf/open/floor/prison{
- icon_state = "floor_plate"
- },
+/turf/open/floor/prison,
/area/lv522/atmos/sewer)
"pdp" = (
/obj/structure/prop/invuln/overhead_pipe{
@@ -38792,15 +38576,6 @@
icon_state = "floor_plate"
},
/area/lv522/outdoors/colony_streets/north_east_street)
-"pgJ" = (
-/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall,
-/obj/structure/machinery/light{
- dir = 4
- },
-/turf/open/floor/corsat{
- icon_state = "squares"
- },
-/area/lv522/atmos/east_reactor)
"pha" = (
/obj/structure/bed/chair{
can_buckle = 0;
@@ -38899,9 +38674,7 @@
/obj/structure/platform{
dir = 8
},
-/obj/structure/largecrate/random{
- layer = 2.9
- },
+/obj/structure/ore_box,
/obj/effect/decal/cleanable/cobweb,
/turf/open/floor/plating,
/area/lv522/indoors/c_block/cargo)
@@ -38989,9 +38762,6 @@
/obj/item/prop/colony/used_flare,
/turf/open/floor/prison,
/area/lv522/indoors/a_block/kitchen)
-"plz" = (
-/turf/closed/wall/strata_outpost/reinforced/hull,
-/area/lv522/indoors/a_block/executive)
"plN" = (
/obj/structure/platform,
/obj/effect/decal/warning_stripes{
@@ -39102,9 +38872,11 @@
/area/lv522/indoors/a_block/dorms)
"ppD" = (
/obj/effect/decal/warning_stripes{
- icon_state = "S"
+ icon_state = "NE-out";
+ pixel_x = 1;
+ pixel_y = 1
},
-/turf/open/auto_turf/sand_white/layer0,
+/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/colony_streets/south_east_street)
"ppF" = (
/turf/closed/shuttle/dropship2/tornado/typhoon{
@@ -39208,7 +38980,6 @@
/area/lv522/outdoors/colony_streets/north_west_street)
"prT" = (
/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
-/obj/structure/cargo_container/grant/rightmid,
/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/w_rockies)
"prU" = (
@@ -39273,9 +39044,6 @@
icon_state = "brown"
},
/area/lv522/atmos/filt)
-"psC" = (
-/turf/closed/wall/strata_outpost/reinforced/hull,
-/area/lv522/indoors/a_block/hallway)
"psF" = (
/obj/effect/decal/cleanable/dirt,
/obj/item/ammo_magazine/rifle/mar40/lmg,
@@ -40821,15 +40589,6 @@
icon_state = "darkbrownfull2"
},
/area/lv522/landing_zone_2/ceiling)
-"pWC" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/bed/chair{
- dir = 1
- },
-/turf/open/floor/prison{
- icon_state = "floor_plate"
- },
-/area/lv522/atmos/sewer)
"pWR" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 6
@@ -41764,11 +41523,15 @@
/turf/open/floor/plating,
/area/lv522/outdoors/colony_streets/central_streets)
"qpD" = (
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 4
+/obj/structure/machinery/light{
+ dir = 1
},
-/turf/closed/wall/mineral/bone_resin,
-/area/lv522/oob)
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/turf/open/auto_turf/shale/layer1,
+/area/lv522/outdoors/colony_streets/south_east_street)
"qpE" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/prison{
@@ -41857,20 +41620,8 @@
/turf/open/asphalt/cement,
/area/lv522/outdoors/n_rockies)
"qqN" = (
-/obj/structure/filingcabinet{
- density = 0;
- pixel_x = -8;
- pixel_y = 16
- },
-/obj/structure/filingcabinet{
- density = 0;
- pixel_x = 8;
- pixel_y = 16
- },
-/turf/open/floor/strata{
- dir = 4;
- icon_state = "white_cyan1"
- },
+/obj/effect/landmark/lv624/fog_blocker/short,
+/turf/closed/wall/r_wall/biodome/biodome_unmeltable,
/area/lv522/oob/w_y_vault)
"qqR" = (
/obj/structure/platform,
@@ -42021,10 +41772,6 @@
icon_state = "floor_plate"
},
/area/lv522/outdoors/colony_streets/east_central_street)
-"qtl" = (
-/obj/structure/cargo_container/horizontal/blue/top,
-/turf/open/auto_turf/shale/layer1,
-/area/lv522/outdoors/colony_streets/north_west_street)
"qts" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 6
@@ -42288,17 +42035,6 @@
icon_state = "darkpurplefull2"
},
/area/lv522/indoors/a_block/dorms)
-"qyp" = (
-/obj/structure/transmitter/colony_net{
- phone_category = "LV522 Chances Claim";
- phone_color = "red";
- phone_id = "Reactor Eastern Reactor Control";
- pixel_y = 26
- },
-/turf/open/floor/corsat{
- icon_state = "plate"
- },
-/area/lv522/atmos/east_reactor)
"qyG" = (
/obj/structure/pipes/standard/simple/hidden/green,
/turf/open/auto_turf/sand_white/layer0,
@@ -43105,12 +42841,6 @@
/obj/effect/landmark/lv624/fog_blocker/short,
/turf/open/auto_turf/sand_white/layer0,
/area/lv522/landing_zone_1)
-"qMX" = (
-/obj/structure/cargo_container/horizontal/blue/middle{
- layer = 3.1
- },
-/turf/open/auto_turf/shale/layer1,
-/area/lv522/outdoors/colony_streets/north_west_street)
"qNg" = (
/obj/structure/machinery/door/airlock/almayer/generic{
name = "\improper Bedroom"
@@ -43448,10 +43178,6 @@
/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/colony_streets/south_street)
"qRF" = (
-/obj/structure/stairs/perspective{
- dir = 5;
- icon_state = "p_stair_full"
- },
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/camera/autoname{
dir = 8
@@ -43797,13 +43523,6 @@
/obj/effect/landmark/lv624/fog_blocker/short,
/turf/open/floor/plating,
/area/lv522/landing_zone_1/tunnel)
-"qXz" = (
-/obj/structure/cargo_container/horizontal/blue/bottom,
-/obj/structure/pipes/standard/simple/hidden/green{
- dir = 10
- },
-/turf/open/auto_turf/shale/layer1,
-/area/lv522/outdoors/colony_streets/north_west_street)
"qXH" = (
/obj/structure/surface/rack,
/obj/effect/spawner/random/toy,
@@ -44174,9 +43893,6 @@
/area/lv522/outdoors/colony_streets/east_central_street)
"rbZ" = (
/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
-/obj/structure/machinery/light{
- dir = 8
- },
/turf/open/floor/corsat,
/area/lv522/atmos/east_reactor/south)
"rcd" = (
@@ -45721,16 +45437,6 @@
},
/turf/open/floor/plating/plating_catwalk/prison,
/area/lv522/indoors/lone_buildings/engineering)
-"rIr" = (
-/obj/structure/stairs/perspective{
- dir = 9;
- icon_state = "p_stair_full"
- },
-/obj/structure/platform_decoration{
- dir = 1
- },
-/turf/open/asphalt/cement,
-/area/lv522/outdoors/colony_streets/east_central_street)
"rIx" = (
/obj/structure/machinery/light{
dir = 4
@@ -46673,8 +46379,11 @@
},
/area/lv522/indoors/a_block/bridges/dorms_fitness)
"rZK" = (
+/obj/structure/stairs/perspective{
+ icon_state = "p_stair_full"
+ },
/obj/structure/platform{
- dir = 1
+ dir = 8
},
/turf/open/asphalt/cement,
/area/lv522/outdoors/colony_streets/south_street)
@@ -47517,11 +47226,12 @@
/turf/open/floor/carpet,
/area/lv522/indoors/b_block/bar)
"spn" = (
-/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes{
- icon_state = "W";
- pixel_x = -1
+ icon_state = "SW-out";
+ pixel_x = -1;
+ pixel_y = -1
},
+/obj/effect/landmark/corpsespawner/wy/manager,
/turf/open/floor{
dir = 4;
icon_state = "whiteyellowfull"
@@ -47915,7 +47625,9 @@
/area/lv522/indoors/a_block/hallway)
"sxg" = (
/obj/item/stack/rods,
-/turf/open/auto_turf/shale/layer1,
+/turf/open/asphalt/cement{
+ icon_state = "cement12"
+ },
/area/lv522/outdoors/colony_streets/south_street)
"sxp" = (
/obj/structure/surface/table/almayer,
@@ -48095,17 +47807,6 @@
"sAU" = (
/turf/open/floor/plating/plating_catwalk/prison,
/area/lv522/indoors/a_block/security/glass)
-"sBg" = (
-/obj/structure/prop/server_equipment/yutani_server{
- pixel_x = 3
- },
-/obj/structure/prop/server_equipment{
- pixel_x = -16
- },
-/turf/open/floor{
- icon_state = "bcircuit"
- },
-/area/lv522/atmos/east_reactor)
"sBt" = (
/obj/structure/pipes/standard/manifold/hidden/green{
dir = 4
@@ -48120,13 +47821,6 @@
icon_state = "white_cyan1"
},
/area/lv522/indoors/a_block/medical)
-"sBz" = (
-/obj/structure/platform{
- dir = 1
- },
-/obj/structure/machinery/squeezer,
-/turf/open/floor/plating,
-/area/lv522/indoors/c_block/cargo)
"sBH" = (
/obj/structure/reagent_dispensers/water_cooler/stacks{
density = 0;
@@ -49280,16 +48974,6 @@
},
/turf/open/auto_turf/sand_white/layer0,
/area/lv522/outdoors/colony_streets/east_central_street)
-"sUj" = (
-/obj/structure/stairs/perspective{
- dir = 6;
- icon_state = "p_stair_full"
- },
-/obj/structure/platform_decoration{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/lv522/indoors/c_block/cargo)
"sUs" = (
/obj/effect/decal/cleanable/blood/oil,
/obj/effect/decal/cleanable/dirt,
@@ -49408,18 +49092,16 @@
icon_state = "rasputin15"
},
/area/lv522/landing_zone_forecon/UD6_Tornado)
-"sYk" = (
-/obj/structure/platform,
-/turf/open/asphalt/cement,
-/area/lv522/outdoors/colony_streets/north_east_street)
"sYl" = (
/obj/item/stack/sheet/metal,
/turf/open/auto_turf/sand_white/layer0,
/area/lv522/outdoors/colony_streets/north_east_street)
"sYv" = (
-/obj/structure/platform{
- dir = 8
+/obj/structure/stairs/perspective{
+ dir = 4;
+ icon_state = "p_stair_full"
},
+/obj/structure/platform/stair_cut,
/turf/open/asphalt/cement,
/area/lv522/outdoors/colony_streets/south_street)
"sYH" = (
@@ -49499,14 +49181,6 @@
icon_state = "cement4"
},
/area/lv522/outdoors/colony_streets/south_east_street)
-"taS" = (
-/obj/structure/platform_decoration{
- dir = 8
- },
-/turf/open/asphalt/cement{
- icon_state = "cement14"
- },
-/area/lv522/outdoors/n_rockies)
"taW" = (
/obj/structure/platform{
dir = 8
@@ -49554,14 +49228,19 @@
},
/area/lv522/outdoors/colony_streets/north_west_street)
"tbK" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out";
- pixel_x = 1;
- pixel_y = -1
+/obj/structure/filingcabinet{
+ density = 0;
+ pixel_x = -8;
+ pixel_y = 16
},
-/turf/open/floor{
+/obj/structure/filingcabinet{
+ density = 0;
+ pixel_x = 8;
+ pixel_y = 16
+ },
+/turf/open/floor/strata{
dir = 4;
- icon_state = "whiteyellowfull"
+ icon_state = "white_cyan1"
},
/area/lv522/oob/w_y_vault)
"tcj" = (
@@ -49667,15 +49346,10 @@
},
/area/lv522/landing_zone_forecon/UD6_Typhoon)
"tdM" = (
-/obj/structure/platform{
- dir = 1
- },
-/obj/structure/platform{
- dir = 8
- },
-/obj/structure/platform_decoration{
- dir = 5;
- layer = 3.51
+/obj/structure/platform/stair_cut,
+/obj/structure/stairs/perspective{
+ dir = 8;
+ icon_state = "p_stair_full"
},
/turf/open/gm/river,
/area/lv522/atmos/sewer)
@@ -50511,14 +50185,6 @@
/obj/effect/decal/cleanable/blood,
/turf/open/auto_turf/sand_white/layer0,
/area/lv522/outdoors/nw_rockies)
-"tti" = (
-/obj/structure/platform_decoration{
- dir = 4
- },
-/turf/open/asphalt/cement{
- icon_state = "cement12"
- },
-/area/lv522/outdoors/colony_streets/south_east_street)
"ttp" = (
/obj/structure/pipes/standard/simple/hidden/green,
/turf/open/floor/corsat{
@@ -50738,9 +50404,7 @@
dir = 1;
icon_state = "p_stair_full"
},
-/turf/open/floor/prison{
- icon_state = "floor_plate"
- },
+/turf/open/floor/prison,
/area/lv522/atmos/sewer)
"tyc" = (
/obj/structure/surface/rack,
@@ -50973,12 +50637,6 @@
"tCN" = (
/turf/closed/wall/strata_ice/dirty,
/area/lv522/outdoors/colony_streets/south_east_street)
-"tCX" = (
-/turf/open/floor/corsat{
- dir = 6;
- icon_state = "brown"
- },
-/area/lv522/atmos/east_reactor)
"tDd" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 10
@@ -51147,16 +50805,6 @@
},
/turf/open/floor/wood,
/area/lv522/indoors/c_block/casino)
-"tFZ" = (
-/obj/structure/surface/table/almayer,
-/obj/item/paper_bin{
- pixel_y = 5
- },
-/obj/item/tool/pen/blue/clicky,
-/turf/open/floor/corsat{
- icon_state = "plate"
- },
-/area/lv522/atmos/east_reactor)
"tGb" = (
/obj/structure/prop/ice_colony/ground_wire,
/obj/structure/prop/ice_colony/ground_wire{
@@ -51321,14 +50969,18 @@
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
},
-/turf/open/auto_turf/shale/layer1,
+/turf/open/asphalt/cement{
+ icon_state = "cement12"
+ },
/area/lv522/outdoors/colony_streets/north_east_street)
"tJG" = (
/obj/structure/stairs/perspective{
icon_state = "p_stair_full"
},
/obj/structure/pipes/standard/manifold/hidden/green,
-/turf/open/auto_turf/sand_white/layer0,
+/turf/open/asphalt/cement{
+ icon_state = "cement12"
+ },
/area/lv522/outdoors/colony_streets/north_east_street)
"tJM" = (
/obj/structure/pipes/standard/simple/hidden/green{
@@ -51386,9 +51038,6 @@
/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/colony_streets/south_street)
"tKC" = (
-/obj/structure/machinery/light{
- dir = 1
- },
/obj/effect/decal/warning_stripes{
icon_state = "N";
pixel_y = 1
@@ -51484,13 +51133,9 @@
},
/area/lv522/atmos/cargo_intake)
"tLX" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 1
- },
-/turf/open/floor{
- dir = 4;
- icon_state = "whiteyellowfull"
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "w-y0"
},
/area/lv522/oob/w_y_vault)
"tMk" = (
@@ -52282,16 +51927,13 @@
"ubF" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/pipes/standard/simple/hidden/green,
-/turf/open/floor/plating/plating_catwalk/prison,
+/turf/open/floor/prison,
/area/lv522/atmos/sewer)
"ubH" = (
/obj/structure/stairs/perspective{
- dir = 6;
icon_state = "p_stair_full"
},
-/turf/open/asphalt/cement{
- icon_state = "cement12"
- },
+/turf/open/asphalt/cement,
/area/lv522/outdoors/colony_streets/central_streets)
"ubJ" = (
/obj/structure/blocker/invisible_wall,
@@ -52822,7 +52464,7 @@
/area/lv522/indoors/c_block/garage)
"ujy" = (
/obj/effect/decal/warning_stripes{
- icon_state = "N";
+ icon_state = "NW-out";
pixel_y = 1
},
/turf/open/auto_turf/shale/layer1,
@@ -53154,8 +52796,8 @@
/turf/open/floor/prison,
/area/lv522/indoors/c_block/mining)
"urp" = (
-/obj/structure/platform{
- dir = 1
+/obj/structure/platform_decoration{
+ dir = 4
},
/obj/structure/largecrate/random,
/turf/open/asphalt/cement,
@@ -53504,13 +53146,6 @@
icon_state = "darkredfull2"
},
/area/lv522/indoors/a_block/security)
-"uxT" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out";
- pixel_x = 1
- },
-/turf/open/auto_turf/sand_white/layer0,
-/area/lv522/outdoors/colony_streets/south_east_street)
"uya" = (
/turf/open/floor/prison{
icon_state = "darkbrownfull2"
@@ -54344,13 +53979,6 @@
icon_state = "blue_plate"
},
/area/lv522/indoors/a_block/admin)
-"uNT" = (
-/obj/structure/prop/invuln/fusion_reactor,
-/obj/structure/prop/turbine_extras/left,
-/turf/open/floor/corsat{
- icon_state = "plate"
- },
-/area/lv522/atmos/east_reactor)
"uNW" = (
/obj/structure/surface/table/almayer,
/obj/item/trash/ceramic_plate{
@@ -55009,7 +54637,7 @@
"val" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/surface/table/woodentable/fancy,
-/obj/structure/machinery/computer/cameras/wooden_tv/prop{
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{
dir = 1;
pixel_y = 3
},
@@ -55170,8 +54798,8 @@
/turf/open/floor/prison,
/area/lv522/indoors/a_block/dorms)
"vdp" = (
-/obj/structure/platform{
- dir = 1
+/obj/structure/stairs/perspective{
+ icon_state = "p_stair_full"
},
/turf/open/asphalt/cement{
icon_state = "cement12"
@@ -55874,6 +55502,16 @@
},
/area/lv522/landing_zone_forecon/UD6_Tornado)
"vqe" = (
+/obj/structure/filingcabinet{
+ density = 0;
+ pixel_x = -8;
+ pixel_y = 16
+ },
+/obj/structure/filingcabinet{
+ density = 0;
+ pixel_x = 8;
+ pixel_y = 16
+ },
/obj/structure/machinery/light{
dir = 8
},
@@ -55960,14 +55598,18 @@
},
/area/lv522/indoors/a_block/admin)
"vrE" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/warning_stripes{
- icon_state = "S";
- pixel_y = -1
+/obj/structure/surface/table/almayer,
+/obj/item/stack/sheet/mineral/gold{
+ amount = 60;
+ pixel_y = 6
},
-/turf/open/floor{
+/obj/item/stack/sheet/mineral/gold{
+ amount = 60;
+ pixel_y = 12
+ },
+/turf/open/floor/strata{
dir = 4;
- icon_state = "whiteyellowfull"
+ icon_state = "white_cyan1"
},
/area/lv522/oob/w_y_vault)
"vrV" = (
@@ -56983,14 +56625,6 @@
/area/lv522/indoors/a_block/fitness)
"vJw" = (
/obj/effect/decal/cleanable/dirt,
-/obj/item/storage/backpack/marine/satchel{
- desc = "It's the heavy-duty black polymer kind. Time to take out the trash!";
- icon = 'icons/obj/janitor.dmi';
- icon_state = "trashbag3";
- name = "trash bag";
- pixel_x = -4;
- pixel_y = 5
- },
/turf/open/floor/prison{
dir = 4;
icon_state = "cell_stripe"
@@ -57474,6 +57108,9 @@
/obj/structure/platform{
dir = 4
},
+/obj/structure/stairs/perspective{
+ icon_state = "p_stair_full"
+ },
/turf/open/asphalt/cement,
/area/lv522/outdoors/colony_streets/central_streets)
"vSO" = (
@@ -57852,10 +57489,6 @@
},
/turf/open/floor/prison,
/area/lv522/indoors/c_block/mining)
-"vZY" = (
-/obj/structure/cargo_container/grant/rightmid,
-/turf/open/auto_turf/shale/layer1,
-/area/lv522/outdoors/w_rockies)
"wac" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/prison{
@@ -58452,9 +58085,8 @@
/area/lv522/indoors/lone_buildings/outdoor_bot)
"wjP" = (
/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_x = 1;
- pixel_y = 1
+ icon_state = "E";
+ pixel_x = 1
},
/turf/open/floor{
dir = 4;
@@ -58570,10 +58202,6 @@
icon_state = "marked"
},
/area/lv522/indoors/lone_buildings/engineering)
-"wnl" = (
-/obj/structure/cargo_container/wy/mid,
-/turf/open/auto_turf/shale/layer1,
-/area/lv522/outdoors/w_rockies)
"wnu" = (
/obj/structure/cargo_container/wy/right,
/turf/open/auto_turf/shale/layer1,
@@ -58778,10 +58406,6 @@
"wrC" = (
/turf/closed/wall/strata_outpost,
/area/lv522/indoors/a_block/corpo)
-"wrY" = (
-/obj/structure/platform,
-/turf/open/asphalt/cement,
-/area/lv522/outdoors/colony_streets/east_central_street)
"wsf" = (
/obj/structure/curtain/red,
/obj/structure/pipes/standard/simple/hidden/green{
@@ -58822,15 +58446,6 @@
/mob/living/simple_animal/mouse,
/turf/open/floor/plating,
/area/lv522/indoors/c_block/cargo)
-"wsX" = (
-/obj/structure/stairs/perspective{
- dir = 5;
- icon_state = "p_stair_full"
- },
-/turf/open/asphalt/cement{
- icon_state = "cement4"
- },
-/area/lv522/outdoors/colony_streets/north_street)
"wsY" = (
/obj/structure/pipes/standard/simple/hidden/green{
dir = 4
@@ -60005,8 +59620,7 @@
/area/lv522/atmos/sewer)
"wRk" = (
/obj/effect/decal/warning_stripes{
- icon_state = "NW-out";
- pixel_y = 1
+ icon_state = "W"
},
/turf/open/auto_turf/shale/layer1,
/area/lv522/outdoors/colony_streets/south_east_street)
@@ -60657,18 +60271,10 @@
icon_state = "brown"
},
/area/lv522/atmos/cargo_intake)
-"xfe" = (
-/obj/structure/cargo_container/grant/left,
-/turf/open/auto_turf/shale/layer1,
-/area/lv522/outdoors/colony_streets/north_west_street)
"xfp" = (
/obj/structure/pipes/standard/simple/hidden/green,
/turf/open/floor/plating/plating_catwalk/prison,
/area/lv522/indoors/a_block/bridges/dorms_fitness)
-"xfr" = (
-/obj/structure/cargo_container/grant/rightmid,
-/turf/open/auto_turf/shale/layer1,
-/area/lv522/outdoors/colony_streets/north_west_street)
"xfu" = (
/obj/item/ammo_magazine/rifle/heap{
current_rounds = 0
@@ -60981,6 +60587,10 @@
layer = 2.9
},
/obj/effect/decal/cleanable/liquid_fuel,
+/obj/structure/stairs/perspective{
+ dir = 1;
+ icon_state = "p_stair_full"
+ },
/turf/open/asphalt/cement{
icon_state = "cement4"
},
@@ -61211,13 +60821,6 @@
icon_state = "greenfull"
},
/area/lv522/indoors/a_block/fitness)
-"xqi" = (
-/obj/structure/platform{
- dir = 1
- },
-/obj/structure/largecrate/random,
-/turf/open/floor/plating,
-/area/lv522/indoors/c_block/cargo)
"xqj" = (
/obj/effect/landmark/yautja_teleport,
/turf/open/auto_turf/shale/layer2,
@@ -61297,14 +60900,7 @@
/turf/open/floor/plating,
/area/lv522/landing_zone_2)
"xsE" = (
-/obj/structure/platform{
- dir = 4
- },
-/obj/structure/platform,
-/obj/structure/platform_decoration{
- dir = 6
- },
-/turf/open/gm/river,
+/turf/open/floor/prison,
/area/lv522/atmos/sewer)
"xsN" = (
/obj/structure/largecrate/random/barrel,
@@ -61453,11 +61049,10 @@
},
/area/lv522/indoors/a_block/bridges)
"xwv" = (
-/obj/structure/platform_decoration{
- dir = 4
+/obj/structure/stairs/perspective{
+ icon_state = "p_stair_full"
},
/obj/structure/stairs/perspective{
- dir = 10;
icon_state = "p_stair_full"
},
/turf/open/asphalt/cement{
@@ -61556,10 +61151,6 @@
icon_state = "plate"
},
/area/lv522/atmos/cargo_intake)
-"xyf" = (
-/obj/structure/cargo_container/kelland/left,
-/turf/open/auto_turf/sand_white/layer0,
-/area/lv522/outdoors/colony_streets/north_west_street)
"xyi" = (
/obj/structure/closet/emcloset,
/turf/open/floor/prison{
@@ -61643,9 +61234,6 @@
icon_state = "marked"
},
/area/lv522/indoors/c_block/mining)
-"xAw" = (
-/turf/closed/wall/strata_outpost/reinforced/hull,
-/area/lv522/indoors/a_block/bridges/op_centre)
"xAF" = (
/obj/structure/pipes/standard/manifold/hidden/green{
dir = 4
@@ -61748,15 +61336,9 @@
/area/lv522/outdoors/n_rockies)
"xBS" = (
/obj/structure/stairs/perspective{
- dir = 6;
icon_state = "p_stair_full"
},
-/obj/structure/platform_decoration{
- dir = 8
- },
-/turf/open/asphalt/cement{
- icon_state = "cement12"
- },
+/turf/open/asphalt/cement,
/area/lv522/outdoors/colony_streets/east_central_street)
"xCG" = (
/obj/structure/bed/chair/comfy{
@@ -62342,14 +61924,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/prison,
/area/lv522/indoors/a_block/admin)
-"xOB" = (
-/obj/structure/platform{
- dir = 1
- },
-/turf/open/asphalt/cement{
- icon_state = "cement12"
- },
-/area/lv522/outdoors/colony_streets/east_central_street)
"xOD" = (
/obj/item/clothing/glasses/mbcg,
/turf/open/floor/prison,
@@ -62361,15 +61935,6 @@
icon_state = "marked"
},
/area/lv522/indoors/a_block/fitness)
-"xOS" = (
-/obj/structure/machinery/power/apc/weak{
- dir = 1
- },
-/obj/effect/landmark/lv624/fog_blocker/short,
-/turf/open/asphalt/cement{
- icon_state = "cement12"
- },
-/area/lv522/landing_zone_1)
"xPa" = (
/obj/structure/machinery/conveyor,
/turf/open/floor/plating,
@@ -62863,8 +62428,9 @@
},
/area/lv522/outdoors/colony_streets/north_street)
"xWO" = (
-/obj/structure/platform{
- dir = 1
+/obj/structure/stairs/perspective{
+ dir = 10;
+ icon_state = "p_stair_full"
},
/turf/open/asphalt/cement{
icon_state = "cement12"
@@ -63227,7 +62793,9 @@
/obj/structure/platform{
dir = 8
},
-/obj/structure/blocker/invisible_wall,
+/obj/structure/largecrate/random{
+ layer = 2.9
+ },
/turf/open/floor/plating,
/area/lv522/indoors/c_block/cargo)
"ydz" = (
@@ -66090,9 +65658,9 @@ vtc
jrT
cpy
cpy
-kBT
-uiK
-mZM
+sRA
+sRA
+sRA
sRA
sRA
rWS
@@ -66317,9 +65885,9 @@ hSi
vtc
cpy
cpy
-vZY
-dcR
-bQq
+rWS
+sRA
+sRA
sRA
rWS
pRK
@@ -66544,9 +66112,9 @@ lMH
vtc
cpy
cpy
-kLQ
+rWS
+rWS
sRA
-jHa
sRA
obe
pRM
@@ -67094,7 +66662,7 @@ cpy
tFx
tFx
wnP
-rzz
+evg
syM
rnT
lBl
@@ -67323,7 +66891,7 @@ moz
mvP
ggS
tFx
-xOS
+rnT
lBl
ttT
pkH
@@ -68152,9 +67720,9 @@ cpy
cpy
cpy
rWS
-sRA
-sRA
-sRA
+jVS
+kBD
+kBT
ien
ien
ien
@@ -68601,7 +68169,7 @@ cpy
cpy
sRA
sRA
-sRA
+jHa
cpy
rWS
rWS
@@ -68828,7 +68396,7 @@ cpy
cpy
cpy
sRA
-sRA
+nvB
abt
rWS
sRA
@@ -69043,13 +68611,13 @@ auG
uWO
vtc
vtc
-kBD
+sRA
cpy
cpy
sRA
-sRA
+bBB
rWS
-iXI
+gtS
sRA
cpy
cpy
@@ -69270,13 +68838,13 @@ auG
uWO
uWO
vtc
-kBD
+sRA
cpy
cpy
sRA
+bQq
rWS
-rWS
-kXo
+jGh
sRA
sRA
cpy
@@ -69497,11 +69065,11 @@ vtc
vtc
uWO
vtc
-kBT
+sRA
uiK
uiK
sRA
-uiK
+dcR
sRA
bKq
goY
@@ -69725,7 +69293,7 @@ vtc
vtc
uWO
prT
-kWD
+sRA
tTr
pUR
uiK
@@ -69744,8 +69312,8 @@ goY
rsF
sRA
sRA
-wms
-ien
+sRA
+clY
sjY
clY
clY
@@ -69951,7 +69519,7 @@ vtc
vtc
vtc
uWO
-kLQ
+sRA
sRA
uiK
uiK
@@ -69971,7 +69539,7 @@ hKE
viA
sRA
sRA
-wnl
+sRA
sjY
sjY
clY
@@ -70178,7 +69746,7 @@ uWO
vtc
vtc
uWO
-kNj
+uiK
sRA
uiK
uiK
@@ -70198,7 +69766,7 @@ uiK
hRu
uiK
sRA
-wnu
+sRA
sjY
clY
clY
@@ -70634,8 +70202,8 @@ uWO
vtc
bBB
nFO
-lhC
-lxj
+uiK
+uiK
sRA
uiK
uiK
@@ -70654,7 +70222,7 @@ uiK
uiK
sRA
clY
-xfe
+clY
clY
xGc
lvb
@@ -70713,10 +70281,10 @@ nJv
xvQ
gcX
kvq
-ivK
+nJv
wng
tCg
-ivK
+nJv
xvQ
xvQ
xvQ
@@ -70881,7 +70449,7 @@ uiK
uiK
uiK
wKj
-xfr
+clY
clY
hJZ
slO
@@ -71108,8 +70676,8 @@ rGi
uiK
uiK
hJZ
-jGh
-xyf
+clY
+hJZ
hJZ
slO
hJZ
@@ -71336,7 +70904,7 @@ sRA
ien
ien
ien
-jVS
+hJZ
hJZ
slO
hJZ
@@ -71998,9 +71566,9 @@ ien
sjY
hJZ
ien
-qtl
-qMX
-qXz
+clY
+clY
+rnG
kYm
hJZ
hJZ
@@ -79075,20 +78643,20 @@ hhD
oLz
rnA
pZi
-ahP
+fpB
pQE
ooG
rAK
oSH
qSk
pQE
+ubH
rMF
xyN
xyN
xyN
xyN
xyN
-xyN
rMF
nLm
nLm
@@ -79146,11 +78714,11 @@ aPu
cGw
wIr
wIr
-fnA
-cxv
-ofi
-ofi
-hov
+jhY
+kkq
+uOd
+uOd
+kLO
fTN
fTN
fTN
@@ -79159,8 +78727,8 @@ fTN
lvl
ndZ
gBv
-pAj
-fnA
+lul
+jhY
wIr
wIr
xSA
@@ -79302,17 +78870,17 @@ fjr
bPH
dox
tGl
-crH
+miz
ofd
rqs
uPy
qGK
qSk
ofd
+ubH
spo
vXc
vXc
-vXc
mqC
pwz
dFg
@@ -79360,10 +78928,10 @@ tSL
tSL
tSL
tSL
-dbP
-cbR
-cbR
-dbP
+fnA
+uOd
+uOd
+fnA
wIr
wIr
mDz
@@ -79386,7 +78954,7 @@ cbR
cbR
cbR
cbR
-dbP
+moe
wIr
wIr
vDL
@@ -79452,7 +79020,7 @@ xZw
saC
saC
saC
-qpD
+saC
saC
bzC
iAv
@@ -79529,15 +79097,15 @@ fjr
rZc
dox
tGl
-crH
+miz
ofd
qSk
xeg
uMO
rqs
ofd
+ubH
spo
-vXc
laX
dFH
vXc
@@ -79756,15 +79324,15 @@ fjr
rZc
dox
tGl
-crH
+miz
ofd
qSk
xeg
uMO
rqs
ofd
+ubH
spo
-vXc
rjn
bVu
vXc
@@ -79813,7 +79381,7 @@ tSL
tne
kGm
lML
-hgo
+yfR
wIr
tmy
hYL
@@ -79881,10 +79449,10 @@ dLs
afA
saC
saC
-esB
-sGF
-dLs
-fcW
+saC
+saC
+yeS
+jKu
xho
otQ
otQ
@@ -79983,15 +79551,15 @@ nQx
rvx
fZy
hAg
-crH
+miz
ofd
qiC
xeg
qGK
rqs
ofd
+ubH
spo
-vXc
qbI
qlD
qpz
@@ -80040,13 +79608,13 @@ lIy
xNR
yfS
yfS
-kLO
+yfS
cfz
jmv
tkf
dgY
cfz
-cHb
+aPu
qzQ
oLa
uWT
@@ -80107,8 +79675,8 @@ aut
dOw
ajw
bRN
-sGF
-euN
+saC
+saC
saC
yeS
jKu
@@ -80210,20 +79778,20 @@ spe
nQx
fjr
rCV
-crH
+miz
pQE
pQE
rAK
oSH
pQE
pQE
+ubH
spo
vXc
vXc
vXc
vXc
vXc
-vXc
yiM
yiM
yiM
@@ -80267,13 +79835,13 @@ cKi
msj
msj
phu
-iLC
+wyy
tIT
olz
pOs
olz
tIT
-skS
+jey
iXM
uIk
uWT
@@ -80332,7 +79900,7 @@ cNV
cNV
cCC
xho
-xho
+vDV
uAd
saC
saC
@@ -80362,7 +79930,7 @@ saC
saC
saC
saC
-oaj
+bzC
iAv
jqL
vTK
@@ -80437,15 +80005,15 @@ ugV
jXQ
nQx
fjr
-nIu
+miz
ofd
iiL
xeg
uMO
oXF
ofd
-aPS
-vXc
+ubH
+spo
vXc
vXc
vXc
@@ -80500,7 +80068,7 @@ tmy
pfD
hyf
wIr
-ttd
+dgY
aPu
xgH
uWT
@@ -80559,7 +80127,7 @@ cNV
lxW
dCx
dtr
-xho
+vDV
uAd
saC
saC
@@ -80619,11 +80187,11 @@ pjJ
lCH
vjW
pjJ
-ien
+clY
hJZ
hJZ
jqF
-vne
+oxt
hhD
ahP
xyL
@@ -80671,8 +80239,8 @@ ocn
qGK
xvW
jct
-qQM
-vXc
+ubH
+spo
pgm
vXc
yiM
@@ -80786,7 +80354,7 @@ cNV
fcV
dCx
otQ
-xho
+vDV
uAd
saC
kwJ
@@ -80845,12 +80413,12 @@ ylm
pjJ
lCH
pjJ
-ien
-ien
-ien
+pjJ
+clY
+clY
hJZ
hJZ
-vne
+oxt
fjr
crH
xyL
@@ -80898,8 +80466,8 @@ iaY
bGT
xvW
tRd
-qQM
-vXc
+ubH
+spo
tpD
qQi
qQi
@@ -80949,10 +80517,10 @@ tSL
tSL
tSL
tSL
-sYv
-ncg
-ncg
-sYv
+tOo
+oIu
+oIu
+tOo
wIr
wIr
pXz
@@ -80975,7 +80543,7 @@ ncg
ncg
ncg
ncg
-sYv
+mRh
wIr
wIr
vDL
@@ -81013,7 +80581,7 @@ cNV
saC
otQ
otQ
-xho
+vDV
uAd
xgl
kwJ
@@ -81073,11 +80641,11 @@ vjW
lCH
pjJ
pjJ
-pjJ
-ien
-ien
-ien
-ien
+clY
+clY
+clY
+clY
+oxt
fjr
crH
xyL
@@ -81118,7 +80686,7 @@ rCV
cpy
fjr
fjr
-wsX
+miz
ofd
oWV
xeg
@@ -81126,7 +80694,7 @@ qGK
oWV
ofd
ubH
-vXc
+spo
yiM
yiM
yiM
@@ -81180,7 +80748,7 @@ lyD
mPr
hFX
bCy
-tOo
+iUX
wIr
wIr
hwa
@@ -81189,21 +80757,21 @@ clR
dne
wIr
wIr
-dGD
-lyD
-mPr
-mPr
-mPr
-mPr
-mPr
-mPr
-nax
-nax
-mPr
-mPr
-mPr
-bCy
-dGD
+jic
+kHX
+oIu
+oIu
+oIu
+oIu
+oIu
+oIu
+oIu
+oIu
+oIu
+oIu
+oIu
+nlY
+nRy
wIr
wIr
epq
@@ -81240,13 +80808,13 @@ saC
saC
otQ
otQ
-xho
-uAd
-dEk
-xho
-xho
-yeS
-jKu
+apS
+dAm
+aDj
+cJo
+cJo
+dLs
+cfv
xho
otQ
saC
@@ -81300,10 +80868,10 @@ vjW
hdu
nCa
nCa
-nCa
-nCa
-nCa
-gtS
+yhK
+yhK
+yhK
+iSf
oVO
nQx
crH
@@ -81345,15 +80913,15 @@ fjr
cpy
cpy
fjr
-crH
+miz
pQE
pQE
oFN
cXm
pQE
pQE
+ubH
spo
-vXc
yiM
yiM
iBY
@@ -81407,7 +80975,7 @@ mPr
mPr
hFX
hFX
-bCy
+iVk
bYV
wIr
wIr
@@ -81416,7 +80984,7 @@ mpF
wIr
wIr
rZK
-lyD
+jig
mPr
mPr
mPr
@@ -81473,7 +81041,7 @@ dEk
yeS
yeS
yeS
-jKu
+oML
xho
saC
saC
@@ -81522,15 +81090,15 @@ mjF
gXI
joJ
urp
-hTf
-nYz
-nYz
-nYz
-nYz
-nYz
-nYz
-taS
-vjW
+gWI
+sQu
+sQu
+sQu
+sQu
+ydA
+ydA
+hiK
+sjY
oxt
jDO
sSn
@@ -81572,15 +81140,15 @@ cpy
cpy
cpy
fjr
-crH
+miz
ofd
otj
uPy
uMO
rmi
ofd
+ubH
spo
-vXc
yiM
yiM
qCY
@@ -81643,7 +81211,7 @@ jmv
hYL
rQg
vdp
-mPr
+xAR
mPr
tNc
gUj
@@ -81700,7 +81268,7 @@ ejo
dOw
dOw
dOw
-fda
+gTw
tiQ
tiQ
tiQ
@@ -81748,8 +81316,8 @@ kri
kEj
ldy
joJ
-gMe
-jkO
+gWI
+gWI
oUq
oUq
tVa
@@ -81799,15 +81367,15 @@ cpy
cpy
cpy
fjr
-crH
+miz
ofd
qSk
xeg
qGK
qSk
ofd
+ubH
spo
-vXc
yiM
yiM
qCY
@@ -81870,7 +81438,7 @@ tkf
hYL
rQg
vdp
-mPr
+xAR
mPr
tNc
nax
@@ -81925,9 +81493,9 @@ saC
saC
saC
otQ
-eyh
-cRN
-eQu
+otQ
+otQ
+otQ
saC
saC
saC
@@ -82033,10 +81601,10 @@ xeg
qGK
qSk
ofd
+ubH
spo
yiM
yiM
-yiM
qCY
uie
yiM
@@ -82097,7 +81665,7 @@ tkf
hYL
rQg
vdp
-mPr
+xAR
mPr
mPr
iCb
@@ -82152,7 +81720,7 @@ saC
saC
saC
saC
-oEw
+yeS
saC
saC
saC
@@ -82260,10 +81828,10 @@ xeg
qGK
rqs
ofd
+ubH
spo
yiM
yiM
-yiM
bYS
xLY
yiM
@@ -82324,7 +81892,7 @@ tkf
hYL
rQg
vdp
-mPr
+xAR
mPr
nax
bjX
@@ -82379,7 +81947,7 @@ saC
saC
saC
saC
-qpD
+saC
saC
saC
saC
@@ -82488,7 +82056,7 @@ wwX
rqs
pQE
vSN
-cWT
+hHh
cWT
cWT
cWT
@@ -82606,7 +82174,7 @@ saC
saC
saC
otQ
-eVg
+otQ
otQ
saC
saC
@@ -82778,7 +82346,7 @@ dgY
wIr
wIr
vdp
-mPr
+xAR
mPr
aPe
ylo
@@ -82833,7 +82401,7 @@ saC
wLp
kbV
kbV
-gPq
+kbV
kbV
kbV
saC
@@ -83005,7 +82573,7 @@ tkf
pfD
rQg
vdp
-mPr
+xAR
mPr
uXp
ylo
@@ -83060,9 +82628,9 @@ wLp
qUQ
qUQ
qUQ
-ezj
-cSh
-feF
+qUQ
+qUQ
+sxU
qUQ
qUQ
qUQ
@@ -83100,17 +82668,17 @@ saC
saC
saC
saC
-tTv
-tTv
-tTv
-tTv
-tTv
-tTv
-tTv
-tTv
-tTv
-tTv
-tTv
+oUq
+oUq
+oUq
+oUq
+oUq
+oUq
+oUq
+oUq
+oUq
+oUq
+oUq
oUq
hWC
vcF
@@ -83289,8 +82857,8 @@ dDC
dDC
dDC
dDC
-fhQ
-fpB
+dDC
+dDC
dDC
saC
saC
@@ -83330,14 +82898,14 @@ saC
saC
saC
saC
-tTv
+oUq
men
xVB
onM
men
iQb
pXh
-tTv
+oUq
oUq
tTl
bJN
@@ -83459,7 +83027,7 @@ oLa
hYL
rQg
vdp
-mPr
+xAR
qbG
aPe
nnG
@@ -83517,7 +83085,7 @@ tjg
kbV
tjg
tjg
-gPq
+kbV
saC
saC
saC
@@ -83744,7 +83312,7 @@ tjg
kbV
tjg
tjg
-gPq
+kbV
saC
saC
saC
@@ -83971,7 +83539,7 @@ kbV
xiY
fKt
fKt
-vzd
+ear
tQw
saC
saC
@@ -84140,7 +83708,7 @@ tkf
pfD
rQg
dQQ
-nax
+xAR
nax
uvg
cfT
@@ -84198,7 +83766,7 @@ xiY
xiY
tjg
tjg
-gPq
+kbV
tjg
tjg
hJB
@@ -84367,7 +83935,7 @@ jmv
wIr
wIr
glV
-mPr
+xAR
nax
nax
uvg
@@ -84438,11 +84006,11 @@ hLY
saC
lmY
iBI
-iQe
+hmV
pfj
-jjV
+hdQ
cuu
-jVC
+ban
tiQ
tiQ
kEx
@@ -84454,9 +84022,9 @@ saC
uhx
pwX
pwX
+qjG
saC
-saC
-tTv
+oUq
men
sse
iZS
@@ -84465,14 +84033,14 @@ wIx
jfH
men
iQb
-tTv
+oUq
bUN
saC
saC
saC
saC
saC
-tTv
+oUq
mVm
sBH
kXY
@@ -84594,7 +84162,7 @@ jmv
wIr
wIr
vdp
-mPr
+xAR
nax
nax
nax
@@ -84681,9 +84249,9 @@ saC
yaj
qjG
qjG
-saC
-saC
-tTv
+qjG
+pwC
+oUq
nHg
hzV
iZS
@@ -84691,15 +84259,15 @@ jkJ
xLi
men
men
-tTv
-tTv
-tTv
+oUq
+oUq
+oUq
saC
saC
saC
saC
-tTv
-tTv
+oUq
+oUq
mVm
hrl
kXY
@@ -84821,7 +84389,7 @@ tkf
pfD
rQg
vdp
-mPr
+xAR
mPr
nax
nax
@@ -84892,33 +84460,33 @@ hLY
qJE
ujg
iDg
-iRV
+hna
yiu
-xzu
-jCQ
-jWr
+aWX
+jef
+pfj
xmD
xmD
-jVC
+bXl
miH
saC
saC
saC
-qgx
+cYe
yaj
qjG
qjG
-qgx
-saC
-tTv
+rbZ
+pwC
+oUq
men
kUF
gWu
neI
xLi
men
-tTv
-tTv
+oUq
+oUq
oUq
oUq
oUq
@@ -85048,7 +84616,7 @@ tkf
hYL
rQg
vdp
-mPr
+xAR
mPr
nax
nax
@@ -85123,28 +84691,28 @@ iSc
wTq
wTq
wTq
-jWB
+bhh
xYD
kry
-jjV
+cxE
miH
saC
saC
saC
-pwC
+dhJ
yaj
qjG
qjG
-saC
-saC
-tTv
-tTv
+qjG
+dhJ
+oUq
+oUq
cUA
nMX
pco
jzB
-tTv
-tTv
+oUq
+oUq
oUq
oUq
ucY
@@ -85246,11 +84814,11 @@ gwP
ild
xJd
jwM
-khd
+jmG
wZt
jwM
nPc
-khd
+jmG
xDD
xDD
jmG
@@ -85275,7 +84843,7 @@ oLa
hYL
rQg
vdp
-mPr
+xAR
mPr
mPr
nax
@@ -85347,23 +84915,23 @@ qJE
lmY
iFV
iDg
-jey
+hdQ
jlh
jEk
-hef
+bCd
kmP
xmD
-jVC
+bXl
kXa
saC
saC
saC
-pwC
+dhJ
yaj
qjG
qjG
-saC
-saC
+qjG
+dhJ
saC
saC
afL
@@ -85371,7 +84939,7 @@ sfc
xSE
bCX
iQb
-tTv
+oUq
oUq
cCL
sGv
@@ -85473,11 +85041,11 @@ eHF
ftK
pMs
jEW
-khd
+jmG
nnB
fvN
ful
-khd
+jmG
xDD
xDD
jmG
@@ -85502,7 +85070,7 @@ dgY
hYL
rQg
vdp
-mPr
+xAR
mPr
mPr
mPr
@@ -85588,17 +85156,17 @@ pwC
qjG
yaj
qjG
+qjG
pwC
saC
saC
saC
-saC
hXt
saC
jkJ
mIq
iQb
-tTv
+oUq
oUq
vVx
fHH
@@ -85700,11 +85268,11 @@ jmG
jmG
jmG
jmG
-khd
+jmG
eNc
wZy
teO
-khd
+jmG
aZj
aZj
jmG
@@ -85720,16 +85288,16 @@ jmG
xAR
mPr
hFX
-tEu
-bYV
+iVU
+jeD
wIr
wIr
bZV
mpF
wIr
wIr
-rZK
-gGM
+jfK
+jCQ
mPr
mPr
mPr
@@ -85825,7 +85393,7 @@ kwg
jkJ
xLi
iQb
-tTv
+oUq
oUq
oUq
suS
@@ -85947,7 +85515,7 @@ jmG
xAR
mPr
tEu
-tOo
+iUX
wIr
wIr
pNJ
@@ -85956,7 +85524,7 @@ xnp
tPa
wIr
wIr
-dGD
+jIQ
mcO
mPr
mPr
@@ -86052,7 +85620,7 @@ kwg
jkJ
xLi
nMw
-tTv
+oUq
oUq
hEJ
kgR
@@ -86164,7 +85732,7 @@ qNR
ifB
ptp
jmG
-khd
+jmG
ycH
gQV
piY
@@ -86279,7 +85847,7 @@ uZV
neI
xLi
men
-tTv
+oUq
oUq
xuQ
fHH
@@ -87196,15 +86764,15 @@ eZF
lfj
lfj
yje
+lfj
bjd
-nTj
-nTj
-nTj
+qqN
+qqN
sPH
-nTj
-nTj
-nTj
-cpy
+hXP
+qqN
+qqN
+qqN
ien
rxI
nri
@@ -87421,17 +86989,17 @@ tiQ
bjd
pqQ
tdM
-vFD
+gqG
yje
+lfj
bjd
-nTj
qqN
vqe
bjC
-vqe
+bjC
isL
-nTj
-ien
+iGl
+qqN
ien
ien
nGU
@@ -87632,7 +87200,7 @@ saC
cnA
hdQ
xmD
-xQc
+qjG
qJE
xQc
qJE
@@ -87650,15 +87218,15 @@ qEQ
lYK
hvh
pqQ
+lfj
bjd
-nTj
qqN
tbK
oan
wjP
-isL
-nTj
-cpy
+ifh
+iGl
+qqN
ien
rxI
nLF
@@ -87753,12 +87321,12 @@ yhi
xPK
oTG
jmG
-khd
+jmG
pjm
opQ
ydy
-ydy
-mUo
+opQ
+opQ
jmG
xzK
xxq
@@ -87858,8 +87426,8 @@ saC
eBm
gWg
xmD
-xQc
-xQc
+qjG
+qjG
qJE
xQc
xQc
@@ -87877,15 +87445,15 @@ qEQ
lYK
hvh
pqQ
+lfj
bjd
-nTj
-ipH
-cbn
-aLG
+qqN
+vrE
+mNI
tLX
+igp
bjC
-nTj
-ien
+qqN
ien
ien
rxI
@@ -87983,9 +87551,9 @@ jmG
uYq
aVX
meb
-ubJ
-ubJ
-ubJ
+meb
+meb
+aVX
jmG
hMz
fWG
@@ -88050,14 +87618,14 @@ aEL
aEL
aEL
jcl
-jVa
+jcl
jcl
jcl
ewp
fIe
fIe
fIe
-aWX
+fIe
fIe
fMd
ewt
@@ -88083,9 +87651,9 @@ mZU
wXA
hwG
syg
-jjV
xmD
-cHu
+xmD
+tMV
jVC
qJE
qJE
@@ -88104,15 +87672,15 @@ qEQ
lYK
hvh
pqQ
+lfj
bjd
-nTj
-icM
-cbn
+qqN
+hNj
mNI
-tLX
+hXZ
+igp
bjC
-nTj
-ien
+qqN
ien
ien
ien
@@ -88205,14 +87773,14 @@ yhi
spM
jmG
jmG
-khd
+jmG
vBd
brk
rdF
ild
-ban
-ubJ
-ubJ
+jwM
+iTn
+iUT
jmG
hMz
fWG
@@ -88311,8 +87879,8 @@ yiu
cpZ
kda
qJE
-xQc
-xQc
+qjG
+qjG
xmD
mPY
qJE
@@ -88331,15 +87899,15 @@ eZF
lYK
hvh
eZF
+lfj
bjd
-nTj
-ipH
+qqN
vrE
aJr
-tLX
+hYk
+igp
bjC
-nTj
-ien
+qqN
ien
ien
cpy
@@ -88435,7 +88003,7 @@ jmG
eSy
ild
dco
-ild
+iSF
jwM
liN
ild
@@ -88538,7 +88106,7 @@ yiu
wvB
xmD
qJE
-xQc
+qjG
xmD
xmD
mPY
@@ -88558,15 +88126,15 @@ pqQ
lYK
hvh
eZF
+lfj
bjd
-nTj
qqN
-gzw
+tbK
spn
nCC
-isL
-nTj
-cpy
+igA
+iGl
+qqN
cpy
cpy
cpy
@@ -88659,8 +88227,8 @@ onX
wiE
uFF
wFB
-xqi
-ild
+jCU
+iSF
ild
ild
hOB
@@ -88730,7 +88298,7 @@ aLJ
dDS
iZI
fFw
-fib
+iZI
jcl
aCQ
dXd
@@ -88739,7 +88307,7 @@ jcl
swu
hwt
jcl
-eHp
+swu
dHk
vAu
lkx
@@ -88764,8 +88332,8 @@ yiu
yiu
wvB
xmD
-xQc
-xQc
+qjG
+qjG
hdQ
iQe
vIS
@@ -88785,15 +88353,15 @@ pqQ
lYK
hvh
pqQ
+lfj
bjd
-nTj
qqN
+tbK
bjC
-gNN
+hZn
bjC
-isL
-nTj
-cpy
+iGl
+qqN
cpy
cpy
cpy
@@ -88957,7 +88525,7 @@ iZI
dDS
iZI
iZI
-svW
+iZI
jcl
aCQ
evx
@@ -88966,11 +88534,11 @@ nTl
jcl
hwt
jcl
-svW
+iZI
dYX
-hRy
-gqG
-gOo
+lXC
+lXC
+lXC
saC
saC
saC
@@ -88991,7 +88559,7 @@ yiu
uul
dZG
xmD
-seF
+qjG
qJE
lrQ
dRy
@@ -89012,15 +88580,15 @@ eZF
lYK
hvh
pqQ
+lfj
bjd
-nTj
-nTj
-nTj
-nTj
-nTj
-nTj
-nTj
-cpy
+qqN
+qqN
+qqN
+qqN
+qqN
+qqN
+qqN
cpy
cpy
cpy
@@ -89070,7 +88638,7 @@ pNs
xGf
xGf
whR
-pGl
+kqb
mOG
qcA
fpl
@@ -89184,7 +88752,7 @@ fib
fXU
fib
fib
-svW
+aLJ
jcl
aCQ
emr
@@ -89193,12 +88761,12 @@ nTl
dBe
qZB
jVa
-svW
+nno
dYX
-jcl
-jcl
-gOG
-heF
+lXC
+lXC
+lXC
+aCQ
saC
saC
saC
@@ -89218,7 +88786,7 @@ yiu
hLY
knt
kOF
-seF
+qjG
qJE
iQe
baG
@@ -89239,14 +88807,14 @@ pqQ
lYK
hvh
qEQ
-bjd
-moe
-moe
-moe
-moe
-moe
-moe
-moe
+lfj
+mPj
+mPj
+mPj
+mPj
+mPj
+mPj
+mPj
cpy
cpy
cpy
@@ -89411,20 +88979,20 @@ iZI
dDS
iZI
iZI
-svW
+aLJ
jVa
fLP
wSb
nTl
nTl
-jcl
+akk
hwt
jcl
-svW
+nno
dYX
-hRy
-grz
-uNT
+lXC
+lXC
+lXC
aCQ
saC
saC
@@ -89441,11 +89009,11 @@ vjl
vjl
xzu
xzu
-xzu
+aWX
hLY
knt
-xQc
-xQc
+qjG
+qjG
srf
dRy
yiu
@@ -89466,16 +89034,16 @@ pqQ
lYK
hvh
qEQ
+lfj
+mPj
+hgo
+hNV
+gOo
+lfj
bjd
-bjd
-bjd
-bjd
-bjd
-bjd
-bjd
-alI
-alI
-alI
+mPj
+mPj
+cpy
cpy
cpy
cpy
@@ -89524,7 +89092,7 @@ mUS
jxT
kqb
kqb
-pGl
+kqb
kqb
kqb
bJp
@@ -89647,7 +89215,7 @@ fLA
eVW
hwt
jcl
-svW
+nno
rbW
tiQ
tiQ
@@ -89671,7 +89239,7 @@ vlq
xwZ
syg
iqz
-xQc
+qjG
qJE
qJE
aox
@@ -89693,16 +89261,16 @@ pqQ
lYK
hvh
eZF
-bjd
-okj
+lfj
+vJw
vJw
apd
apd
lfj
+lfj
+lfj
bjd
-bjd
-bjd
-alI
+mPj
cpy
cpy
cpy
@@ -89751,7 +89319,7 @@ oMn
oYZ
pTl
pKX
-nlY
+xBS
xXg
kqb
kqb
@@ -89794,7 +89362,7 @@ wiE
wiE
uGl
six
-sUj
+jCU
jwM
ild
vBd
@@ -89873,12 +89441,12 @@ ojn
swu
swu
hwt
-aEL
-svW
+jcl
+iZI
dYX
-hRy
-ifh
-gOo
+lXC
+lXC
+lXC
aCQ
lXC
saC
@@ -89927,9 +89495,9 @@ woU
woU
xXv
lfj
-bjd
-bjd
-alI
+lfj
+lfj
+mPj
cpy
cpy
cpy
@@ -89954,9 +89522,9 @@ uog
xBo
nnz
oVD
-plz
+xjF
xFp
-sYk
+xZP
uNB
xUQ
ykc
@@ -89978,8 +89546,8 @@ djM
xAZ
pTl
uNB
-nlY
-ylr
+xBS
+xXg
wIi
kqb
kqb
@@ -90021,7 +89589,7 @@ yhi
wiE
spM
jmG
-aza
+iRV
jwM
ild
vBd
@@ -90100,21 +89668,21 @@ swu
swu
swu
hwt
-aEL
-cWH
-dYX
-jcl
jcl
-gOG
-heU
+swu
+dYX
+lXC
+lXC
+lXC
+aCQ
lXC
ijO
saC
tiQ
-tiQ
saC
saC
-tiQ
+saC
+saC
tiQ
saC
saC
@@ -90125,7 +89693,7 @@ vjl
qjG
hLY
knt
-whK
+tMV
xmD
hna
yiu
@@ -90144,8 +89712,8 @@ pAw
tiQ
bjd
yje
-lYK
-jZE
+eMm
+grz
hNP
hNP
hNP
@@ -90155,8 +89723,8 @@ vFD
dfK
xXv
lfj
-bjd
-alI
+lfj
+mPj
cpy
cpy
cpy
@@ -90183,7 +89751,7 @@ jRT
jRT
ryO
xFp
-sYk
+xZP
uNB
xUQ
xAZ
@@ -90205,8 +89773,8 @@ xOw
ykT
xUQ
uNB
-xOB
-tTD
+xBS
+xXg
ylr
ylr
ylr
@@ -90248,7 +89816,7 @@ wiE
wEW
hzu
wFB
-bhh
+jCU
ild
jwM
vBd
@@ -90328,20 +89896,20 @@ swu
swu
hwt
jcl
-mrL
+swu
dYX
-hRy
-oUC
-uNT
+lXC
+lXC
+lXC
aCQ
lXC
lXC
tiQ
tiQ
-icr
-kHX
-iSF
-jeD
+saC
+saC
+saC
+saC
tiQ
saC
saC
@@ -90371,19 +89939,19 @@ jpm
tiQ
bjd
yje
-abL
-qsW
+lfj
+eMm
qsW
qsW
qsW
cgn
mqx
jZE
-vFD
+hZK
pqQ
qpd
-bjd
-alI
+gOo
+mPj
cpy
cpy
cpy
@@ -90410,7 +89978,7 @@ jRT
sgV
ryO
xFp
-sYk
+xZP
uNB
pTl
xAZ
@@ -90432,8 +90000,8 @@ xOw
ykT
xUQ
uNB
-xOB
-tTD
+xBS
+dCJ
tTD
sKJ
sKJ
@@ -90475,7 +90043,7 @@ taw
aYQ
gJM
jmG
-sBz
+jCU
ild
jwM
okA
@@ -90555,7 +90123,7 @@ eAz
lFk
hwt
jcl
-mrL
+swu
dYX
tiQ
tiQ
@@ -90564,11 +90132,11 @@ hfi
lXC
lXC
tiQ
-hTI
-aCQ
-dhJ
-iTn
-jfK
+saC
+saC
+saC
+saC
+saC
tiQ
jEq
saC
@@ -90579,7 +90147,7 @@ yiu
yiu
lDc
lMN
-whK
+tMV
mnw
qjG
yiu
@@ -90606,11 +90174,11 @@ tyU
lYK
mqx
mqx
-hvh
+icr
pqQ
qpd
-bjd
-alI
+gOo
+mPj
cpy
cpy
cpy
@@ -90637,7 +90205,7 @@ ydb
val
ryO
xFp
-sYk
+xZP
uNB
pTl
ykT
@@ -90659,8 +90227,8 @@ xOw
xAZ
pTl
uNB
-xOB
-tTD
+xBS
+dCJ
tTD
sKJ
tTD
@@ -90693,7 +90261,7 @@ fdb
vNk
vNk
vNk
-eds
+vNk
vNk
mFA
eur
@@ -90782,20 +90350,20 @@ nTl
nTl
nTl
lXC
-eHp
+swu
dYX
-jcl
-jcl
-jcl
+lXC
+lXC
+lXC
aCQ
lXC
lXC
tiQ
-sBg
-hXP
-tra
-tCX
-tFZ
+saC
+saC
+saC
+saC
+saC
tiQ
lKl
xmD
@@ -90806,7 +90374,7 @@ leH
lmu
lDr
lNI
-aqo
+qET
ugN
pHT
lXQ
@@ -90822,10 +90390,10 @@ xmD
knt
xmD
skk
-tiQ
-bjd
+lTi
bjd
bjd
+eRg
wRf
bjd
hKI
@@ -90833,11 +90401,11 @@ hFA
lYK
mqx
mqx
-hvh
+icr
pqQ
qpd
-bjd
-alI
+gOo
+mPj
cpy
cpy
cpy
@@ -90862,9 +90430,9 @@ wgW
wgW
ydb
xRQ
-plz
+xjF
xFp
-sYk
+xZP
pKX
pKX
vnq
@@ -90886,8 +90454,8 @@ qCd
dak
pKX
pKX
-xOB
-tTD
+xBS
+dCJ
tTD
tTD
tTD
@@ -90927,7 +90495,7 @@ lot
aTR
xvl
xvl
-cxE
+jmG
jmG
jmG
xzK
@@ -91009,20 +90577,20 @@ nTl
nTl
nTl
lXC
-eLx
+lXC
dYX
-jcl
-jcl
-jcl
+lXC
+lXC
+lXC
aCQ
lXC
lXC
tiQ
tiQ
-idq
-jcl
-jcl
-kkq
+saC
+saC
+saC
+saC
tiQ
jEu
xmD
@@ -91048,9 +90616,9 @@ xVq
liK
gyC
pfj
-pvz
-tiQ
-tiQ
+ayX
+qjG
+lTi
bjd
rMD
eZF
@@ -91060,11 +90628,11 @@ bjd
lYK
mqx
mqx
-hvh
+icr
pqQ
qpd
-bjd
-alI
+gOo
+mPj
cpy
cpy
cpy
@@ -91091,8 +90659,8 @@ jRc
xjF
xjF
xFp
-aDj
-xAw
+xZP
+pKX
nvt
ykT
kGb
@@ -91112,9 +90680,9 @@ fyl
kcd
oig
cLQ
-xAw
-lCn
-tTD
+pKX
+xBS
+dCJ
tTD
tTD
tTD
@@ -91154,8 +90722,8 @@ icW
eHI
xvl
xvl
-akk
-xxq
+teD
+xzK
xxq
xxq
xxq
@@ -91238,19 +90806,19 @@ nTl
nTl
nTl
dYX
-jcl
-jcl
-jcl
+lXC
+lXC
+lXC
aCQ
lXC
lXC
-hME
-hUY
-ier
-hRW
-kHX
-jcl
-dAG
+saC
+saC
+saC
+saC
+saC
+saC
+saC
tiQ
jYE
xYD
@@ -91258,8 +90826,8 @@ knt
lAD
saC
saC
-seF
-xQc
+cWH
+cHy
saC
saC
myV
@@ -91287,22 +90855,22 @@ cZH
jDN
mqx
nJW
-hvh
+icr
eZF
lfj
-bjd
-alI
+lfj
+mPj
cpy
cpy
cpy
cpy
cpy
ien
-tNQ
-qSH
-qSH
+cRN
+vTx
+vTx
trV
-pZo
+eQu
vGp
eKe
xFp
@@ -91340,9 +90908,9 @@ qqx
pag
bia
gYH
-lDE
-tTD
-tTD
+xBS
+dCJ
+rnB
tTD
tTD
tTD
@@ -91382,7 +90950,7 @@ agM
xvl
xvl
xWO
-fWG
+hMz
fWG
fWG
fWG
@@ -91471,13 +91039,13 @@ hRW
egD
lXC
lXC
-iZI
-hVk
-igp
-swu
-iUT
-kHX
-evx
+saC
+saC
+saC
+saC
+saC
+saC
+saC
xQc
lAK
xYD
@@ -91488,7 +91056,7 @@ ncA
lDN
pxN
saC
-xQc
+cHy
sdR
lNA
wXA
@@ -91506,7 +91074,7 @@ pfj
qjG
qjG
bjd
-nRy
+lfj
pqQ
bjd
fSf
@@ -91514,11 +91082,11 @@ cZH
mqx
mqx
mqx
-hvh
+icr
pqQ
qpd
-bjd
-alI
+gOo
+mPj
cpy
cpy
cpy
@@ -91529,7 +91097,7 @@ vGB
vGB
wDj
wDj
-pZo
+fcW
vGp
vGp
eKe
@@ -91567,10 +91135,10 @@ mTK
sdC
dvp
uKy
-lDE
-tTD
-tTD
-tTD
+xBS
+dCJ
+rnB
+rnB
tTD
tTD
cpy
@@ -91608,8 +91176,8 @@ xgA
bsG
vOT
xvB
-xWO
-fWG
+otS
+hMz
fWG
fWG
fWG
@@ -91697,14 +91265,14 @@ enr
elx
elx
elx
-elx
-hNj
-hXA
-fvQ
-fDC
-gwk
-hgQ
-exB
+aDS
+saC
+saC
+saC
+saC
+saC
+saC
+saC
xQc
xmD
xmD
@@ -91715,7 +91283,7 @@ nwR
oem
maj
maj
-seF
+cWH
knt
hna
yiu
@@ -91733,19 +91301,19 @@ oyK
ayX
vKP
bjd
-osm
+lfj
pqQ
bjd
fSf
-cZH
-cgn
-mqx
-mqx
-hvh
+heU
+qsW
+qsW
+qsW
+idq
pqQ
qpd
-bjd
-alI
+gOo
+mPj
cpy
cpy
wDj
@@ -91772,8 +91340,8 @@ qSH
qSH
qSH
qSH
-cfv
-xAw
+sPh
+pKX
xnI
ykT
djM
@@ -91793,11 +91361,11 @@ art
gNn
mgb
rUe
-xAw
+pKX
xBS
-tTD
-tTD
-tTD
+dCJ
+rnB
+rnB
tTD
tTD
tTD
@@ -91835,8 +91403,8 @@ aSZ
acE
vOT
xvB
-xWO
-fWG
+otS
+hMz
fWG
fWG
cpy
@@ -91925,18 +91493,18 @@ lXC
lXC
lXC
lXC
-iZI
-hXP
-egY
-cHy
-jIQ
-bXl
-jcl
+saC
+saC
+saC
+saC
+saC
+saC
+saC
xQc
tMV
tMV
kne
-xQc
+cHy
mkb
lnd
xYD
@@ -91965,14 +91533,14 @@ pqQ
bjd
bjd
bjd
-lYK
-mqx
-mqx
-hvh
+rMD
+rMD
+rMD
+lfj
pqQ
qpd
-bjd
-alI
+gOo
+mPj
cpy
cpy
wDj
@@ -91999,7 +91567,7 @@ rMR
qSH
qSH
vGp
-onj
+sPh
pKX
pKX
pKn
@@ -92021,10 +91589,10 @@ heX
jMk
pKX
pKX
-xOB
-tTD
-tTD
-tTD
+xBS
+dCJ
+rnB
+rnB
tTD
tTD
tTD
@@ -92062,8 +91630,8 @@ eMD
qZd
xvl
xvl
-xWO
-fWG
+otS
+hMz
fWG
cpy
uwT
@@ -92152,24 +91720,24 @@ tra
egY
lXC
lXC
-hNV
-hXZ
-igp
-swu
-iUX
-tCX
-jcl
+saC
+saC
+saC
+saC
+saC
+saC
+saC
xQc
jjV
xmD
knt
-xQc
+cHy
mlp
nxQ
oKK
pDM
qTE
-xQc
+cHy
wyA
hna
yiu
@@ -92187,21 +91755,21 @@ jWB
lKl
lTi
bjd
-lul
+lfj
dfK
qKO
xLr
-xXv
-lYK
-mqx
-mqx
-hvh
+hfE
+xsE
+xsE
+xsE
+lfj
pqQ
qpd
-bjd
-alI
-alI
-alI
+mPj
+mPj
+mPj
+mPj
wDj
cPg
eJR
@@ -92226,7 +91794,7 @@ qSH
qSH
vGp
vGp
-onj
+sPh
uNB
xUQ
ykT
@@ -92248,11 +91816,11 @@ iGn
uOp
bSI
uNB
-xOB
-tTD
-tTD
-tTD
-tTD
+xBS
+dCJ
+rnB
+rnB
+rnB
sKJ
tTD
tTD
@@ -92289,8 +91857,8 @@ xje
ffb
xvl
xvl
-xWO
-fWG
+otS
+hMz
dBD
sps
sps
@@ -92373,30 +91941,30 @@ nTl
nTl
nTl
vQn
-aEL
-aEL
-jcl
+lXC
+lXC
+lXC
aCQ
lXC
lXC
-iZI
-hYk
-aDS
-tra
-tCX
-jcl
-cYe
+saC
+saC
+saC
+saC
+saC
+saC
+saC
tiQ
dXo
xYD
kpE
-xQc
-xQc
+cHy
+cHy
nEd
piW
pEp
-xQc
-xQc
+cHy
+cHy
knt
hna
qFW
@@ -92415,18 +91983,18 @@ asH
tiQ
bjd
dXX
-pWC
rMD
-bjd
-pqQ
-lYK
-mqx
-mqx
-hvh
+rMD
+lao
eZF
-bjd
-bjd
-bjd
+xsE
+xsE
+xsE
+lfj
+eZF
+lfj
+lfj
+lfj
bjd
bjd
mPj
@@ -92453,7 +92021,7 @@ qSH
qSH
vGp
vGp
-onj
+sPh
uNB
xUQ
xAZ
@@ -92475,9 +92043,9 @@ sAp
vHw
fEF
uNB
-xOB
-tTD
-tTD
+xBS
+dCJ
+rnB
sKJ
sKJ
sKJ
@@ -92516,8 +92084,8 @@ xhD
acE
vOT
xvB
-xWO
-fWG
+otS
+hMz
qjO
ylo
ylo
@@ -92600,29 +92168,29 @@ nTl
nno
lXC
hwt
-jVa
-jcl
-jcl
+lXC
+lXC
+lXC
fkW
lXC
lXC
hOy
-tiQ
-qyp
-jcl
-jcl
-bCd
+saC
+saC
+saC
+saC
+saC
tiQ
jEu
xmD
xYD
kpE
xmD
-xQc
-xQc
-seF
-xQc
-xQc
+cHy
+cHy
+cWH
+cHy
+cHy
uQi
knt
juw
@@ -92641,19 +92209,19 @@ seF
tiQ
tiQ
bjd
+eZq
+gwk
+lfj
bjd
-bjd
-bjd
-bjd
-qEQ
-abL
-cgn
-mqx
-hvh
-dfK
-woU
-woU
-woU
+yje
+xsE
+xsE
+xsE
+xsE
+hRy
+hVk
+hVk
+hVk
xnX
gib
mPj
@@ -92664,7 +92232,7 @@ iMQ
wDj
wDj
wDj
-pRv
+fda
xSv
xSv
xSv
@@ -92680,7 +92248,7 @@ qSH
vGp
vGp
vGp
-onj
+sPh
uNB
pTl
xAZ
@@ -92702,9 +92270,9 @@ xOw
snb
rkV
uNB
-xOB
-tTD
-hrk
+xBS
+xXg
+vlT
vlT
vlT
vlT
@@ -92743,8 +92311,8 @@ xgA
acE
vOT
xvB
-xWO
-fWG
+otS
+hMz
qjO
ylo
byR
@@ -92827,18 +92395,18 @@ nTl
lXC
swu
hwt
-jVa
-jcl
-jcl
+lXC
+lXC
+lXC
aCQ
lXC
lXC
tiQ
-hZn
-aAb
-hRW
-kHX
-jhY
+saC
+saC
+saC
+saC
+saC
tiQ
jjV
xmD
@@ -92867,20 +92435,20 @@ xmD
kss
tiQ
tiQ
-alI
-alI
-alI
-alI
+bjd
+fvQ
+fvQ
+bjd
bjd
lwr
-rSs
-abL
-cgn
-jZE
-hNP
-hNP
-hNP
-efM
+hgQ
+xsE
+xsE
+xsE
+xsE
+xsE
+xsE
+xsE
caV
pcV
xLr
@@ -92889,9 +92457,9 @@ gjA
rtX
wDj
wDj
-vGp
-vGp
-pZo
+xFp
+xFp
+fcW
qSH
qSH
qSH
@@ -92907,7 +92475,7 @@ qSH
vGp
vGp
kqp
-sYk
+xZP
uNB
xUQ
xnI
@@ -92929,8 +92497,8 @@ bSa
xAZ
xUQ
uNB
-nlY
-vlT
+xBS
+xXg
wIi
tTK
tTK
@@ -92970,8 +92538,8 @@ xjY
qZd
xvl
xvl
-xWO
-fWG
+otS
+hMz
qjO
ylo
sGj
@@ -93061,11 +92629,11 @@ aCQ
lXC
lXC
tiQ
-hZK
-aCQ
-fMT
-iVk
-jic
+saC
+saC
+saC
+saC
+saC
tiQ
jjV
iQe
@@ -93094,21 +92662,21 @@ pfj
vAX
kJc
tiQ
-saC
-saC
-saC
-alI
+bjd
+fDC
+gNN
+bjd
bjd
gzY
ama
-kbb
-abL
-qsW
-qsW
-qsW
-qsW
+hgQ
xsE
-eZF
+xsE
+xsE
+xsE
+xsE
+xsE
+iLC
tyb
lao
iJE
@@ -93118,7 +92686,7 @@ vGB
mTa
oqn
pdv
-umR
+fcW
qSH
qSH
qSH
@@ -93134,7 +92702,7 @@ vGp
vGp
kqp
xFp
-xAw
+pKX
pKX
pKX
kIZ
@@ -93156,7 +92724,7 @@ vfK
rie
xUQ
pKX
-nlY
+xBS
xXg
tTK
tTK
@@ -93197,8 +92765,8 @@ qIE
wog
xvl
xvl
-xWO
-fWG
+otS
+hMz
qjO
jOF
oiR
@@ -93281,18 +92849,18 @@ hwt
jcl
swu
hwt
-hRy
-ifh
-gOo
+lXC
+lXC
+lXC
aCQ
lXC
lXC
tiQ
tiQ
-igA
-tCX
-iVU
-jig
+saC
+saC
+saC
+saC
tiQ
xmD
hna
@@ -93319,22 +92887,22 @@ xSL
txo
jef
pfj
-tfK
+eHp
tiQ
-saC
-saC
-saC
-alI
+bjd
+fDC
+gNN
+fDC
bjd
bjd
-lfj
-eTQ
-woU
-aLf
+rMD
+hRy
+hVk
ubF
ubF
-woU
-woU
+ubF
+hVk
+hVk
otx
qYy
mPj
@@ -93345,7 +92913,7 @@ vGB
ncz
kKj
pgp
-umR
+fcW
qSH
qSH
vGp
@@ -93424,8 +92992,8 @@ xhD
bsG
kEQ
xvB
-xWO
-fWG
+otS
+hMz
qjO
ylo
hYf
@@ -93506,19 +93074,19 @@ mrL
lFd
qZB
jVa
-pgJ
+mrL
hwt
-jcl
-jcl
-gRV
-hfE
lXC
lXC
-swu
-tiQ
-mRh
-iGl
+lXC
+fkW
+lXC
+lXC
+mrL
tiQ
+saC
+saC
+saC
tiQ
tiQ
vjl
@@ -93546,22 +93114,22 @@ csy
wWc
pfj
syV
-kJc
-tiQ
-saC
-saC
-saC
-alI
-alI
-bjd
-bjd
-bjd
-bjd
-bjd
-bjd
+eLx
+vKP
bjd
+rMD
+gOo
+rMD
bjd
bjd
+rMD
+xsE
+xsE
+xsE
+xsE
+rMD
+rMD
+rMD
bjd
bjd
mPj
@@ -93572,7 +93140,7 @@ wDj
nff
oxT
pgG
-umR
+fcW
qSH
vGp
vGp
@@ -93651,8 +93219,8 @@ xhD
bsG
vOT
xvB
-xWO
-fWG
+otS
+hMz
qjO
ylo
ylo
@@ -93733,18 +93301,18 @@ swu
swu
hwt
jcl
-svW
+nno
hwt
-hRy
-oUC
-uNT
-aCQ
lXC
lXC
-swu
-swu
-swu
-jcl
+lXC
+aCQ
+lXC
+nno
+mrL
+saC
+saC
+saC
saC
saC
saC
@@ -93774,18 +93342,18 @@ lmY
sfM
hLY
xmD
-tiQ
-saC
-saC
-saC
-saC
-alI
-alI
-alI
-alI
-alI
-alI
-alI
+qjG
+bjd
+rMD
+lfj
+lfj
+fDC
+bjd
+rMD
+xsE
+xsE
+xsE
+rMD
wDj
wDj
wDj
@@ -93796,10 +93364,10 @@ vGB
moQ
vGB
wDj
-qSH
-qSH
-qSH
-umR
+xFp
+xFp
+dHF
+feF
vGp
vGp
vGp
@@ -93879,7 +93447,7 @@ eHI
xvl
xvl
xwv
-fWG
+hMz
gBy
mUr
kSm
@@ -93960,17 +93528,17 @@ jcl
swu
hwt
jcl
-svW
+nno
bye
tiQ
tiQ
tiQ
-aCQ
-lXC
-lXC
-iRY
-swu
-jcl
+fmB
+nno
+nno
+lFd
+saC
+saC
saC
saC
saC
@@ -94001,30 +93569,30 @@ lmY
sfM
hLY
ayX
-tiQ
-saC
-saC
-saC
-saC
-saC
-saC
-saC
-saC
-saC
-saC
+qjG
+bjd
+lfj
+gOo
+gOo
+rMD
+lao
+rMD
+xsE
+xsE
+rMD
wDj
wDj
-saC
-saC
-saC
+sOL
+sOL
+sOL
wDj
eOT
sOL
sOL
sOL
wDj
-qSH
-qSH
+xFp
+ezj
qSH
umR
vGp
@@ -94106,7 +93674,7 @@ acE
kEQ
xvl
otS
-fWG
+hMz
fWG
fWG
uwT
@@ -94178,7 +93746,7 @@ fib
gbQ
jYj
jYj
-eFP
+elx
fIe
egd
ewt
@@ -94187,16 +93755,16 @@ nTl
jcl
hwt
jcl
-svW
+lXC
hwt
-hRy
-ifh
-eMm
-aCQ
lXC
lXC
-swu
-swu
+lXC
+fmB
+nno
+nno
+saC
+saC
saC
saC
saC
@@ -94227,22 +93795,22 @@ xME
hYg
jWB
eIT
-kJc
-tiQ
-saC
-saC
-saC
-saC
-saC
-saC
-saC
-saC
-saC
-saC
+eLx
+qjG
+bjd
+fMT
+gOo
+gOo
+lfj
+lao
+hME
+hTI
+hTI
+ier
wDj
-saC
-saC
-saC
+sOL
+eJR
+eJR
arN
vGB
sOL
@@ -94250,8 +93818,8 @@ eJR
eJR
fQD
vGB
-qSH
-qSH
+xFp
+ezj
qSH
umR
vGp
@@ -94333,7 +93901,7 @@ acE
kEQ
meK
otS
-fWG
+hMz
cpy
cpy
uwT
@@ -94405,20 +93973,20 @@ iZI
dDS
iZI
iZI
-svW
+lXC
jVa
fLP
iOt
nTl
nTl
-dBe
-qZB
-jVa
-svW
+ame
hwt
jcl
-jcl
-eRg
+lXC
+hwt
+lXC
+lXC
+nno
fmB
saC
saC
@@ -94452,23 +94020,23 @@ sDf
kpo
wQs
llG
-noD
+dAG
lMF
-iDg
-tiQ
-saC
-saC
-saC
-saC
-saC
-saC
-saC
-saC
-saC
-saC
+nqQ
+lTi
+bjd
+fMT
+lfj
+gRV
+rMD
+bjd
+bjd
+hUY
+hXA
+hUY
wDj
-saC
-saC
+sOL
+eJR
iJE
hZg
vGB
@@ -94477,8 +94045,8 @@ rlB
azE
qYp
vGB
-qSH
-qSH
+xFp
+ezj
qSH
umR
vGp
@@ -94560,7 +94128,7 @@ bsG
kEQ
xvl
otS
-fWG
+hMz
cpy
uwT
uwT
@@ -94632,7 +94200,7 @@ iZI
dDS
iZI
iZI
-svW
+lXC
jcl
aCQ
evx
@@ -94641,11 +94209,11 @@ nTl
jcl
hwt
jcl
-svW
+lXC
hwt
-hRy
-gqG
-eZq
+lXC
+lXC
+nno
saC
saC
saC
@@ -94683,18 +94251,18 @@ jWB
teE
mpQ
tiQ
-saC
-saC
-saC
-saC
-saC
-saC
-saC
-saC
-saC
-saC
+bjd
+bjd
+gOG
+heF
+bjd
+bjd
+bjd
+bjd
+bjd
+bjd
wDj
-saC
+sOL
hhJ
sOL
sOL
@@ -94704,8 +94272,8 @@ rlB
eJR
loS
vGB
-qSH
-qSH
+xFp
+ezj
qSH
umR
vGp
@@ -94786,8 +94354,8 @@ icW
oPW
xvl
xvl
-naZ
-uwT
+xwv
+hMz
fWG
uwT
uwT
@@ -94859,7 +94427,7 @@ iZI
dDS
iZI
iZI
-fib
+iZI
jcl
aCQ
equ
@@ -94868,7 +94436,7 @@ jcl
dXd
fbC
fIe
-ame
+oWq
fDn
fDH
fFE
@@ -94911,18 +94479,18 @@ cXi
tiQ
tiQ
saC
-saC
-saC
-saC
-saC
+bjd
+bjd
+bjd
+bjd
saC
saC
saC
saC
saC
wDj
-saC
-saC
+wDj
+wDj
ygD
jJI
uaY
@@ -94931,8 +94499,8 @@ eJR
eJR
xJg
wDj
-aij
-qSH
+dsl
+ezj
qSH
umR
qSH
@@ -95013,8 +94581,8 @@ xhD
bsG
kEQ
xvB
-xWO
-uwT
+otS
+hMz
fWG
fWG
uwT
@@ -95158,8 +94726,8 @@ rlB
eJR
rtX
wvX
-nTp
-qSH
+esB
+ezj
qSH
umR
qSH
@@ -95240,8 +94808,8 @@ xhD
bsG
kEQ
xvB
-xWO
-uwT
+otS
+hMz
fWG
fWG
uwT
@@ -95385,8 +94953,8 @@ rlB
iJE
rtX
ygD
-nTp
-qSH
+esB
+ezj
qSH
umR
qSH
@@ -95460,15 +95028,15 @@ uuD
uuD
lFO
gIg
-wrY
+imT
xvl
xvl
xjY
qZd
xvl
xvl
-xWO
-uwT
+otS
+hMz
uwT
fWG
fWG
@@ -95548,7 +95116,7 @@ jcl
jcl
evx
jcl
-jVa
+jcl
jcl
jcl
jcl
@@ -95612,8 +95180,8 @@ hcE
sjQ
wJk
wDj
-bcl
-qSH
+euN
+ezj
qSH
umR
qSH
@@ -95687,15 +95255,15 @@ evv
uuD
uuD
xXg
-rIr
+imT
xvl
xvl
xje
wog
xvl
xvl
-xWO
-uwT
+otS
+hMz
uwT
uwT
fWG
@@ -95839,8 +95407,8 @@ eJR
azE
wJk
wDj
-qSH
-qSH
+xFp
+ezj
qSH
qQB
qDV
@@ -95921,8 +95489,8 @@ xhD
bsG
kEQ
xvB
-xWO
-uwT
+otS
+hMz
uwT
uwT
fWG
@@ -96066,8 +95634,8 @@ eJR
eJR
mnx
wDj
-qSH
-qSH
+xFp
+ezj
qSH
qSH
umR
@@ -96148,13 +95716,13 @@ xgA
bsG
vOT
xvB
-xWO
-uxT
+otS
+hMz
+kIV
sps
sps
sps
-dsl
-uwT
+ppD
uwT
uwT
uwT
@@ -96293,8 +95861,8 @@ sOL
sOL
sOL
wDj
-ltB
-ltB
+eyh
+eyh
ltB
ltB
bBW
@@ -96368,20 +95936,20 @@ rOg
qJH
qUs
xXg
-iQR
+imT
xvl
xvl
xjY
qZd
xvl
xvl
-xWO
-ppD
+otS
+hMz
+nIu
xkO
xkO
xkO
-tKC
-uwT
+qpD
uwT
uwT
uwT
@@ -96595,20 +96163,20 @@ rOg
jrJ
qUs
xXg
-wrY
+imT
xvl
xvl
xje
wog
xvl
xvl
-xWO
-ppD
+otS
+hMz
+nIu
xkO
vZn
waD
-ujy
-uwT
+tKC
uwT
uwT
uwT
@@ -96765,7 +96333,7 @@ vGp
cpy
pZo
tWt
-nSE
+tDS
tDS
thc
thc
@@ -96822,20 +96390,20 @@ bHT
qiw
uuD
xXg
-wrY
+imT
xvB
kEQ
xhD
bsG
kEQ
xvB
-xWO
-ppD
+otS
+hMz
+nIu
xkO
xkO
xkO
-tKC
-uwT
+qpD
uwT
uwT
uwT
@@ -97049,20 +96617,20 @@ bJG
uuD
uuD
xXg
-wrY
+imT
xvB
vOT
xhD
bsG
vOT
xvB
-xWO
-ppD
+otS
+hMz
+nIu
xkO
ipC
waD
-ujy
-uwT
+tKC
uwT
uwT
uwT
@@ -97276,20 +96844,20 @@ uuD
uuD
viG
xXg
-wrY
+imT
xvl
xvl
jVz
wog
xvl
xvl
-xWO
-ppD
+otS
+hMz
+nIu
xkO
xkO
xkO
-tKC
-fWG
+qpD
uwT
uwT
uwT
@@ -97503,20 +97071,20 @@ xXg
xXg
xXg
xXg
-wrY
+imT
xvl
xvl
icW
oPW
xvl
xvl
-xWO
-kIV
+otS
+hMz
+oaj
mUr
mUr
-apS
wRk
-fWG
+ujy
uwT
uwT
uwT
@@ -97730,15 +97298,15 @@ xXg
xXg
xXg
xXg
-wrY
+imT
xvl
xvl
lot
vdz
xvl
xvl
-xWO
-uwT
+otS
+hMz
uwT
uwT
fWG
@@ -97964,8 +97532,8 @@ swF
fzV
qqR
cUG
-xWO
-uwT
+iQR
+hMz
uwT
uwT
fWG
@@ -98191,8 +97759,8 @@ xRw
uaI
eHB
cUG
-tti
-uwT
+xzK
+cpk
uwT
uwT
fWG
@@ -99280,10 +98848,10 @@ mgk
vUb
gdO
gdO
-psC
+gdO
ayn
wHY
-psC
+gdO
gdO
tTK
tTK
@@ -100866,7 +100434,7 @@ umR
vGp
vGp
vGp
-uRb
+fhQ
gdO
gdO
gdO
@@ -101093,16 +100661,16 @@ umR
qSH
vGp
vGp
-hHh
-sYk
+eKe
+xZP
gdO
ene
vTW
puJ
ufU
gdO
-nlY
-ylr
+xBS
+xXg
ylr
ylr
ylr
@@ -101328,8 +100896,8 @@ vDa
pej
ufU
raj
-xOB
-sKJ
+lDE
+dCJ
tTD
rnB
rnB
@@ -101555,8 +101123,8 @@ vDa
pej
rMr
gdO
-lCn
-tTD
+lDE
+dCJ
rnB
rnB
rnB
@@ -101783,7 +101351,7 @@ puJ
pej
uBd
lDE
-rnB
+dCJ
rnB
rnB
rnB
@@ -102010,7 +101578,7 @@ puJ
pej
qZC
lDE
-rnB
+dCJ
rnB
rnB
rnB
@@ -102229,15 +101797,15 @@ vGp
vGp
vGp
vGp
-gBb
+ioD
gdO
ene
pej
pej
ufU
gdO
-xBS
-rnB
+lDE
+dCJ
rnB
rnB
rnB
@@ -102463,8 +102031,8 @@ pej
pej
ufU
raj
-xOB
-rnB
+lDE
+dCJ
rnB
rnB
rnB
@@ -102683,7 +102251,7 @@ vGp
vGp
kQJ
tPb
-onj
+sPh
gdO
ene
puJ
@@ -102691,7 +102259,7 @@ puJ
ene
gdO
cpy
-rnB
+dCJ
rnB
rnB
rnB
diff --git a/maps/map_files/LV624/LV624.dmm b/maps/map_files/LV624/LV624.dmm
index ffe928acf3ae..6f03ce4c2cba 100644
--- a/maps/map_files/LV624/LV624.dmm
+++ b/maps/map_files/LV624/LV624.dmm
@@ -1895,7 +1895,7 @@
/area/lv624/ground/barrens/east_barrens/ceiling)
"aja" = (
/obj/effect/decal/cleanable/blood/splatter,
-/turf/open/gm/dirtgrassborder/east,
+/turf/open/gm/dirtgrassborder/grassdirt_corner2/south_east,
/area/lv624/ground/jungle/west_jungle)
"ajc" = (
/obj/structure/blocker/forcefield/multitile_vehicles,
@@ -2585,9 +2585,9 @@
/turf/open/gm/dirt,
/area/lv624/ground/caves/west_caves)
"amK" = (
-/obj/effect/landmark/lv624/fog_blocker,
-/turf/open/gm/dirtgrassborder/grassdirt_corner2/south_east,
-/area/lv624/ground/river/west_river)
+/obj/structure/flora/bush/ausbushes/var3/leafybush,
+/turf/open/gm/dirt,
+/area/lv624/ground/jungle/west_jungle)
"amL" = (
/obj/structure/flora/bush/ausbushes/palebush,
/turf/open/gm/river,
@@ -3061,7 +3061,7 @@
/area/lv624/lazarus/hydroponics)
"aqq" = (
/obj/structure/flora/bush/ausbushes/pointybush,
-/turf/open/gm/dirtgrassborder/west,
+/turf/open/gm/dirtgrassborder/grassdirt_corner2/south_west,
/area/lv624/ground/jungle/west_jungle)
"aqr" = (
/obj/structure/flora/bush/ausbushes/var3/fernybush,
@@ -3262,7 +3262,8 @@
/turf/open/gm/dirtgrassborder/west,
/area/lv624/lazarus/quartstorage/outdoors)
"arE" = (
-/turf/open/gm/dirtgrassborder/grassdirt_corner2/north_east,
+/obj/structure/flora/jungle/vines/light_1,
+/turf/open/gm/dirtgrassborder/grassdirt_corner/south_west,
/area/lv624/ground/jungle/west_jungle)
"arG" = (
/obj/effect/landmark/survivor_spawner,
@@ -3337,8 +3338,8 @@
/turf/open/gm/grass/grass2,
/area/lv624/ground/jungle/west_jungle)
"asd" = (
-/obj/structure/flora/bush/ausbushes/var3/fullgrass,
-/turf/open/gm/dirtgrassborder/south,
+/obj/structure/flora/jungle/vines/light_3,
+/turf/open/gm/dirtgrassborder/west,
/area/lv624/ground/jungle/west_jungle)
"ase" = (
/turf/open/gm/dirtgrassborder/grassdirt_corner2/south_west,
@@ -3426,8 +3427,8 @@
},
/area/lv624/lazarus/landing_zones/lz1)
"asK" = (
-/obj/structure/flora/bush/ausbushes/pointybush,
-/turf/open/gm/grass/grass1,
+/obj/structure/flora/jungle/vines/light_3,
+/turf/open/gm/dirt,
/area/lv624/ground/jungle/west_jungle)
"asL" = (
/obj/item/tool/warning_cone,
@@ -3497,16 +3498,12 @@
},
/area/lv624/lazarus/research)
"asX" = (
-/obj/structure/flora/grass/tallgrass/jungle/corner{
- dir = 6
- },
-/turf/open/gm/grass/grass2,
+/obj/structure/flora/jungle/vines/light_3,
+/turf/open/gm/dirtgrassborder/south,
/area/lv624/ground/jungle/west_jungle)
"asY" = (
-/obj/structure/flora/grass/tallgrass/jungle/corner{
- dir = 10
- },
-/turf/open/gm/grass/grass2,
+/obj/effect/landmark/monkey_spawn,
+/turf/open/gm/dirt,
/area/lv624/ground/jungle/west_jungle)
"asZ" = (
/obj/structure/flora/bush/ausbushes/var3/ywflowers,
@@ -4446,10 +4443,6 @@
icon_state = "whitepurplecorner"
},
/area/lv624/lazarus/fitness)
-"awz" = (
-/obj/structure/flora/grass/tallgrass/jungle/corner,
-/turf/open/gm/grass/grass1,
-/area/lv624/ground/jungle/west_jungle)
"awC" = (
/obj/structure/flora/bush/ausbushes/reedbush,
/turf/open/gm/coast/beachcorner/north_east,
@@ -4829,9 +4822,6 @@
icon_state = "whitepurplecorner"
},
/area/lv624/lazarus/fitness)
-"axV" = (
-/turf/open/gm/dirtgrassborder/north,
-/area/lv624/ground/jungle/west_jungle)
"axW" = (
/obj/effect/decal/remains/xeno,
/obj/structure/fence,
@@ -4860,12 +4850,6 @@
/obj/effect/landmark/lv624/xeno_tunnel,
/turf/open/gm/grass/grass1,
/area/lv624/lazarus/quartstorage/outdoors)
-"ayd" = (
-/obj/structure/flora/grass/tallgrass/jungle/corner{
- dir = 4
- },
-/turf/open/gm/grass/grass1,
-/area/lv624/ground/jungle/west_jungle)
"ayg" = (
/obj/structure/computerframe,
/turf/open/floor/plating{
@@ -4895,12 +4879,6 @@
icon_state = "vault"
},
/area/lv624/lazarus/robotics)
-"ayl" = (
-/obj/structure/flora/grass/tallgrass/jungle/corner{
- dir = 1
- },
-/turf/open/gm/grass/grass1,
-/area/lv624/ground/jungle/west_jungle)
"aym" = (
/obj/structure/machinery/autolathe,
/turf/open/floor{
@@ -5070,10 +5048,6 @@
icon_state = "whitepurple"
},
/area/lv624/lazarus/research)
-"ayN" = (
-/obj/structure/flora/bush/ausbushes/reedbush,
-/turf/open/gm/dirtgrassborder/grassdirt_corner2/south_west,
-/area/lv624/ground/jungle/west_jungle)
"ayO" = (
/obj/item/weapon/baseballbat/metal,
/obj/item/weapon/baseballbat/metal{
@@ -7821,14 +7795,6 @@
/obj/structure/flora/bush/ausbushes/var3/fernybush,
/turf/open/gm/grass/grass1,
/area/lv624/ground/jungle/west_jungle)
-"aIn" = (
-/obj/structure/flora/bush/ausbushes/var3/sunnybush,
-/turf/open/gm/grass/grass1,
-/area/lv624/ground/jungle/west_jungle)
-"aIo" = (
-/obj/structure/flora/bush/ausbushes/var3/stalkybush,
-/turf/open/gm/grass/grass1,
-/area/lv624/ground/jungle/west_jungle)
"aIp" = (
/obj/structure/surface/table,
/obj/effect/landmark/crap_item,
@@ -12333,10 +12299,6 @@
/obj/structure/flora/jungle/vines/heavy,
/turf/open/gm/grass/grass1,
/area/lv624/ground/jungle/west_central_jungle)
-"bbu" = (
-/obj/structure/flora/bush/ausbushes/var3/stalkybush,
-/turf/open/gm/grass/grass2,
-/area/lv624/ground/jungle/west_jungle)
"bbx" = (
/obj/structure/flora/jungle/vines/light_1,
/obj/structure/flora/jungle/vines/heavy,
@@ -12344,7 +12306,7 @@
/area/lv624/ground/jungle/east_central_jungle)
"bbC" = (
/obj/effect/landmark/hunter_primary,
-/turf/open/gm/grass/grass2,
+/turf/open/gm/dirt,
/area/lv624/ground/jungle/west_jungle)
"bbH" = (
/obj/structure/flora/bush/ausbushes/var3/sparsegrass,
@@ -16023,7 +15985,7 @@
/area/lv624/lazarus/comms)
"hJn" = (
/obj/structure/flora/jungle/vines/light_2,
-/turf/open/gm/grass/grass2,
+/turf/open/gm/grass/grass1,
/area/lv624/ground/jungle/west_jungle)
"hJW" = (
/turf/open/gm/dirtgrassborder/south,
@@ -21378,10 +21340,6 @@
/obj/effect/landmark/objective_landmark/close,
/turf/open/floor/vault,
/area/lv624/lazarus/quartstorage)
-"rvL" = (
-/obj/structure/flora/bush/ausbushes/ausbush,
-/turf/open/gm/grass/grass2,
-/area/lv624/ground/jungle/west_jungle)
"rvW" = (
/obj/effect/landmark/lv624/fog_blocker,
/turf/open/gm/grass/grass1,
@@ -23306,9 +23264,6 @@
/obj/structure/fence,
/turf/open/gm/dirtgrassborder/north,
/area/lv624/ground/colony/west_tcomms_road)
-"uSw" = (
-/turf/open/gm/dirtgrassborder/grassdirt_corner/north_east,
-/area/lv624/ground/jungle/west_jungle)
"uSy" = (
/turf/open/gm/coast/beachcorner2/north_east,
/area/lv624/ground/barrens/east_barrens)
@@ -25769,7 +25724,7 @@ atC
aAt
aro
aHE
-aIn
+aro
asw
asw
asw
@@ -25989,13 +25944,13 @@ nsk
nsk
nsk
aun
-aqS
-suv
-atZ
+ase
+arE
+atC
vVD
-ayT
-aro
-aro
+asd
+atu
+asx
aro
asw
asw
@@ -26216,20 +26171,20 @@ aYX
alC
alC
auc
-amK
-arn
-asK
+aZb
+aAl
+ase
pbd
avf
-ayT
-aro
-aBk
-aro
-aIo
+asK
+aAl
+ase
+atu
+asx
asw
asw
asw
-aro
+arP
awb
awe
awe
@@ -26444,18 +26399,18 @@ aYS
aud
aud
auP
-aqS
-rvL
-asc
-aro
-aro
-aro
-asw
-aro
-aro
-aro
-aro
-aro
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+avf
+aAl
+aAl
+ase
+atu
+asx
aro
aro
ata
@@ -26672,19 +26627,19 @@ arV
aud
aud
auP
-aqS
+aAl
avf
-aro
-awb
-ayd
-azg
-aro
-aro
-aIm
-aro
-aro
-arP
-asc
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+ase
+asx
aro
aro
aro
@@ -26900,18 +26855,18 @@ aud
amG
bGb
auP
-asd
+aAl
avf
-asX
-awe
-awe
-ayl
-aro
-aro
-aro
-aIq
-aCO
-atu
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+asY
+aAl
+aAl
aqq
atu
atu
@@ -27128,17 +27083,17 @@ aud
aud
asp
auP
-aqS
-asc
-asY
-awe
-awe
-awV
-aro
-asw
-aro
-aCO
-aEe
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+avf
+avf
+aAl
+aAl
aAl
aAl
aAl
@@ -27356,16 +27311,16 @@ aud
aud
aud
auP
-aqS
-bbu
-asZ
-awz
-ayl
-aro
-atA
-aro
-asg
-axV
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+avf
+aAl
+aAl
aAl
aAl
aAl
@@ -27584,16 +27539,16 @@ asF
aud
fQL
aBn
-asd
-aro
-asX
-awe
-ayA
-ayd
-azg
-aro
-aCO
-aEe
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
aAl
aAl
ayh
@@ -27812,15 +27767,15 @@ aud
aud
oym
xuK
-ase
-asx
-ata
-awV
-asw
-ata
-awV
-aro
-axV
+aAl
+aAl
+aAl
+avf
+avf
+aAl
+aAl
+aAl
+aAl
kQY
knd
knd
@@ -28040,15 +27995,15 @@ arU
aud
atJ
aYR
-akZ
-aqS
-arP
-aro
-aro
-aro
-asc
-aCO
-aEe
+axw
+aAl
+aAl
+aAl
+avf
+avf
+aAl
+aAl
+aAl
oek
jga
jga
@@ -28269,14 +28224,14 @@ xJA
xJA
bGb
dmf
-ase
-atu
-atu
-asx
-aro
+aAl
+aAl
+aAl
+aAl
+aAl
bbC
-axV
-ayh
+aAl
+kQY
ayV
jga
azs
@@ -28500,10 +28455,10 @@ bBu
knd
knd
axw
-ase
-atu
-atu
-aEe
+aAl
+aAl
+aAl
+aAl
oek
jga
jga
@@ -29633,8 +29588,8 @@ aud
aud
asF
auP
-aqR
-arE
+aAl
+aAl
npf
sTB
sTB
@@ -29861,13 +29816,13 @@ aud
aud
bGb
auP
-aqS
-uSw
-asa
-asa
-asa
-asa
-arE
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
+aAl
awC
sTB
sTB
@@ -30089,13 +30044,13 @@ aud
asp
aud
auP
-aqS
-arP
-asc
-asg
-aro
-atA
-axV
+aAl
+amK
+aAl
+aAl
+aAl
+aAl
+aAl
aiS
aAl
aAl
@@ -30317,15 +30272,15 @@ aud
aud
aud
auP
-aqS
+aAl
aFm
aFm
auO
aFm
aFm
aAl
-aqR
-asa
+aAl
+aAl
aja
asa
asa
@@ -30545,16 +30500,16 @@ aud
aud
amG
auP
-aqS
+aAl
aFm
aue
auf
aXC
aFm
aAl
-ayN
-asx
-ayT
+aqi
+aAl
+asX
aAp
aAp
baN
@@ -30773,7 +30728,7 @@ aud
aud
aud
asR
-aqS
+aAl
aFm
auf
auf
@@ -30781,7 +30736,7 @@ aZp
aFm
aAl
omu
-aqS
+aAl
aAp
aAp
aAp
@@ -31001,7 +30956,7 @@ amG
aud
aul
aBn
-aqS
+aAl
aFQ
aug
wFx
@@ -31229,7 +31184,7 @@ aud
bGb
auP
aqi
-ase
+aAl
aFm
aZn
axp
diff --git a/maps/map_files/LV624/standalone/leftsidepass.dmm b/maps/map_files/LV624/standalone/leftsidepass.dmm
index 678059d4ad83..0b90931f2fd3 100644
--- a/maps/map_files/LV624/standalone/leftsidepass.dmm
+++ b/maps/map_files/LV624/standalone/leftsidepass.dmm
@@ -1,8 +1,4 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"ab" = (
-/obj/effect/landmark/lv624/fog_blocker,
-/turf/open/gm/coast/north,
-/area/lv624/ground/river/west_river)
"ac" = (
/obj/effect/landmark/hunter_primary,
/turf/open/gm/dirt,
@@ -53,87 +49,26 @@
"ar" = (
/turf/open/gm/coast/beachcorner/south_east,
/area/lv624/ground/river/west_river)
-"as" = (
-/obj/structure/flora/bush/ausbushes/var3/fullgrass,
-/turf/open/gm/dirt,
-/area/lv624/ground/jungle/west_jungle)
-"at" = (
-/turf/open/gm/dirtgrassborder/grassdirt_corner2/south_east,
-/area/lv624/ground/river/west_river)
"au" = (
/turf/open/gm/dirtgrassborder/south,
/area/lv624/ground/jungle/west_jungle)
-"av" = (
-/turf/open/gm/dirtgrassborder/grassdirt_corner2/south_west,
-/area/lv624/ground/jungle/west_jungle)
"aw" = (
-/obj/structure/flora/bush/ausbushes/reedbush,
/turf/open/gm/coast/beachcorner/south_west,
/area/lv624/ground/jungle/west_jungle)
-"ax" = (
-/turf/open/gm/dirtgrassborder/grassdirt_corner/south_east,
-/area/lv624/ground/jungle/west_jungle)
-"ay" = (
-/obj/structure/flora/bush/ausbushes/ausbush,
-/turf/open/gm/grass/grass2,
-/area/lv624/ground/jungle/west_jungle)
-"az" = (
-/turf/open/gm/grass/grass2,
-/area/lv624/ground/jungle/west_jungle)
-"aA" = (
-/obj/structure/flora/bush/ausbushes/var3/stalkybush,
-/turf/open/gm/grass/grass2,
-/area/lv624/ground/jungle/west_jungle)
-"aB" = (
-/turf/open/gm/dirtgrassborder/grassdirt_corner/south_west,
-/area/lv624/ground/jungle/west_jungle)
"aC" = (
/obj/structure/flora/jungle/vines/light_2,
/turf/open/gm/grass/grass2,
/area/lv624/ground/jungle/west_jungle)
"aD" = (
/obj/structure/flora/jungle/vines/light_1,
-/turf/open/gm/grass/grass2,
+/turf/open/gm/dirtgrassborder/grassdirt_corner/south_west,
/area/lv624/ground/jungle/west_jungle)
"aE" = (
-/obj/structure/flora/bush/ausbushes/pointybush,
-/turf/open/gm/grass/grass1,
-/area/lv624/ground/jungle/west_jungle)
-"aF" = (
-/obj/structure/flora/grass/tallgrass/jungle/corner{
- dir = 6
- },
-/turf/open/gm/grass/grass2,
-/area/lv624/ground/jungle/west_jungle)
-"aG" = (
-/obj/structure/flora/grass/tallgrass/jungle/corner{
- dir = 10
- },
-/turf/open/gm/grass/grass2,
-/area/lv624/ground/jungle/west_jungle)
-"aH" = (
-/obj/structure/flora/bush/ausbushes/var3/ywflowers,
-/turf/open/gm/grass/grass1,
-/area/lv624/ground/jungle/west_jungle)
-"aI" = (
-/obj/structure/flora/grass/tallgrass/jungle/corner{
- dir = 10
- },
-/turf/open/gm/grass/grass1,
-/area/lv624/ground/jungle/west_jungle)
-"aJ" = (
-/obj/structure/flora/bush/ausbushes/var3/leafybush,
-/turf/open/gm/grass/grass1,
-/area/lv624/ground/jungle/west_jungle)
-"aK" = (
-/turf/open/gm/dirtgrassborder/west,
+/turf/open/gm/dirtgrassborder/grassdirt_corner2/south_west,
/area/lv624/ground/jungle/west_jungle)
"aU" = (
/turf/closed/wall/strata_ice/jungle,
/area/lv624/ground/river/west_river)
-"aV" = (
-/turf/open/gm/grass/grass1,
-/area/lv624/ground/jungle/west_jungle)
"aX" = (
/turf/open/gm/coast/beachcorner2/south_east,
/area/lv624/ground/river/west_river)
@@ -172,8 +107,7 @@
/turf/open/gm/river,
/area/lv624/ground/river/west_river)
"bV" = (
-/obj/structure/flora/bush/ausbushes/var3/fullgrass,
-/turf/open/gm/dirtgrassborder/south,
+/turf/open/gm/dirt,
/area/lv624/ground/jungle/west_jungle)
"gX" = (
/turf/closed/wall/rock/brown,
@@ -268,7 +202,7 @@ ES
ES
ES
qG
-au
+aE
aD
"}
(4,1,1) = {"
@@ -282,8 +216,8 @@ ai
ad
ad
aq
-at
-ax
+ES
+bV
aE
"}
(5,1,1) = {"
@@ -297,9 +231,9 @@ bm
bc
bc
bt
-au
-ay
-az
+bV
+bV
+bV
"}
(6,1,1) = {"
bi
@@ -312,9 +246,9 @@ aj
bc
bc
bt
-au
+bV
Za
-aV
+bV
"}
(7,1,1) = {"
bi
@@ -329,7 +263,7 @@ FJ
bt
bV
Za
-aF
+bV
"}
(8,1,1) = {"
bi
@@ -342,9 +276,9 @@ bc
bc
am
bt
-au
-az
-aG
+bV
+bV
+bV
"}
(9,1,1) = {"
bx
@@ -357,9 +291,9 @@ bc
bc
bc
bt
-au
-aA
-aH
+bV
+bV
+bV
"}
(10,1,1) = {"
bf
@@ -373,8 +307,8 @@ bc
aX
ar
bV
-aV
-aF
+bV
+bV
"}
(11,1,1) = {"
bi
@@ -386,10 +320,10 @@ bN
bc
bc
bt
-as
-av
-aB
-aI
+bV
+bV
+bV
+bV
"}
(12,1,1) = {"
bi
@@ -403,8 +337,8 @@ bc
ao
zW
aw
-au
-aJ
+bV
+bV
"}
(13,1,1) = {"
bx
@@ -418,12 +352,12 @@ bc
bc
ve
Ms
-av
-aK
+bV
+bV
"}
(14,1,1) = {"
bi
-ab
+bL
af
af
af
diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm
index 8af03368c922..7378a0c5fd9e 100644
--- a/maps/map_files/USS_Almayer/USS_Almayer.dmm
+++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm
@@ -119,6 +119,16 @@
/obj/structure/lattice,
/turf/open/space/basic,
/area/space)
+"aaE" = (
+/obj/structure/sign/safety/storage{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"aaF" = (
/obj/structure/stairs{
dir = 1;
@@ -512,18 +522,6 @@
},
/turf/open/floor/wood/ship,
/area/almayer/living/basketball)
-"acJ" = (
-/mob/living/silicon/decoy/ship_ai{
- layer = 2.98;
- pixel_y = -16
- },
-/obj/structure/blocker/invisible_wall,
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"acK" = (
/obj/structure/desertdam/decals/road_edge{
pixel_x = 2
@@ -649,16 +647,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/stair_clone/upper)
-"ado" = (
-/obj/structure/machinery/camera/autoname/almayer{
- dir = 8;
- name = "ship-grade camera"
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "green"
- },
-/area/almayer/living/starboard_garden)
"adq" = (
/turf/closed/wall/almayer,
/area/almayer/lifeboat_pumps/north1)
@@ -1046,15 +1034,6 @@
},
/turf/open/floor/almayer,
/area/almayer/living/offices/flight)
-"afB" = (
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "red"
- },
-/area/almayer/living/starboard_garden)
"afE" = (
/obj/structure/machinery/vending/dinnerware,
/obj/structure/machinery/firealarm{
@@ -1268,12 +1247,6 @@
},
/turf/open/floor/plating,
/area/almayer/living/basketball)
-"agB" = (
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "red"
- },
-/area/almayer/living/starboard_garden)
"agH" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/structure/disposalpipe/segment{
@@ -1329,12 +1302,6 @@
icon_state = "test_floor4"
},
/area/almayer/living/cafeteria_officer)
-"agS" = (
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "red"
- },
-/area/almayer/living/starboard_garden)
"agT" = (
/turf/open/floor/prison{
icon_state = "kitchen"
@@ -1388,12 +1355,6 @@
icon_state = "test_floor4"
},
/area/almayer/powered)
-"ahl" = (
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "green"
- },
-/area/almayer/living/starboard_garden)
"aho" = (
/obj/structure/window/framed/almayer,
/turf/open/floor/plating,
@@ -1572,12 +1533,6 @@
allow_construction = 0
},
/area/almayer/stair_clone/upper)
-"aiP" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "red"
- },
-/area/almayer/living/starboard_garden)
"aiQ" = (
/obj/structure/machinery/faxmachine,
/obj/structure/surface/table/almayer,
@@ -1755,6 +1710,12 @@
icon_state = "redcorner"
},
/area/almayer/shipboard/weapon_room)
+"akh" = (
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "bluecorner"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"akn" = (
/obj/structure/machinery/light{
dir = 4
@@ -1882,39 +1843,11 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_medbay)
-"akS" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/machinery/light,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/command/lifeboat)
-"akW" = (
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "red"
- },
-/area/almayer/living/starboard_garden)
-"akY" = (
-/obj/structure/cable/heavyduty{
- icon_state = "4-8"
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/living/starboard_garden)
"ald" = (
/turf/open/floor/almayer{
icon_state = "red"
},
/area/almayer/shipboard/weapon_room)
-"ale" = (
-/obj/structure/machinery/light{
- dir = 4
- },
-/obj/structure/bed/chair{
- dir = 8
- },
-/turf/open/floor/almayer,
-/area/almayer/living/starboard_garden)
"alf" = (
/obj/structure/machinery/light{
dir = 8
@@ -1983,27 +1916,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/upper_medical)
-"alF" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 1
- },
-/obj/structure/machinery/door/poddoor/almayer/open{
- id = "Brig Lockdown Shutters";
- name = "\improper Brig Lockdown Shutter"
- },
-/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{
- dir = 1;
- name = "\improper Brig Maintenance";
- closeOtherId = "brigmaint_s"
- },
-/obj/structure/machinery/door/poddoor/almayer/open{
- id = "perma_lockdown_2";
- name = "\improper Perma Lockdown Shutter"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/shipboard/brig/perma)
"alL" = (
/turf/closed/wall/almayer,
/area/almayer/command/telecomms)
@@ -2053,14 +1965,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/pilotbunks)
-"amc" = (
-/obj/structure/pipes/vents/pump{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/stern_hallway)
"amd" = (
/obj/structure/machinery/vending/cola{
density = 0;
@@ -2429,6 +2333,23 @@
},
/turf/open/floor/almayer,
/area/almayer/lifeboat_pumps/north1)
+"aoz" = (
+/obj/structure/stairs{
+ dir = 8;
+ icon_state = "ramptop"
+ },
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/obj/effect/projector{
+ name = "Almayer_Down2";
+ vector_x = 1;
+ vector_y = -100
+ },
+/turf/open/floor/plating/almayer{
+ allow_construction = 0
+ },
+/area/almayer/hallways/upper/fore_hallway)
"aoA" = (
/obj/structure/machinery/light,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -2524,13 +2445,6 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering)
-"aoV" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/lifeboat_pumps/north1)
"aoW" = (
/obj/structure/machinery/portable_atmospherics/powered/pump,
/obj/structure/machinery/camera/autoname/almayer{
@@ -2604,12 +2518,6 @@
icon_state = "plate"
},
/area/almayer/living/pilotbunks)
-"apr" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/lifeboat_pumps/north1)
"aps" = (
/obj/effect/step_trigger/teleporter_vector{
name = "Almayer_Down2";
@@ -2628,16 +2536,6 @@
icon_state = "plate"
},
/area/almayer/living/pilotbunks)
-"apu" = (
-/obj/structure/machinery/light{
- unacidable = 1;
- unslashable = 1
- },
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "red"
- },
-/area/almayer/living/starboard_garden)
"apz" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/door_control{
@@ -2825,13 +2723,6 @@
},
/turf/open/floor/plating,
/area/almayer/engineering/upper_engineering)
-"aqk" = (
-/obj/structure/sign/safety/escapepod{
- pixel_x = 8;
- pixel_y = -32
- },
-/turf/open/floor/almayer,
-/area/almayer/living/starboard_garden)
"aqm" = (
/obj/item/bedsheet/brown,
/obj/structure/bed,
@@ -2913,6 +2804,10 @@
icon_state = "test_floor4"
},
/area/almayer/living/pilotbunks)
+"aqB" = (
+/obj/structure/blocker/fuelpump,
+/turf/open/floor/almayer,
+/area/almayer/lifeboat_pumps/south1)
"aqF" = (
/obj/structure/flora/pottedplant{
icon_state = "pottedplant_10"
@@ -3138,6 +3033,23 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering)
+"ary" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out"
+ },
+/obj/structure/machinery/door_control{
+ id = "OTStore";
+ name = "Shutters";
+ pixel_y = -24;
+ access_modified = 1;
+ req_one_access_txt = "35"
+ },
+/obj/structure/surface/rack,
+/obj/item/reagent_container/glass/bucket/janibucket,
+/turf/open/floor/almayer{
+ icon_state = "orange"
+ },
+/area/almayer/engineering/lower/workshop/hangar)
"arz" = (
/obj/structure/closet/firecloset,
/turf/open/floor/almayer{
@@ -3302,55 +3214,12 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/lifeboat_pumps/north2)
-"asC" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 1
- },
-/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{
- name = "\improper Brig Lobby";
- closeOtherId = "brignorth"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/shipboard/brig/starboard_hallway)
-"asD" = (
-/obj/effect/step_trigger/clone_cleaner,
-/obj/structure/machinery/door_control{
- id = "ARES StairsUpper";
- name = "ARES Core Access";
- pixel_x = -24;
- pixel_y = 24;
- req_one_access_txt = "90;91;92"
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"asE" = (
/obj/structure/bed/chair/office/dark{
dir = 8
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/repair_bay)
-"asF" = (
-/obj/structure/machinery/door/airlock/almayer/secure/reinforced{
- access_modified = 1;
- name = "\improper AI Reception";
- req_access = null;
- req_one_access_txt = "91;92"
- },
-/turf/open/floor/almayer/no_build{
- icon_state = "test_floor4"
- },
-/area/almayer/command/airoom)
-"asG" = (
-/obj/structure/surface/table/reinforced/almayer_B{
- climbable = 0;
- indestructible = 1;
- unacidable = 1;
- unslashable = 1
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"asH" = (
/obj/structure/machinery/telecomms/bus/preset_three,
/turf/open/floor/almayer{
@@ -3414,9 +3283,6 @@
icon_state = "orange"
},
/area/almayer/command/cic)
-"asS" = (
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/living/starboard_garden)
"asT" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/almayer,
@@ -3582,11 +3448,43 @@
icon_state = "plate"
},
/area/almayer/engineering/upper_engineering)
+"atz" = (
+/obj/structure/sign/safety/escapepod{
+ pixel_y = 32
+ },
+/obj/structure/sign/safety/east{
+ pixel_x = 15;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"atH" = (
/turf/open/floor/almayer{
icon_state = "plate"
},
/area/almayer/hallways/lower/starboard_midship_hallway)
+"atJ" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "NE-out";
+ pixel_x = 1;
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out";
+ pixel_x = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/port)
"atK" = (
/turf/open/floor/almayer{
dir = 10;
@@ -3655,19 +3553,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/pilotbunks)
-"aub" = (
-/obj/structure/machinery/light{
- dir = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "red"
- },
-/area/almayer/lifeboat_pumps/north1)
"auc" = (
/obj/effect/step_trigger/clone_cleaner,
/obj/structure/machinery/door/poddoor/almayer/open{
@@ -3684,12 +3569,6 @@
/obj/structure/pipes/standard/simple/hidden/supply/no_boom,
/turf/closed/wall/almayer/aicore/hull,
/area/almayer/command/airoom)
-"aug" = (
-/obj/structure/bed/chair/office/dark{
- dir = 8
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"aui" = (
/obj/structure/machinery/telecomms/hub/preset,
/turf/open/floor/almayer{
@@ -3846,6 +3725,16 @@
icon_state = "plate"
},
/area/almayer/living/pilotbunks)
+"ava" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 5
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/midship_hallway)
"avc" = (
/obj/structure/stairs/perspective{
dir = 4;
@@ -3958,59 +3847,6 @@
icon_state = "test_floor4"
},
/area/almayer/powered)
-"avL" = (
-/obj/structure/machinery/door_control{
- id = "ARES StairsUpper";
- name = "ARES Core Access";
- pixel_x = -10;
- pixel_y = -24;
- req_one_access_txt = "91;92"
- },
-/obj/structure/machinery/door_control{
- id = "ARES StairsLock";
- name = "ARES Exterior Lockdown";
- pixel_y = -24;
- req_one_access_txt = "91;92"
- },
-/obj/structure/surface/table/reinforced/almayer_B{
- climbable = 0;
- indestructible = 1;
- unacidable = 1;
- unslashable = 1
- },
-/obj/structure/transmitter/rotary{
- name = "AI Reception Telephone";
- phone_category = "ARES";
- phone_color = "blue";
- phone_id = "AI Reception"
- },
-/obj/structure/machinery/door_control{
- id = "ARES Emergency";
- name = "ARES Emergency Lockdown";
- pixel_x = 10;
- pixel_y = -24;
- req_one_access_txt = "91;92"
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
-"avM" = (
-/obj/structure/machinery/computer/cameras/almayer/ares{
- dir = 8;
- pixel_x = 17;
- pixel_y = 6
- },
-/obj/structure/surface/table/reinforced/almayer_B{
- climbable = 0;
- indestructible = 1;
- unacidable = 1;
- unslashable = 1
- },
-/obj/item/paper_bin/uscm{
- pixel_y = 6
- },
-/obj/item/tool/pen,
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"avN" = (
/obj/structure/machinery/telecomms/processor/preset_two,
/turf/open/floor/almayer{
@@ -4321,10 +4157,6 @@
icon_state = "cargo"
},
/area/almayer/living/pilotbunks)
-"awY" = (
-/obj/effect/landmark/start/pilot,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/living/pilotbunks)
"awZ" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/item/paper_bin/uscm{
@@ -4690,7 +4522,13 @@
/obj/item/storage/belt/medical/full,
/obj/structure/machinery/computer/working_joe{
dir = 8;
- pixel_x = 17
+ pixel_x = 17;
+ pixel_y = 8
+ },
+/obj/structure/machinery/computer/cameras/almayer/ares{
+ dir = 8;
+ pixel_x = 17;
+ pixel_y = -6
},
/turf/open/floor/almayer{
icon_state = "plate"
@@ -4701,21 +4539,6 @@
icon_state = "silvercorner"
},
/area/almayer/command/cic)
-"ayt" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/machinery/door/poddoor/almayer/open{
- dir = 4;
- id = "CIC Lockdown";
- name = "\improper Combat Information Center Blast Door"
- },
-/obj/structure/machinery/door/airlock/almayer/command/reinforced{
- name = "\improper Combat Information Center";
- closeOtherId = "ciclobby_n"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/command/cic)
"ayu" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 4
@@ -5148,28 +4971,13 @@
icon_state = "silvercorner"
},
/area/almayer/command/cic)
-"aAl" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/machinery/door/airlock/almayer/command/reinforced{
- id_tag = "cic_exterior";
- name = "\improper Combat Information Center";
- closeOtherId = "ciclobby_n"
- },
-/obj/structure/machinery/door/poddoor/almayer/open{
- dir = 4;
- id = "CIC Lockdown";
- name = "\improper Combat Information Center Blast Door"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
+"aAn" = (
+/obj/structure/sign/safety/escapepod{
+ pixel_x = 8;
+ pixel_y = -32
},
-/area/almayer/command/cic)
+/turf/open/floor/almayer,
+/area/almayer/lifeboat_pumps/north1)
"aAq" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -5576,15 +5384,6 @@
icon_state = "test_floor4"
},
/area/almayer/living/synthcloset)
-"aBQ" = (
-/obj/structure/surface/table/almayer,
-/obj/item/storage/firstaid/o2,
-/obj/effect/spawner/random/tool,
-/obj/effect/spawner/random/technology_scanner,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_p)
"aBR" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/item/ashtray/glass,
@@ -6037,13 +5836,13 @@
/area/almayer/living/grunt_rnr)
"aDX" = (
/obj/structure/surface/table/almayer,
-/obj/structure/machinery/computer/cameras/containment{
- dir = 4
- },
/obj/structure/sign/safety/terminal{
pixel_x = 8;
pixel_y = 32
},
+/obj/structure/machinery/computer/cameras/almayer/ares{
+ dir = 4
+ },
/turf/open/floor/almayer{
icon_state = "plate"
},
@@ -6057,6 +5856,25 @@
icon_state = "test_floor4"
},
/area/almayer/medical/upper_medical)
+"aEf" = (
+/obj/structure/sign/safety/hazard{
+ pixel_y = 32
+ },
+/obj/structure/sign/safety/airlock{
+ pixel_x = 15;
+ pixel_y = 32
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out";
+ pixel_y = 1
+ },
+/obj/structure/machinery/power/apc/almayer{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/lower/starboard_umbilical)
"aEg" = (
/turf/open/floor/almayer{
icon_state = "redfull"
@@ -6442,6 +6260,19 @@
icon_state = "test_floor4"
},
/area/almayer/command/cichallway)
+"aGk" = (
+/obj/structure/machinery/door_control{
+ id = "ARES Operations Left";
+ name = "ARES Operations Shutter";
+ pixel_x = -24;
+ pixel_y = -8;
+ req_one_access_txt = "90;91;92"
+ },
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 8;
+ icon_state = "ai_silver"
+ },
+/area/almayer/command/airoom)
"aGm" = (
/obj/structure/largecrate/random/case/double,
/turf/open/floor/almayer{
@@ -6870,7 +6701,6 @@
/turf/open/floor/grass,
/area/almayer/living/starboard_garden)
"aIC" = (
-/obj/structure/surface/table/almayer,
/obj/effect/decal/warning_stripes{
icon_state = "S"
},
@@ -6887,6 +6717,7 @@
/obj/item/reagent_container/glass/beaker/large{
pixel_x = -6
},
+/obj/structure/surface/table/almayer,
/turf/open/floor/almayer{
icon_state = "sterile_green_side"
},
@@ -7534,6 +7365,12 @@
icon_state = "mono"
},
/area/almayer/medical/hydroponics)
+"aMl" = (
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"aMm" = (
/obj/structure/surface/table/almayer,
/obj/item/tool/crowbar,
@@ -7588,6 +7425,11 @@
icon_state = "plate"
},
/area/almayer/squads/alpha_bravo_shared)
+"aMy" = (
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/hallways/upper/starboard)
"aMz" = (
/turf/open/floor/almayer,
/area/almayer/squads/alpha)
@@ -7734,12 +7576,30 @@
icon_state = "cargo_arrow"
},
/area/almayer/squads/alpha_bravo_shared)
+"aNE" = (
+/obj/structure/machinery/light,
+/turf/open/floor/almayer{
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"aNI" = (
/obj/structure/machinery/door/airlock/almayer/marine/alpha/tl,
/turf/open/floor/almayer{
icon_state = "test_floor4"
},
/area/almayer/squads/alpha)
+"aNO" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/structure/machinery/alarm/almayer{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/port)
"aNQ" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -7832,18 +7692,6 @@
icon_state = "cargo"
},
/area/almayer/command/telecomms)
-"aOw" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"aOy" = (
/obj/structure/machinery/light{
dir = 1
@@ -7964,6 +7812,12 @@
"aOR" = (
/turf/open/floor/almayer,
/area/almayer/living/chapel)
+"aOS" = (
+/obj/structure/machinery/portable_atmospherics/canister/air,
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/maint/upper/u_a_s)
"aOU" = (
/obj/structure/platform{
dir = 4
@@ -8015,6 +7869,14 @@
/obj/effect/decal/cleanable/blood/oil,
/turf/open/floor/almayer,
/area/almayer/squads/alpha_bravo_shared)
+"aPg" = (
+/obj/structure/surface/table/almayer,
+/obj/item/frame/table,
+/obj/item/storage/toolbox/electrical,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"aPi" = (
/obj/structure/machinery/vending/cola,
/turf/open/floor/almayer{
@@ -8176,6 +8038,18 @@
icon_state = "plating"
},
/area/almayer/engineering/lower/engine_core)
+"aPV" = (
+/obj/structure/sign/safety/high_voltage{
+ pixel_y = -32
+ },
+/obj/structure/sign/safety/hazard{
+ pixel_x = 15;
+ pixel_y = -32
+ },
+/turf/open/floor/almayer{
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"aQb" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -8226,6 +8100,13 @@
icon_state = "plate"
},
/area/almayer/living/offices)
+"aQx" = (
+/obj/structure/window/framed/almayer,
+/obj/structure/curtain/open/shower{
+ name = "hypersleep curtain"
+ },
+/turf/open/floor/plating,
+/area/almayer/maint/upper/u_m_p)
"aQy" = (
/obj/structure/transmitter{
dir = 8;
@@ -8364,14 +8245,6 @@
icon_state = "test_floor4"
},
/area/almayer/engineering/upper_engineering)
-"aRl" = (
-/obj/structure/machinery/door_control/cl/office/door{
- pixel_y = -20
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/upper/aft_hallway)
"aRo" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/disposalpipe/segment,
@@ -8380,12 +8253,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/bravo)
-"aRp" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/command/lifeboat)
"aRq" = (
/obj/structure/closet/secure_closet/staff_officer/gear,
/obj/structure/machinery/camera/autoname/almayer{
@@ -8396,15 +8263,6 @@
icon_state = "plate"
},
/area/almayer/living/bridgebunks)
-"aRr" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/stern_hallway)
"aRt" = (
/turf/open/floor/almayer{
dir = 8;
@@ -8595,18 +8453,6 @@
icon_state = "tcomms"
},
/area/almayer/engineering/lower/engine_core)
-"aSl" = (
-/obj/structure/machinery/light,
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/obj/structure/machinery/cm_vending/sorted/medical/bolted,
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "sterile_green_corner"
- },
-/area/almayer/medical/medical_science)
"aSn" = (
/obj/item/stack/sheet/mineral/plastic{
amount = 15
@@ -9044,6 +8890,15 @@
icon_state = "plate"
},
/area/almayer/living/captain_mess)
+"aUB" = (
+/obj/structure/machinery/firealarm{
+ pixel_y = 28
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"aUC" = (
/obj/structure/machinery/light{
dir = 4
@@ -9205,6 +9060,16 @@
icon_state = "bluefull"
},
/area/almayer/command/cichallway)
+"aVK" = (
+/obj/structure/machinery/camera/autoname/almayer{
+ dir = 8;
+ name = "ship-grade camera"
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"aVL" = (
/obj/structure/machinery/camera/autoname/almayer{
dir = 8;
@@ -9278,7 +9143,8 @@
"aWb" = (
/obj/structure/machinery/computer/working_joe{
dir = 4;
- pixel_x = -17
+ pixel_x = -17;
+ pixel_y = 8
},
/obj/structure/machinery/door_control/brbutton{
id = "engie_store";
@@ -9287,6 +9153,11 @@
pixel_y = 26;
req_one_access_txt = "6"
},
+/obj/structure/machinery/computer/cameras/almayer/ares{
+ dir = 4;
+ pixel_x = -17;
+ pixel_y = -6
+ },
/turf/open/floor/almayer{
dir = 1;
icon_state = "orangecorner"
@@ -9428,6 +9299,12 @@
icon_state = "test_floor4"
},
/area/almayer/living/offices)
+"aWM" = (
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "greencorner"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"aWT" = (
/obj/structure/machinery/door/airlock/almayer/maint{
dir = 1
@@ -9527,18 +9404,6 @@
icon_state = "cargo"
},
/area/almayer/hallways/hangar)
-"aYq" = (
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "red"
- },
-/area/almayer/living/starboard_garden)
-"aYs" = (
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "red"
- },
-/area/almayer/living/starboard_garden)
"aYt" = (
/turf/open/floor/almayer,
/area/almayer/hallways/hangar)
@@ -9604,12 +9469,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/operating_room_two)
-"aYU" = (
-/obj/effect/landmark/yautja_teleport,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"aZe" = (
/obj/structure/machinery/alarm/almayer{
dir = 1
@@ -9773,16 +9632,6 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/operating_room_one)
-"bat" = (
-/obj/structure/machinery/door_control{
- id = "ARES Mainframe Right";
- name = "ARES Mainframe Lockdown";
- pixel_x = -24;
- pixel_y = -24;
- req_one_access_txt = "200;91;92"
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"baw" = (
/turf/open/floor/almayer,
/area/almayer/lifeboat_pumps/south1)
@@ -9944,13 +9793,6 @@
},
/turf/open/floor/almayer,
/area/almayer/shipboard/starboard_missiles)
-"bbX" = (
-/obj/effect/decal/cleanable/blood/oil,
-/obj/structure/machinery/constructable_frame,
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/lifeboat_pumps/north2)
"bbY" = (
/obj/structure/machinery/cm_vending/clothing/smartgun/alpha,
/turf/open/floor/almayer{
@@ -10009,6 +9851,19 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"bcg" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "W";
+ pixel_x = -1
+ },
+/obj/structure/bed/sofa/south/white/left{
+ pixel_y = 16
+ },
+/turf/open/floor/almayer{
+ dir = 9;
+ icon_state = "silver"
+ },
+/area/almayer/maint/upper/u_m_p)
"bcm" = (
/turf/closed/wall/almayer,
/area/almayer/hallways/hangar)
@@ -10030,6 +9885,12 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"bct" = (
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "red"
+ },
+/area/almayer/maint/upper/u_a_p)
"bcw" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -10374,13 +10235,6 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/chemistry)
-"bek" = (
-/obj/structure/machinery/cm_vending/sorted/medical/marinemed,
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "sterile_green_side"
- },
-/area/almayer/medical/lower_medical_lobby)
"ben" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -10489,6 +10343,18 @@
icon_state = "plate"
},
/area/almayer/engineering/lower/engine_core)
+"beN" = (
+/obj/structure/pipes/standard/cap/hidden{
+ dir = 4
+ },
+/obj/structure/sign/safety/life_support{
+ pixel_x = 8;
+ pixel_y = -25
+ },
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/lifeboat_pumps/north2)
"beP" = (
/obj/item/stack/catwalk,
/obj/structure/disposalpipe/segment{
@@ -10549,13 +10415,6 @@
},
/turf/open/floor/almayer,
/area/almayer/living/chapel)
-"bfb" = (
-/obj/effect/step_trigger/clone_cleaner,
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"bfd" = (
/obj/structure/machinery/light{
dir = 1
@@ -10565,15 +10424,6 @@
icon_state = "green"
},
/area/almayer/hallways/lower/port_midship_hallway)
-"bff" = (
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"bfl" = (
/turf/open/floor/almayer{
dir = 5;
@@ -10736,12 +10586,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"bgh" = (
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"bgj" = (
/obj/structure/machinery/landinglight/ds1{
dir = 8
@@ -10908,6 +10752,25 @@
icon_state = "test_floor4"
},
/area/almayer/living/chapel)
+"bgM" = (
+/obj/structure/machinery/alarm/almayer{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "orange"
+ },
+/area/almayer/hallways/upper/midship_hallway)
+"bgN" = (
+/obj/structure/sign/safety/medical{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"bgO" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -11036,6 +10899,15 @@
icon_state = "bluefull"
},
/area/almayer/living/bridgebunks)
+"bhR" = (
+/obj/structure/machinery/power/apc/almayer{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"bhT" = (
/obj/structure/cargo_container/lockmart/mid{
layer = 3.1;
@@ -11063,23 +10935,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_m_p)
-"bhZ" = (
-/obj/structure/surface/table/almayer,
-/obj/item/frame/table,
-/obj/item/storage/toolbox/electrical,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
-"bij" = (
-/obj/structure/sign/safety/maint{
- pixel_x = 32
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/aft_hallway)
"biq" = (
/obj/structure/surface/table/almayer,
/obj/item/reagent_container/glass/beaker/large,
@@ -11127,15 +10982,6 @@
"biA" = (
/turf/closed/wall/almayer/white,
/area/almayer/medical/operating_room_three)
-"biB" = (
-/obj/structure/machinery/alarm/almayer{
- dir = 1
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"biC" = (
/obj/structure/largecrate/random/case,
/obj/structure/machinery/access_button/airlock_exterior,
@@ -11186,13 +11032,6 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/north2)
-"biT" = (
-/obj/structure/machinery/light,
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "red"
- },
-/area/almayer/living/starboard_garden)
"biV" = (
/obj/structure/machinery/door/firedoor/border_only/almayer{
dir = 8
@@ -11240,6 +11079,13 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/processing)
+"bjv" = (
+/obj/structure/disposalpipe/junction,
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/fore_hallway)
"bjA" = (
/turf/open/floor/almayer{
dir = 9;
@@ -11360,6 +11206,16 @@
},
/turf/open/floor/plating,
/area/almayer/medical/operating_room_one)
+"bkM" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "W";
+ pixel_x = -1
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "silver"
+ },
+/area/almayer/maint/upper/u_m_p)
"bkN" = (
/obj/item/storage/firstaid/toxin{
pixel_x = 6;
@@ -11871,14 +11727,6 @@
icon_state = "cargo_arrow"
},
/area/almayer/squads/bravo)
-"bnF" = (
-/obj/structure/machinery/cryopod{
- pixel_y = 6
- },
-/turf/open/floor/almayer{
- icon_state = "cargo"
- },
-/area/almayer/maint/hull/upper/u_m_p)
"bnH" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -12036,14 +11884,6 @@
icon_state = "mono"
},
/area/almayer/squads/req)
-"boL" = (
-/turf/open/floor/almayer,
-/area/almayer/living/starboard_garden)
-"boU" = (
-/obj/structure/surface/table/almayer,
-/obj/item/tool/weldingtool,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_m_s)
"boV" = (
/obj/structure/cargo_container/wy/left,
/obj/structure/prop/almayer/minigun_crate{
@@ -12385,12 +12225,6 @@
icon_state = "test_floor5"
},
/area/almayer/squads/req)
-"brm" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"brn" = (
/obj/structure/machinery/door/airlock/almayer/marine/bravo/smart,
/turf/open/floor/almayer{
@@ -12648,6 +12482,10 @@
icon_state = "plate"
},
/area/almayer/squads/bravo)
+"btb" = (
+/obj/structure/window/framed/almayer,
+/turf/open/floor/plating,
+/area/almayer/maint/upper/u_a_s)
"btc" = (
/obj/structure/bed/chair{
dir = 8;
@@ -12895,12 +12733,6 @@
},
/turf/open/floor/almayer,
/area/almayer/lifeboat_pumps/north1)
-"bvd" = (
-/obj/structure/machinery/constructable_frame,
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/lifeboat_pumps/north1)
"bve" = (
/obj/structure/disposalpipe/segment,
/obj/effect/decal/warning_stripes{
@@ -13099,15 +12931,6 @@
icon_state = "sterile_green_corner"
},
/area/almayer/medical/lower_medical_medbay)
-"bwN" = (
-/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
- pixel_y = 25
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"bwP" = (
/obj/effect/step_trigger/clone_cleaner,
/turf/open/floor/plating/almayer{
@@ -13187,14 +13010,6 @@
icon_state = "redfull"
},
/area/almayer/living/cryo_cells)
-"bxt" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
"bxA" = (
/obj/structure/machinery/power/apc/almayer/hardened,
/obj/effect/decal/warning_stripes{
@@ -13249,16 +13064,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/lower/workshop)
-"bxV" = (
-/obj/structure/sign/safety/ladder{
- pixel_x = 8;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"bxY" = (
/obj/structure/surface/table/almayer,
/obj/structure/flora/pottedplant{
@@ -13375,15 +13180,6 @@
icon_state = "silver"
},
/area/almayer/living/cryo_cells)
-"byH" = (
-/obj/structure/bed/sofa/south/white/right{
- pixel_y = 16
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "silver"
- },
-/area/almayer/maint/hull/upper/u_m_p)
"bzg" = (
/obj/structure/pipes/vents/pump{
dir = 8;
@@ -13585,12 +13381,6 @@
icon_state = "plate"
},
/area/almayer/living/auxiliary_officer_office)
-"bBc" = (
-/obj/structure/surface/rack,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_p)
"bBd" = (
/obj/structure/machinery/door/firedoor/border_only/almayer{
dir = 2
@@ -13702,6 +13492,11 @@
icon_state = "plate"
},
/area/almayer/living/auxiliary_officer_office)
+"bBH" = (
+/turf/open/floor/almayer{
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"bBN" = (
/obj/structure/machinery/light,
/turf/open/floor/plating/plating_catwalk,
@@ -13793,6 +13588,10 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/operating_room_three)
+"bCs" = (
+/obj/docking_port/stationary/escape_pod/cl,
+/turf/open/floor/plating,
+/area/almayer/command/corporateliaison)
"bCu" = (
/obj/structure/bed/chair/comfy/alpha{
dir = 4
@@ -13915,11 +13714,6 @@
icon_state = "plate"
},
/area/almayer/shipboard/weapon_room)
-"bDi" = (
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/aft_hallway)
"bDn" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/closed/wall/almayer,
@@ -13935,12 +13729,6 @@
icon_state = "sterile_green"
},
/area/almayer/medical/lockerroom)
-"bDD" = (
-/obj/structure/bed/chair{
- dir = 8
- },
-/turf/open/floor/almayer,
-/area/almayer/living/starboard_garden)
"bDF" = (
/obj/structure/machinery/door/poddoor/almayer{
dir = 4;
@@ -14364,12 +14152,6 @@
icon_state = "plate"
},
/area/almayer/squads/bravo)
-"bET" = (
-/obj/structure/machinery/cm_vending/sorted/medical/bolted,
-/turf/open/floor/almayer{
- icon_state = "sterile_green_side"
- },
-/area/almayer/medical/lockerroom)
"bFa" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -15191,25 +14973,6 @@
/obj/effect/landmark/late_join/charlie,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/charlie)
-"bKN" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{
- dir = 2;
- name = "\improper Brig Armoury";
- req_access = null;
- req_one_access_txt = "1;3";
- closeOtherId = "brignorth"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/shipboard/brig/starboard_hallway)
"bKP" = (
/obj/structure/machinery/light/small{
dir = 4
@@ -15251,18 +15014,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_m_s)
-"bLg" = (
-/obj/structure/disposalpipe/junction{
- dir = 8;
- icon_state = "pipe-j2"
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 10
- },
-/turf/open/floor/almayer{
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/stern_hallway)
"bLh" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -15376,23 +15127,6 @@
},
/turf/open/floor/almayer,
/area/almayer/shipboard/navigation)
-"bLv" = (
-/obj/structure/machinery/door_control{
- id = "ARES StairsLower";
- name = "ARES Core Lockdown";
- pixel_x = 24;
- pixel_y = -8;
- req_one_access_txt = "90;91;92"
- },
-/obj/structure/machinery/camera/autoname/almayer/containment/ares{
- dir = 8;
- pixel_y = 2
- },
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_silver";
- dir = 4
- },
-/area/almayer/command/airoom)
"bLw" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/light{
@@ -15440,6 +15174,21 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"bLF" = (
+/obj/structure/machinery/door/poddoor/almayer/open{
+ dir = 4;
+ id = "Brig Lockdown Shutters";
+ name = "\improper Brig Lockdown Shutter"
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{
+ closeOtherId = "brigmaint_n";
+ name = "\improper Brig"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/shipboard/brig/starboard_hallway)
"bLH" = (
/turf/open/floor/almayer{
dir = 8;
@@ -15493,12 +15242,13 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/starboard_midship_hallway)
-"bMi" = (
-/obj/structure/closet/firecloset,
-/turf/open/floor/almayer{
- icon_state = "cargo"
+"bMg" = (
+/obj/structure/pipes/vents/pump/no_boom/gas{
+ vent_tag = "Synth Bay";
+ dir = 8
},
-/area/almayer/hallways/upper/aft_hallway)
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"bMq" = (
/obj/structure/machinery/cm_vending/sorted/cargo_guns/squad_prep,
/obj/structure/machinery/light{
@@ -15648,22 +15398,12 @@
icon_state = "red"
},
/area/almayer/shipboard/navigation)
-"bMV" = (
-/obj/item/device/radio/intercom{
- freerange = 1;
- name = "General Listening Channel";
- pixel_x = -8;
- pixel_y = 28
- },
-/obj/structure/sign/safety/intercom{
- pixel_x = 14;
- pixel_y = 32
- },
+"bMZ" = (
+/obj/structure/largecrate/random/case/double,
/turf/open/floor/almayer{
- dir = 4;
- icon_state = "bluecorner"
+ icon_state = "plate"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/maint/upper/u_f_p)
"bNa" = (
/obj/structure/surface/table/almayer,
/obj/item/folder/black,
@@ -15678,12 +15418,6 @@
icon_state = "red"
},
/area/almayer/shipboard/navigation)
-"bNc" = (
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "orangecorner"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"bNe" = (
/obj/structure/machinery/camera/autoname/almayer{
dir = 8;
@@ -15865,16 +15599,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/charlie)
-"bNI" = (
-/obj/structure/sign/safety/medical{
- pixel_x = 8;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"bNL" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/simple/hidden/supply,
@@ -15917,15 +15641,6 @@
icon_state = "red"
},
/area/almayer/shipboard/navigation)
-"bNT" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
"bOq" = (
/obj/structure/prop/almayer/cannon_cables,
/turf/open/floor/almayer{
@@ -16120,6 +15835,11 @@
icon_state = "red"
},
/area/almayer/shipboard/weapon_room)
+"bPi" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"bPk" = (
/obj/item/roller,
/obj/item/roller,
@@ -16183,22 +15903,6 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/lower_medical_medbay)
-"bPB" = (
-/obj/structure/machinery/door/window/eastleft{
- req_one_access_txt = "2;21"
- },
-/obj/structure/machinery/door/window/westright,
-/obj/structure/machinery/door/poddoor/shutters/almayer{
- dir = 4;
- id = "ROlobby1";
- name = "\improper RO Line 1"
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/surface/table/reinforced/almayer_blend/north,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/squads/req)
"bPC" = (
/obj/structure/sign/nosmoking_2{
pixel_x = 28
@@ -16460,6 +16164,15 @@
icon_state = "orangecorner"
},
/area/almayer/hallways/lower/starboard_umbilical)
+"bRO" = (
+/obj/structure/sign/safety/maint{
+ pixel_x = 32
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"bRP" = (
/obj/structure/machinery/body_scanconsole,
/obj/structure/disposalpipe/segment{
@@ -16473,22 +16186,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_medbay)
-"bRR" = (
-/obj/structure/machinery/door/window/eastleft{
- req_one_access_txt = "2;21"
- },
-/obj/structure/machinery/door/window/westright,
-/obj/structure/machinery/door/poddoor/shutters/almayer{
- dir = 4;
- id = "ROlobby2";
- name = "\improper RO Line 2"
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/surface/table/reinforced/almayer_blend,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/squads/req)
"bRV" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -16720,12 +16417,6 @@
icon_state = "blue"
},
/area/almayer/squads/delta)
-"bTD" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "greencorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"bTE" = (
/turf/open/floor/almayer{
dir = 4;
@@ -16840,6 +16531,10 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/s_bow)
+"bTY" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/port)
"bUa" = (
/obj/structure/closet,
/turf/open/floor/almayer{
@@ -16932,12 +16627,6 @@
icon_state = "blue"
},
/area/almayer/squads/delta)
-"bUx" = (
-/obj/structure/machinery/light/small{
- dir = 8
- },
-/turf/open/floor/plating,
-/area/almayer/command/airoom)
"bUy" = (
/obj/structure/closet/crate/ammo,
/obj/structure/machinery/light/small,
@@ -17094,6 +16783,10 @@
icon_state = "plate"
},
/area/almayer/engineering/lower/engine_core)
+"bVR" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_m_s)
"bVU" = (
/turf/closed/wall/almayer/outer,
/area/almayer/shipboard/port_point_defense)
@@ -17220,6 +16913,18 @@
icon_state = "plate"
},
/area/almayer/living/grunt_rnr)
+"bXc" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"bXe" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/lifeboat_pumps/south2)
@@ -17358,6 +17063,15 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/lower)
+"bYL" = (
+/obj/structure/machinery/door/airlock/almayer/maint{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/upper/u_a_s)
"bYW" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/shipboard/panic)
@@ -17439,11 +17153,20 @@
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/starboard_midship_hallway)
"bZq" = (
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "red"
+/obj/effect/projector{
+ name = "Almayer_AresUp";
+ vector_x = -96;
+ vector_y = 65
},
-/area/almayer/hallways/upper/stern_hallway)
+/obj/structure/platform{
+ dir = 8
+ },
+/obj/structure/stairs{
+ dir = 1;
+ icon_state = "ramptop"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"bZr" = (
/turf/open/floor/almayer{
dir = 1;
@@ -17567,15 +17290,6 @@
icon_state = "green"
},
/area/almayer/squads/req)
-"cap" = (
-/obj/structure/surface/rack,
-/obj/item/tool/wirecutters,
-/obj/item/clothing/mask/gas,
-/obj/item/clothing/mask/gas,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"caq" = (
/obj/structure/machinery/light/small,
/turf/open/floor/plating/plating_catwalk,
@@ -17724,12 +17438,14 @@
icon_state = "test_floor4"
},
/area/almayer/medical/lower_medical_medbay)
-"cbK" = (
-/obj/structure/machinery/light,
-/turf/open/floor/almayer{
- icon_state = "red"
+"cbF" = (
+/obj/structure/closet/secure_closet/personal/cabinet{
+ pixel_x = 1;
+ pixel_y = 17;
+ req_access = null
},
-/area/almayer/hallways/upper/aft_hallway)
+/turf/open/floor/almayer,
+/area/almayer/living/numbertwobunks)
"cbL" = (
/obj/structure/machinery/camera/autoname/almayer{
dir = 1;
@@ -17750,27 +17466,6 @@
icon_state = "red"
},
/area/almayer/living/cryo_cells)
-"ccc" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "W";
- pixel_x = -1
- },
-/obj/structure/machinery/door/airlock/almayer/research/reinforced{
- dir = 8;
- name = "\improper Containment Airlock";
- closeOtherId = "containment_n"
- },
-/obj/structure/machinery/door/poddoor/almayer/biohazard/white{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/medical/containment)
"ccd" = (
/obj/structure/machinery/cm_vending/sorted/cargo_guns/squad_prep,
/turf/open/floor/almayer{
@@ -17813,6 +17508,16 @@
icon_state = "plate"
},
/area/almayer/medical/morgue)
+"ccx" = (
+/obj/effect/step_trigger/clone_cleaner,
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out"
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"ccG" = (
/obj/structure/largecrate/random/secure,
/obj/effect/decal/warning_stripes{
@@ -17937,6 +17642,21 @@
icon_state = "plate"
},
/area/almayer/squads/charlie)
+"cdZ" = (
+/obj/structure/machinery/door/airlock/almayer/maint{
+ dir = 1
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/upper/u_m_s)
+"cea" = (
+/obj/structure/machinery/fuelpump,
+/turf/open/floor/almayer,
+/area/almayer/lifeboat_pumps/south2)
"ceg" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -17946,12 +17666,6 @@
icon_state = "cargo_arrow"
},
/area/almayer/squads/alpha)
-"ceu" = (
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "green"
- },
-/area/almayer/living/starboard_garden)
"ceC" = (
/obj/structure/prop/almayer/ship_memorial,
/turf/open/floor/plating/almayer,
@@ -17974,6 +17688,18 @@
icon_state = "plate"
},
/area/almayer/living/bridgebunks)
+"ceV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "orange"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"ceY" = (
/obj/structure/machinery/light/small{
dir = 8
@@ -18219,15 +17945,6 @@
/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_shotgun,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/armory)
-"chC" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
-/turf/open/floor/almayer{
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"chL" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -18434,15 +18151,6 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/north2)
-"ciI" = (
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"ciN" = (
/turf/open/floor/almayer{
dir = 6;
@@ -18503,6 +18211,14 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/cells)
+"cjm" = (
+/obj/structure/surface/rack,
+/obj/item/tool/wet_sign,
+/obj/item/tool/wet_sign,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_p)
"cjt" = (
/turf/open/floor/almayer{
icon_state = "orange"
@@ -18675,6 +18391,14 @@
icon_state = "test_floor4"
},
/area/almayer/engineering/lower/engine_core)
+"cla" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"cle" = (
/turf/open/floor/almayer{
dir = 4;
@@ -19013,38 +18737,6 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/north2)
-"cmI" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/machinery/door/airlock/almayer/security/reinforced{
- access_modified = 1;
- name = "\improper Astronavigational Deck";
- req_access = null;
- req_one_access_txt = "3;19";
- closeOtherId = "astroladder_n"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/shipboard/navigation)
-"cmJ" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/machinery/door/airlock/almayer/security/reinforced{
- access_modified = 1;
- name = "\improper Astronavigational Deck";
- req_access = null;
- req_one_access_txt = "3;19";
- closeOtherId = "astroladder_s"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/shipboard/navigation)
"cmK" = (
/obj/structure/window/reinforced,
/turf/open/floor/almayer{
@@ -19072,23 +18764,24 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_p)
+"cmS" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 9
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"cmV" = (
/obj/effect/landmark/yautja_teleport,
/turf/open/floor/almayer{
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_p)
-"cna" = (
-/obj/effect/step_trigger/clone_cleaner,
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 1
- },
-/obj/structure/machinery/alarm/almayer{
- dir = 1
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/port)
"cnd" = (
/obj/structure/machinery/door/airlock/almayer/secure/reinforced{
dir = 2;
@@ -19099,6 +18792,12 @@
icon_state = "test_floor4"
},
/area/almayer/powered)
+"cnm" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_p)
"cnn" = (
/obj/effect/step_trigger/clone_cleaner,
/obj/effect/decal/warning_stripes{
@@ -19113,12 +18812,6 @@
icon_state = "red"
},
/area/almayer/hallways/upper/port)
-"cnp" = (
-/obj/structure/machinery/light{
- dir = 4
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"cnq" = (
/obj/structure/machinery/line_nexter{
id = "line1";
@@ -19456,13 +19149,12 @@
/obj/structure/window/framed/almayer/hull/hijack_bustable,
/turf/open/floor/plating,
/area/almayer/squads/req)
-"cpQ" = (
-/obj/structure/sign/safety/autoopenclose{
- pixel_x = 7;
- pixel_y = 32
+"cpP" = (
+/obj/structure/blocker/fuelpump,
+/turf/open/floor/almayer{
+ icon_state = "mono"
},
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_m_p)
+/area/almayer/lifeboat_pumps/north1)
"cqd" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -19661,6 +19353,17 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/port)
+"ctJ" = (
+/obj/structure/machinery/light{
+ dir = 4
+ },
+/obj/structure/machinery/cm_vending/sorted/medical/bolted,
+/obj/structure/medical_supply_link,
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "sterile_green_side"
+ },
+/area/almayer/medical/lower_medical_medbay)
"ctQ" = (
/turf/open/floor/almayer{
icon_state = "silver"
@@ -19678,15 +19381,6 @@
icon_state = "test_floor4"
},
/area/almayer/shipboard/brig/cryo)
-"cui" = (
-/obj/structure/machinery/status_display{
- pixel_y = 30
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"cuq" = (
/obj/structure/machinery/computer/arcade,
/turf/open/floor/wood/ship,
@@ -19712,19 +19406,6 @@
"cuC" = (
/turf/closed/wall/almayer/outer,
/area/almayer/engineering/upper_engineering/starboard)
-"cuI" = (
-/obj/effect/step_trigger/clone_cleaner,
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out"
- },
-/obj/structure/sign/safety/stairs{
- pixel_x = -17
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"cuN" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -19745,15 +19426,6 @@
icon_state = "test_floor4"
},
/area/almayer/squads/alpha)
-"cva" = (
-/obj/structure/machinery/door/airlock/almayer/secure/reinforced{
- name = "\improper Armourer's Workshop";
- req_access = null
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/maint/hull/upper/u_m_s)
"cvb" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -19769,12 +19441,6 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/starboard_fore_hallway)
-"cvi" = (
-/obj/structure/machinery/vending/hydroseeds,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"cvx" = (
/turf/closed/wall/almayer,
/area/almayer/maint/lower/cryo_cells)
@@ -19803,16 +19469,6 @@
icon_state = "silver"
},
/area/almayer/command/cic)
-"cwi" = (
-/obj/structure/sign/safety/rewire{
- pixel_x = 8;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"cwo" = (
/obj/structure/largecrate/random/mini/chest{
pixel_x = 4
@@ -19829,14 +19485,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/starboard_hallway)
-"cwL" = (
-/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
- pixel_y = -25
- },
-/turf/open/floor/almayer{
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"cwS" = (
/obj/structure/blocker/invisible_wall,
/turf/open/floor/almayer/aicore/no_build,
@@ -19878,6 +19526,14 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/starboard_hallway)
+"cyh" = (
+/obj/structure/machinery/door/airlock/almayer/generic/glass{
+ name = "\improper Passenger Cryogenics Bay"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/upper/u_m_p)
"cyo" = (
/obj/structure/machinery/vending/cigarette,
/turf/open/floor/almayer{
@@ -19912,6 +19568,16 @@
icon_state = "orange"
},
/area/almayer/maint/upper/mess)
+"cyP" = (
+/obj/structure/machinery/cm_vending/clothing/intelligence_officer{
+ density = 0;
+ pixel_x = -32
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "silver"
+ },
+/area/almayer/command/securestorage)
"cyR" = (
/obj/structure/bed/chair{
dir = 8
@@ -19932,19 +19598,6 @@
},
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/cells)
-"czJ" = (
-/obj/structure/sign/safety/distribution_pipes{
- pixel_x = 15;
- pixel_y = 32
- },
-/obj/structure/sign/safety/intercom{
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"czN" = (
/obj/item/device/radio/intercom{
freerange = 1;
@@ -19964,6 +19617,16 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/starboard_midship_hallway)
+"cAa" = (
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/obj/structure/janitorialcart,
+/obj/item/tool/mop,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_p)
"cAm" = (
/obj/structure/bed/chair/office/light{
dir = 8
@@ -20037,21 +19700,6 @@
icon_state = "cargo"
},
/area/almayer/engineering/upper_engineering/port)
-"cBm" = (
-/obj/effect/projector{
- name = "Almayer_AresUp";
- vector_x = -97;
- vector_y = 65
- },
-/obj/structure/platform{
- dir = 4
- },
-/obj/structure/stairs{
- dir = 1;
- icon_state = "ramptop"
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"cBs" = (
/obj/structure/bed/chair,
/obj/effect/decal/warning_stripes{
@@ -20177,19 +19825,34 @@
/area/almayer/living/grunt_rnr)
"cDH" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/machinery/computer/cameras/wooden_tv/prop{
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{
pixel_y = 29
},
/turf/open/floor/almayer{
icon_state = "plate"
},
/area/almayer/living/briefing)
+"cDI" = (
+/obj/structure/disposalpipe/junction{
+ dir = 4
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 1
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/midship_hallway)
"cDN" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/lobby)
+"cDP" = (
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "silvercorner"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"cDZ" = (
/obj/structure/surface/table/almayer,
/obj/item/paper,
@@ -20254,6 +19917,30 @@
icon_state = "cargo_arrow"
},
/area/almayer/squads/charlie)
+"cEG" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/hallways/upper/fore_hallway)
+"cFg" = (
+/obj/structure/stairs{
+ dir = 1;
+ icon_state = "ramptop"
+ },
+/obj/effect/projector{
+ name = "Almayer_AresUp2";
+ vector_x = -102;
+ vector_y = 61
+ },
+/obj/structure/machinery/door_control{
+ id = "ARES ReceptStairs2";
+ name = "ARES Reception Stairway Shutters";
+ pixel_x = 24;
+ req_one_access_txt = "91;92"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"cFh" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 5
@@ -20282,18 +19969,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/processing)
-"cFH" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"cFP" = (
/obj/structure/sign/safety/outpatient{
pixel_x = -17;
@@ -20319,6 +19994,12 @@
icon_state = "orange"
},
/area/almayer/maint/hull/lower/l_m_s)
+"cGO" = (
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"cGR" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/upper/u_m_s)
@@ -20356,12 +20037,6 @@
icon_state = "plate"
},
/area/almayer/squads/bravo)
-"cHn" = (
-/obj/structure/largecrate/random/barrel/yellow,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_p)
"cHu" = (
/turf/closed/wall/almayer/research/containment/wall/south,
/area/almayer/medical/containment/cell/cl)
@@ -20432,6 +20107,12 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/almayer,
/area/almayer/hallways/lower/port_fore_hallway)
+"cIS" = (
+/obj/structure/closet,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_s)
"cIW" = (
/obj/structure/machinery/door/airlock/almayer/engineering{
name = "\improper Engineering Engine Monitoring"
@@ -20440,15 +20121,6 @@
icon_state = "test_floor4"
},
/area/almayer/engineering/upper_engineering/starboard)
-"cJh" = (
-/obj/structure/window/framed/almayer,
-/obj/structure/machinery/door/poddoor/shutters/almayer/open{
- dir = 8;
- id = "Warden Office Shutters";
- name = "\improper Privacy Shutters"
- },
-/turf/open/floor/plating,
-/area/almayer/shipboard/brig/cells)
"cJm" = (
/obj/structure/machinery/light{
dir = 8
@@ -20475,10 +20147,37 @@
icon_state = "plate"
},
/area/almayer/living/pilotbunks)
+"cJv" = (
+/obj/structure/stairs{
+ dir = 1;
+ icon_state = "ramptop"
+ },
+/obj/effect/projector{
+ name = "Almayer_AresDown2";
+ vector_x = 102;
+ vector_y = -61
+ },
+/turf/open/floor/plating,
+/area/almayer/command/airoom)
"cJE" = (
/obj/structure/sign/prop2,
/turf/closed/wall/almayer,
/area/almayer/shipboard/sea_office)
+"cJI" = (
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/structure/disposaloutlet{
+ density = 0;
+ desc = "An outlet for the pneumatic delivery system.";
+ icon_state = "delivery_outlet";
+ name = "take-ins";
+ pixel_x = -1;
+ pixel_y = 28;
+ range = 0
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"cJK" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -20530,16 +20229,6 @@
icon_state = "sterile_green"
},
/area/almayer/medical/containment)
-"cJV" = (
-/obj/effect/projector{
- name = "Almayer_Down3";
- vector_x = 1;
- vector_y = -102
- },
-/turf/open/floor/almayer{
- allow_construction = 0
- },
-/area/almayer/hallways/upper/aft_hallway)
"cKm" = (
/obj/structure/surface/table/almayer,
/obj/item/reagent_container/glass/bucket/mopbucket{
@@ -20573,12 +20262,14 @@
icon_state = "orangecorner"
},
/area/almayer/engineering/upper_engineering/port)
-"cKW" = (
+"cLd" = (
+/obj/structure/closet,
+/obj/item/clothing/glasses/mgoggles/prescription,
+/obj/item/clothing/glasses/mbcg,
/turf/open/floor/almayer{
- dir = 5;
- icon_state = "blue"
+ icon_state = "plate"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/maint/upper/u_a_s)
"cLl" = (
/obj/structure/surface/table/almayer,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -20642,10 +20333,19 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/processing)
+"cMx" = (
+/turf/closed/wall/almayer,
+/area/almayer/maint/upper/u_a_s)
"cMz" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/upper/port)
+"cMH" = (
+/obj/structure/sink{
+ pixel_y = 24
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_s)
"cMN" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -20684,6 +20384,12 @@
icon_state = "orange"
},
/area/almayer/hallways/lower/port_aft_hallway)
+"cNC" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/aft_hallway)
"cNH" = (
/obj/structure/machinery/door/poddoor/shutters/almayer/containment{
id = "Containment Cell 4";
@@ -20742,6 +20448,18 @@
},
/turf/open/floor/almayer,
/area/almayer/living/grunt_rnr)
+"cOd" = (
+/obj/structure/blocker/fuelpump,
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/lifeboat_pumps/south2)
+"cOe" = (
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"cOh" = (
/obj/item/stool{
pixel_x = 15;
@@ -20775,6 +20493,27 @@
icon_state = "outerhull_dir"
},
/area/almayer/engineering/upper_engineering/starboard)
+"cOV" = (
+/obj/effect/projector{
+ name = "Almayer_AresDown";
+ vector_x = 96;
+ vector_y = -65
+ },
+/obj/structure/platform{
+ dir = 8
+ },
+/obj/structure/stairs{
+ dir = 1;
+ icon_state = "ramptop"
+ },
+/obj/structure/machinery/door_control{
+ id = "ARES StairsUpper";
+ name = "ARES Core Access";
+ pixel_x = -24;
+ req_one_access_txt = "90;91;92"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"cOY" = (
/obj/item/clothing/under/blackskirt{
desc = "A stylish skirt, in a business-black and red colour scheme.";
@@ -20904,6 +20643,28 @@
"cQv" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/shipboard/brig/general_equipment)
+"cQC" = (
+/obj/item/device/radio/intercom{
+ freerange = 1;
+ name = "General Listening Channel";
+ pixel_x = -8;
+ pixel_y = 28
+ },
+/obj/structure/sign/safety/intercom{
+ pixel_x = 14;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
+"cQF" = (
+/obj/structure/sign/safety/ladder{
+ pixel_x = 8;
+ pixel_y = -32
+ },
+/turf/open/floor/almayer{
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"cQG" = (
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/starboard_hallway)
@@ -21007,12 +20768,6 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/port_midship_hallway)
-"cSM" = (
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"cSP" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 6
@@ -21084,6 +20839,11 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/s_bow)
+"cUo" = (
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/lifeboat_pumps/north1)
"cVb" = (
/obj/structure/machinery/sentry_holder/almayer,
/turf/open/floor/almayer{
@@ -21134,12 +20894,6 @@
icon_state = "plate"
},
/area/almayer/living/gym)
-"cVT" = (
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"cVZ" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
@@ -21166,15 +20920,6 @@
icon_state = "sterile_green_corner"
},
/area/almayer/medical/lower_medical_medbay)
-"cWo" = (
-/obj/structure/machinery/door/airlock/almayer/maint,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/maint/hull/upper/u_a_p)
"cWr" = (
/obj/structure/machinery/photocopier{
density = 0;
@@ -21213,12 +20958,6 @@
icon_state = "green"
},
/area/almayer/living/offices)
-"cWv" = (
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "green"
- },
-/area/almayer/living/starboard_garden)
"cWy" = (
/obj/structure/closet/secure_closet/freezer/fridge,
/obj/item/reagent_container/food/snacks/packaged_burger,
@@ -21238,17 +20977,6 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/port)
-"cXd" = (
-/obj/structure/surface/rack,
-/obj/item/stack/cable_coil,
-/obj/item/attachable/flashlight/grip,
-/obj/item/ammo_box/magazine/l42a{
- pixel_y = 14
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_s)
"cXi" = (
/obj/structure/machinery/light{
unacidable = 1;
@@ -21270,6 +20998,35 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_m_s)
+"cXq" = (
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
+"cXz" = (
+/obj/structure/surface/table/almayer,
+/obj/item/clothing/mask/cigarette/pipe{
+ pixel_x = 8
+ },
+/obj/structure/transmitter/rotary{
+ name = "Reporter Telephone";
+ phone_category = "Almayer";
+ phone_id = "Reporter";
+ pixel_x = -4;
+ pixel_y = 6
+ },
+/obj/item/device/toner{
+ pixel_x = -2;
+ pixel_y = -11
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/command/combat_correspondent)
"cXC" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -21398,6 +21155,10 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_a_p)
+"cZq" = (
+/obj/item/tool/wet_sign,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_f_s)
"cZB" = (
/obj/structure/machinery/door/airlock/almayer/maint,
/turf/open/floor/almayer{
@@ -21456,6 +21217,16 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/port)
+"dan" = (
+/obj/structure/surface/table/almayer,
+/obj/item/tool/weldpack,
+/obj/item/storage/toolbox/mechanical,
+/obj/item/reagent_container/spray/cleaner,
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "orange"
+ },
+/area/almayer/maint/upper/u_a_s)
"daz" = (
/turf/closed/wall/almayer/aicore/hull,
/area/almayer/command/airoom)
@@ -21465,6 +21236,15 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_f_p)
+"daI" = (
+/obj/structure/machinery/door/airlock/almayer/secure/reinforced{
+ name = "\improper Armourer's Workshop";
+ req_access = null
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/upper/u_m_s)
"dbc" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -21582,16 +21362,24 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/perma)
+"dcR" = (
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/fore_hallway)
"dcT" = (
/obj/structure/pipes/vents/scrubber{
dir = 1
},
/turf/open/floor/almayer,
/area/almayer/maint/hull/upper/u_f_p)
-"dcZ" = (
-/obj/structure/machinery/power/apc/almayer,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/upper/u_m_p)
+"dcX" = (
+/obj/structure/machinery/light/small,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_p)
"ddf" = (
/obj/structure/machinery/portable_atmospherics/canister/air,
/turf/open/floor/almayer{
@@ -21611,12 +21399,6 @@
icon_state = "redfull"
},
/area/almayer/living/briefing)
-"ddp" = (
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"ddw" = (
/obj/structure/machinery/cm_vending/sorted/tech/comp_storage,
/obj/structure/sign/safety/terminal{
@@ -21626,31 +21408,12 @@
icon_state = "plate"
},
/area/almayer/engineering/lower/workshop/hangar)
-"ddx" = (
-/obj/structure/machinery/status_display{
- pixel_y = 30
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"ddz" = (
/obj/structure/sign/safety/maint{
pixel_x = 32
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/weapon_room)
-"ddF" = (
-/obj/structure/sign/safety/hvac_old{
- pixel_x = 8;
- pixel_y = 32
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_p)
"ddL" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/almayer,
@@ -21659,6 +21422,15 @@
/obj/structure/disposalpipe/segment,
/turf/closed/wall/almayer,
/area/almayer/engineering/lower/workshop/hangar)
+"ddO" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"deg" = (
/obj/structure/platform_decoration{
dir = 1
@@ -21672,18 +21444,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_m_s)
-"deA" = (
-/obj/item/reagent_container/glass/bucket/janibucket{
- pixel_x = -1;
- pixel_y = 13
- },
-/obj/structure/sign/safety/water{
- pixel_x = -17
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_s)
"deD" = (
/obj/structure/machinery/prop/almayer/CICmap{
pixel_x = -5
@@ -21737,6 +21497,15 @@
icon_state = "test_floor4"
},
/area/almayer/shipboard/brig/cells)
+"dfA" = (
+/obj/structure/machinery/alarm/almayer{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"dfC" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer{
@@ -21777,12 +21546,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/chief_mp_office)
-"dgP" = (
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"dha" = (
/turf/open/floor/almayer{
icon_state = "plate"
@@ -21822,6 +21585,16 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_p)
+"dhA" = (
+/obj/structure/largecrate/supply/generator,
+/obj/structure/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "red"
+ },
+/area/almayer/maint/upper/u_a_p)
"dhQ" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
@@ -21849,6 +21622,17 @@
icon_state = "test_floor4"
},
/area/almayer/hallways/lower/starboard_midship_hallway)
+"diw" = (
+/obj/item/device/radio/intercom{
+ freerange = 1;
+ name = "General Listening Channel";
+ pixel_y = 28
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"diz" = (
/obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat/blastdoor{
id_tag = "Boat1-D4";
@@ -21872,13 +21656,6 @@
icon_state = "cargo_arrow"
},
/area/almayer/squads/alpha_bravo_shared)
-"djd" = (
-/obj/structure/machinery/light,
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"djQ" = (
/obj/item/device/radio/intercom{
freerange = 1;
@@ -21930,36 +21707,15 @@
icon_state = "red"
},
/area/almayer/living/briefing)
-"dkt" = (
-/obj/structure/surface/rack,
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0;
- pixel_x = -6;
- pixel_y = 7
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0;
- pixel_x = -6;
- pixel_y = -3
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0;
- pixel_x = 5;
- pixel_y = 9
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0;
- pixel_x = 5;
- pixel_y = -3
- },
-/obj/structure/noticeboard{
- desc = "The note is haphazardly attached to the cork board by what looks like a bent firing pin. 'The order has come in to perform end of life service checks on all L42A service rifles, any that are defective are to be dis-assembled and packed into a crate and sent to to the cargo hold. L42A service rifles that are in working order after servicing, are to be locked in secure cabinets ready to be off-loaded at Chinook. Scheduled end of life service for the L42A - Complete'";
- pixel_y = 29
+"dkz" = (
+/obj/structure/pipes/vents/scrubber/no_boom{
+ dir = 4
},
-/turf/open/floor/almayer{
- icon_state = "plate"
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 8;
+ icon_state = "ai_silver"
},
-/area/almayer/maint/hull/upper/u_m_s)
+/area/almayer/command/airoom)
"dkO" = (
/obj/effect/step_trigger/teleporter_vector{
name = "Almayer_Down2";
@@ -21995,6 +21751,12 @@
icon_state = "orangefull"
},
/area/almayer/living/briefing)
+"dlo" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/starboard)
"dlT" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/almayer{
@@ -22089,22 +21851,14 @@
icon_state = "test_floor4"
},
/area/almayer/shipboard/brig/cells)
-"dni" = (
-/obj/structure/sign/safety/life_support{
- pixel_x = 8;
- pixel_y = 32
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
-"dnm" = (
-/obj/structure/machinery/cm_vending/sorted/cargo_guns/intelligence_officer,
-/obj/structure/machinery/light{
- dir = 8
- },
+"dnh" = (
+/obj/structure/surface/rack,
+/obj/item/book/manual/orbital_cannon_manual,
/turf/open/floor/almayer{
- icon_state = "silverfull"
+ dir = 9;
+ icon_state = "red"
},
-/area/almayer/command/computerlab)
+/area/almayer/maint/upper/u_a_p)
"dnC" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 6
@@ -22198,6 +21952,13 @@
/obj/structure/surface/rack,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/upper_engineering/port)
+"doX" = (
+/obj/structure/machinery/light,
+/turf/open/floor/almayer{
+ dir = 10;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"dpo" = (
/obj/structure/machinery/light{
dir = 1
@@ -22213,6 +21974,21 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/north1)
+"dpp" = (
+/obj/effect/projector{
+ name = "Almayer_AresUp";
+ vector_x = -96;
+ vector_y = 65
+ },
+/obj/structure/platform{
+ dir = 4
+ },
+/obj/structure/stairs{
+ dir = 1;
+ icon_state = "ramptop"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"dpA" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -22221,19 +21997,6 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/starboard_aft_hallway)
-"dpN" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 10
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"dpO" = (
/obj/structure/machinery/cm_vending/clothing/marine/delta{
density = 0;
@@ -22244,12 +22007,6 @@
icon_state = "cargo_arrow"
},
/area/almayer/squads/delta)
-"dpS" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "bluecorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"dqb" = (
/obj/structure/sign/safety/security{
pixel_x = -16
@@ -22344,6 +22101,19 @@
icon_state = "sterile_green"
},
/area/almayer/medical/hydroponics)
+"drU" = (
+/obj/structure/machinery/door_control{
+ id = "ARES JoeCryo";
+ name = "ARES WorkingJoe Bay Shutters";
+ req_one_access_txt = "91;92";
+ pixel_x = 24
+ },
+/obj/structure/machinery/camera/autoname/almayer/containment/ares{
+ autoname = 0;
+ c_tag = "AI - Comms"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"dsA" = (
/obj/effect/decal/cleanable/blood,
/turf/open/floor/almayer{
@@ -22356,6 +22126,15 @@
icon_state = "orangecorner"
},
/area/almayer/hallways/lower/starboard_midship_hallway)
+"dtu" = (
+/obj/structure/machinery/portable_atmospherics/canister/air,
+/obj/structure/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/maint/upper/u_a_s)
"dtH" = (
/obj/structure/bed/chair/comfy{
dir = 8
@@ -22368,25 +22147,6 @@
},
/turf/open/floor/almayer,
/area/almayer/living/chapel)
-"dum" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/machinery/door/airlock/almayer/command/reinforced{
- id_tag = "cic_exterior";
- name = "\improper Combat Information Center";
- closeOtherId = "ciclobby_s"
- },
-/obj/structure/machinery/door/poddoor/almayer/open{
- dir = 4;
- id = "CIC Lockdown";
- name = "\improper Combat Information Center Blast Door"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/command/cic)
"duo" = (
/obj/structure/machinery/power/apc/almayer{
dir = 8
@@ -22423,11 +22183,6 @@
icon_state = "emeraldfull"
},
/area/almayer/living/briefing)
-"dux" = (
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/living/starboard_garden)
"duz" = (
/obj/structure/mirror{
pixel_y = 32
@@ -22444,14 +22199,6 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/port)
-"duR" = (
-/obj/structure/disposalpipe/junction{
- dir = 4;
- icon_state = "pipe-j2"
- },
-/obj/structure/pipes/standard/manifold/hidden/supply,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
"duT" = (
/obj/structure/bed,
/obj/structure/machinery/flasher{
@@ -22534,6 +22281,14 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/medical/medical_science)
+"dwu" = (
+/obj/structure/machinery/door/airlock/almayer/maint{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/upper/u_f_s)
"dwA" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/sign/safety/bathunisex{
@@ -22553,15 +22308,6 @@
icon_state = "test_floor4"
},
/area/almayer/engineering/upper_engineering/starboard)
-"dwJ" = (
-/obj/structure/sign/safety/maint{
- pixel_x = 32
- },
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/stern_hallway)
"dxu" = (
/obj/structure/sink{
dir = 1;
@@ -22692,11 +22438,6 @@
icon_state = "plating"
},
/area/almayer/squads/req)
-"dyJ" = (
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/upper/aft_hallway)
"dyK" = (
/obj/structure/machinery/light{
dir = 8
@@ -22709,6 +22450,22 @@
"dzp" = (
/turf/open/floor/almayer,
/area/almayer/command/corporateliaison)
+"dzt" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "S";
+ layer = 3.3
+ },
+/obj/structure/machinery/camera/autoname/almayer/containment/ares{
+ dir = 8;
+ autoname = 0;
+ c_tag = "AI - Secondary Processors"
+ },
+/turf/open/floor/almayer/aicore/glowing/no_build,
+/area/almayer/command/airoom)
"dzG" = (
/obj/structure/reagent_dispensers/peppertank{
pixel_y = 26
@@ -22721,6 +22478,21 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_a_p)
+"dAl" = (
+/obj/item/paper_bin/wy,
+/obj/structure/surface/table/woodentable/fancy,
+/obj/item/tool/pen/clicky,
+/obj/item/tool/pen/clicky,
+/obj/structure/machinery/status_display{
+ pixel_x = -32
+ },
+/obj/item/desk_bell{
+ anchored = 1;
+ pixel_x = -8;
+ pixel_y = 8
+ },
+/turf/open/floor/carpet,
+/area/almayer/command/corporateliaison)
"dAm" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -22741,18 +22513,6 @@
icon_state = "test_floor4"
},
/area/almayer/squads/bravo)
-"dAr" = (
-/obj/structure/pipes/standard/cap/hidden{
- dir = 4
- },
-/obj/structure/sign/safety/life_support{
- pixel_x = 14;
- pixel_y = -25
- },
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/stern_hallway)
"dAA" = (
/obj/structure/prop/invuln/overhead_pipe{
pixel_x = 12
@@ -22884,25 +22644,6 @@
},
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/execution)
-"dCb" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
- },
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 10
- },
-/obj/structure/sign/safety/restrictedarea{
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"dCe" = (
/obj/structure/machinery/cryopod{
pixel_y = 6
@@ -22971,22 +22712,6 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/port_aft_hallway)
-"dDc" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
- },
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
-/obj/structure/pipes/standard/manifold/hidden/supply{
- dir = 8
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"dDp" = (
/obj/effect/decal/warning_stripes{
icon_state = "W";
@@ -23137,11 +22862,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/armory)
-"dFd" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
"dFk" = (
/turf/open/floor/almayer{
dir = 8;
@@ -23161,6 +22881,13 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/starboard_hallway)
+"dFB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/machinery/light,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/aft_hallway)
"dFF" = (
/obj/structure/flora/pottedplant{
icon_state = "pottedplant_21"
@@ -23206,20 +22933,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_m_s)
-"dGl" = (
-/obj/effect/step_trigger/teleporter_vector{
- name = "Almayer_AresUp";
- vector_x = -97;
- vector_y = 65
- },
-/obj/structure/platform{
- dir = 8
- },
-/obj/structure/stairs{
- dir = 1
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"dGr" = (
/obj/structure/pipes/vents/scrubber{
dir = 8
@@ -23384,18 +23097,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/p_bow)
-"dJF" = (
-/obj/structure/pipes/standard/cap/hidden{
- dir = 4
- },
-/obj/structure/sign/safety/hvac_old{
- pixel_x = 15;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/stern_hallway)
"dJG" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 9
@@ -23417,17 +23118,38 @@
"dJJ" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/execution_storage)
+"dJO" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/structure/machinery/door_control{
+ id = "ARES Interior";
+ indestructible = 1;
+ name = "ARES Chamber Lockdown";
+ pixel_x = -24;
+ pixel_y = 8;
+ req_one_access_txt = "90;91;92"
+ },
+/obj/structure/machinery/door/poddoor/railing{
+ closed_layer = 4;
+ density = 0;
+ id = "ARES Railing";
+ layer = 2.1;
+ open_layer = 2.1;
+ unacidable = 0;
+ unslashable = 0
+ },
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 8;
+ icon_state = "ai_silver"
+ },
+/area/almayer/command/airoom)
"dKp" = (
/turf/open/floor/almayer/research/containment/corner{
dir = 4
},
/area/almayer/medical/containment/cell/cl)
-"dKD" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "silvercorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"dKK" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -23498,17 +23220,31 @@
icon_state = "cargo"
},
/area/almayer/lifeboat_pumps/south1)
+"dMj" = (
+/obj/structure/reagent_dispensers/fueltank,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_m_p)
"dMB" = (
/turf/open/floor/almayer{
dir = 8;
icon_state = "plating_striped"
},
/area/almayer/living/cryo_cells)
+"dME" = (
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"dMK" = (
/turf/closed/wall/almayer/research/containment/wall/corner{
dir = 8
},
/area/almayer/medical/containment/cell)
+"dNj" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/fore_hallway)
"dNq" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -23531,6 +23267,18 @@
},
/turf/open/floor/plating,
/area/almayer/living/cryo_cells)
+"dNv" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"dNM" = (
/obj/structure/surface/table/almayer,
/obj/item/reagent_container/food/condiment/hotsauce/tabasco{
@@ -23595,11 +23343,6 @@
icon_state = "cargo_arrow"
},
/area/almayer/hallways/lower/repair_bay)
-"dOW" = (
-/turf/open/floor/almayer{
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"dPd" = (
/obj/structure/surface/table/almayer,
/obj/item/device/flashlight/lamp{
@@ -23620,12 +23363,6 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/starboard_umbilical)
-"dPl" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "red"
- },
-/area/almayer/maint/hull/upper/u_a_p)
"dPm" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -23642,6 +23379,19 @@
},
/turf/open/floor/plating,
/area/almayer/maint/lower/constr)
+"dPB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 10
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "orange"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"dPC" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 9
@@ -23680,20 +23430,6 @@
allow_construction = 0
},
/area/almayer/shipboard/brig/processing)
-"dQl" = (
-/obj/structure/platform{
- dir = 4
- },
-/obj/effect/step_trigger/teleporter_vector{
- name = "Almayer_AresUp";
- vector_x = -97;
- vector_y = 65
- },
-/obj/structure/stairs{
- dir = 1
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"dQp" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/effect/decal/warning_stripes{
@@ -23753,19 +23489,6 @@
icon_state = "dark_sterile"
},
/area/almayer/shipboard/brig/mp_bunks)
-"dRo" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/sign/safety/bridge{
- pixel_x = 15;
- pixel_y = 32
- },
-/obj/structure/sign/safety/west{
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/aft_hallway)
"dRs" = (
/obj/structure/closet/emcloset,
/turf/open/floor/almayer{
@@ -23846,6 +23569,12 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/south1)
+"dSI" = (
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "bluecorner"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"dSJ" = (
/obj/item/device/radio/intercom{
freerange = 1;
@@ -23915,6 +23644,16 @@
icon_state = "silver"
},
/area/almayer/shipboard/brig/cic_hallway)
+"dUR" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"dUS" = (
/turf/open/floor/almayer{
icon_state = "dark_sterile"
@@ -24099,14 +23838,6 @@
icon_state = "plate"
},
/area/almayer/squads/req)
-"dXH" = (
-/obj/structure/surface/table/reinforced/prison,
-/obj/item/device/camera_film{
- pixel_x = 4;
- pixel_y = -2
- },
-/turf/open/floor/almayer,
-/area/almayer/squads/charlie_delta_shared)
"dXI" = (
/obj/structure/machinery/door/airlock/almayer/secure/reinforced{
name = "\improper Exterior Airlock";
@@ -24148,6 +23879,18 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_a_s)
+"dYl" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"dYu" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 5
@@ -24226,20 +23969,6 @@
},
/turf/open/floor/almayer,
/area/almayer/engineering/lower/workshop/hangar)
-"dZP" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
-"dZR" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"dZZ" = (
/obj/structure/surface/rack,
/obj/item/tool/weldpack,
@@ -24278,12 +24007,6 @@
dir = 4
},
/area/almayer/medical/containment/cell)
-"ear" = (
-/obj/structure/largecrate/random/case,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_p)
"eas" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -24352,12 +24075,6 @@
"ebN" = (
/turf/closed/wall/almayer/aicore/reinforced,
/area/almayer/command/airoom)
-"ebV" = (
-/obj/structure/machinery/status_display{
- pixel_y = 30
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/stern_hallway)
"ecb" = (
/obj/structure/machinery/light/small{
dir = 4
@@ -24387,15 +24104,6 @@
"ecr" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/living/captain_mess)
-"ecz" = (
-/obj/structure/machinery/light{
- dir = 8
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"ecS" = (
/obj/structure/sign/safety/hvac_old{
pixel_x = 8;
@@ -24589,6 +24297,14 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/processing)
+"efV" = (
+/obj/structure/disposalpipe/junction{
+ dir = 4;
+ icon_state = "pipe-j2"
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply,
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"egc" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -24608,6 +24324,26 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/lower_medical_medbay)
+"ege" = (
+/obj/structure/machinery/door_control{
+ id = "ARES StairsLower";
+ name = "ARES Core Lockdown";
+ pixel_x = -24;
+ pixel_y = 8;
+ req_one_access_txt = "90;91;92"
+ },
+/obj/structure/machinery/camera/autoname/almayer/containment/ares{
+ dir = 4;
+ pixel_y = -8;
+ autoname = 0;
+ c_tag = "AI - Main Staircase"
+ },
+/obj/effect/step_trigger/clone_cleaner,
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 8;
+ icon_state = "ai_silver"
+ },
+/area/almayer/command/airoom)
"egp" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/platform_decoration,
@@ -24634,27 +24370,6 @@
icon_state = "green"
},
/area/almayer/hallways/lower/port_midship_hallway)
-"egQ" = (
-/obj/structure/prop/invuln/overhead_pipe{
- dir = 4;
- pixel_y = 13
- },
-/obj/structure/prop/invuln/overhead_pipe{
- dir = 4;
- pixel_x = 12;
- pixel_y = 13
- },
-/obj/structure/prop/invuln/overhead_pipe{
- dir = 4;
- pixel_y = 13
- },
-/obj/structure/prop/invuln/overhead_pipe{
- dir = 4;
- pixel_x = -16;
- pixel_y = 13
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_m_p)
"ehc" = (
/obj/structure/machinery/camera/autoname/almayer{
dir = 1;
@@ -24685,6 +24400,15 @@
"ehl" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/interrogation)
+"ehm" = (
+/obj/structure/sign/safety/maint{
+ pixel_x = 32
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/south2)
"ehx" = (
/obj/effect/landmark/start/marine/tl/alpha,
/obj/effect/landmark/late_join/alpha,
@@ -24758,6 +24482,20 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/processing)
+"eii" = (
+/obj/structure/platform{
+ dir = 4
+ },
+/obj/effect/step_trigger/teleporter_vector{
+ name = "Almayer_AresUp";
+ vector_x = -96;
+ vector_y = 65
+ },
+/obj/structure/stairs{
+ dir = 1
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"eim" = (
/obj/structure/pipes/vents/pump{
dir = 1
@@ -25033,6 +24771,16 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/medical_science)
+"emL" = (
+/obj/structure/machinery/light,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "orange"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"ene" = (
/turf/open/floor/almayer{
dir = 4;
@@ -25047,25 +24795,6 @@
icon_state = "plate"
},
/area/almayer/engineering/lower/workshop)
-"enz" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/sign/safety/bridge{
- pixel_x = 15;
- pixel_y = -32
- },
-/obj/structure/sign/safety/west{
- pixel_y = -32
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/aft_hallway)
-"enF" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out"
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"enK" = (
/obj/effect/step_trigger/clone_cleaner,
/obj/structure/blocker/forcefield/multitile_vehicles,
@@ -25095,6 +24824,17 @@
icon_state = "test_floor4"
},
/area/almayer/maint/hull/lower/l_m_s)
+"eol" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 9
+ },
+/turf/open/floor/almayer{
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"eox" = (
/obj/structure/machinery/light/small,
/turf/open/floor/plating/plating_catwalk,
@@ -25153,6 +24893,15 @@
},
/turf/open/floor/wood/ship,
/area/almayer/command/corporateliaison)
+"epT" = (
+/obj/structure/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"eqb" = (
/obj/structure/surface/table/almayer,
/obj/item/tool/stamp/denied{
@@ -25365,6 +25114,22 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_f_s)
+"esn" = (
+/obj/structure/surface/table/reinforced/prison,
+/obj/item/device/multitool{
+ desc = "A large handheld tool used to override various machine functions. Primarily used to pulse Airlock and APC wires on a shortwave frequency. It contains a small data buffer as well. This one is comically oversized. Made in Texas.";
+ icon_state = "multitool_big";
+ name = "\improper Oversized Security Access Tuner";
+ pixel_y = 11;
+ pixel_x = 4
+ },
+/obj/item/stack/sheet/cardboard/medium_stack{
+ pixel_y = -6;
+ pixel_x = -7;
+ layer = 3.01
+ },
+/turf/open/floor/almayer,
+/area/almayer/squads/alpha_bravo_shared)
"esC" = (
/obj/structure/toilet{
pixel_y = 13
@@ -25404,6 +25169,12 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/gym)
+"esQ" = (
+/turf/open/floor/almayer{
+ dir = 9;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"esT" = (
/turf/open/floor/almayer/uscm/directional{
dir = 9
@@ -25513,16 +25284,6 @@
},
/turf/open/floor/almayer/aicore/glowing/no_build,
/area/almayer/command/airoom)
-"euO" = (
-/obj/structure/machinery/light{
- unacidable = 1;
- unslashable = 1
- },
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "red"
- },
-/area/almayer/lifeboat_pumps/north1)
"euV" = (
/turf/open/floor/almayer/uscm/directional{
dir = 8;
@@ -25569,6 +25330,15 @@
icon_state = "cargo"
},
/area/almayer/engineering/upper_engineering/starboard)
+"evM" = (
+/obj/structure/machinery/status_display{
+ pixel_y = 30
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"evR" = (
/obj/structure/surface/table/almayer,
/obj/item/storage/toolbox/mechanical/green{
@@ -25679,13 +25449,6 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/south2)
-"eyI" = (
-/obj/structure/window/framed/almayer,
-/obj/structure/curtain/open/shower{
- name = "hypersleep curtain"
- },
-/turf/open/floor/plating,
-/area/almayer/maint/hull/upper/u_m_p)
"eyM" = (
/obj/structure/largecrate/random/barrel/blue,
/turf/open/floor/almayer{
@@ -25725,6 +25488,18 @@
icon_state = "green"
},
/area/almayer/shipboard/brig/cells)
+"ezq" = (
+/obj/effect/projector{
+ name = "Almayer_AresDown";
+ vector_x = 96;
+ vector_y = -65
+ },
+/obj/structure/stairs{
+ dir = 1;
+ icon_state = "ramptop"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"ezG" = (
/obj/structure/pipes/vents/scrubber{
dir = 4
@@ -25764,6 +25539,22 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/starboard_umbilical)
+"eAx" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"eAC" = (
/obj/structure/machinery/light{
dir = 4
@@ -25947,13 +25738,12 @@
icon_state = "plating"
},
/area/almayer/shipboard/brig/execution)
-"eDk" = (
-/obj/structure/surface/rack,
-/obj/item/tool/weldpack,
+"eDe" = (
+/obj/structure/machinery/door/airlock/almayer/maint,
/turf/open/floor/almayer{
- icon_state = "plate"
+ icon_state = "test_floor4"
},
-/area/almayer/maint/hull/upper/u_a_p)
+/area/almayer/maint/upper/u_m_s)
"eDo" = (
/obj/effect/decal/warning_stripes{
icon_state = "W";
@@ -26016,15 +25806,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/cic_hallway)
-"eEF" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/manifold/hidden/supply{
- dir = 1
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/stern_hallway)
"eFa" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -26059,17 +25840,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/chemistry)
-"eFI" = (
-/obj/item/device/radio/intercom{
- freerange = 1;
- name = "General Listening Channel";
- pixel_y = 28
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"eFK" = (
/obj/structure/bed{
icon_state = "abed"
@@ -26146,23 +25916,6 @@
},
/turf/open/floor/carpet,
/area/almayer/command/corporateliaison)
-"eGb" = (
-/obj/structure/machinery/constructable_frame{
- icon_state = "box_2"
- },
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/lifeboat_pumps/north2)
-"eGh" = (
-/obj/structure/surface/table/reinforced/prison,
-/obj/item/tool/surgery/scalpel{
- pixel_x = -1;
- pixel_y = 10
- },
-/obj/item/stack/cable_coil,
-/turf/open/floor/almayer,
-/area/almayer/squads/alpha_bravo_shared)
"eGq" = (
/obj/structure/largecrate/random/secure,
/turf/open/floor/almayer{
@@ -26170,6 +25923,15 @@
icon_state = "green"
},
/area/almayer/hallways/lower/port_midship_hallway)
+"eGr" = (
+/obj/structure/pipes/standard/simple/hidden/supply/no_boom,
+/obj/structure/machinery/camera/autoname/almayer/containment/ares{
+ dir = 8;
+ autoname = 0;
+ c_tag = "AI - Records"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"eGB" = (
/obj/structure/platform_decoration,
/turf/open/floor/almayer,
@@ -26212,13 +25974,15 @@
icon_state = "plating_striped"
},
/area/almayer/maint/hull/lower/l_a_p)
-"eHz" = (
-/obj/structure/largecrate/supply/supplies/mre,
+"eHX" = (
+/obj/structure/machinery/door/airlock/almayer/maint{
+ req_one_access = null;
+ req_one_access_txt = "2;30;34"
+ },
/turf/open/floor/almayer{
- dir = 1;
- icon_state = "red"
+ icon_state = "test_floor4"
},
-/area/almayer/maint/hull/upper/u_a_p)
+/area/almayer/maint/upper/u_f_s)
"eHY" = (
/obj/structure/surface/rack,
/obj/item/device/taperecorder,
@@ -26226,6 +25990,22 @@
icon_state = "silver"
},
/area/almayer/command/computerlab)
+"eIf" = (
+/obj/structure/prop/invuln/pipe_water,
+/obj/structure/prop/invuln/overhead_pipe{
+ dir = 4;
+ pixel_x = -12;
+ pixel_y = 13
+ },
+/obj/structure/prop/invuln/overhead_pipe{
+ dir = 4;
+ pixel_x = -12;
+ pixel_y = 13
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_s)
"eIN" = (
/obj/item/tool/kitchen/utensil/pfork,
/turf/open/floor/almayer{
@@ -26251,20 +26031,18 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/starboard_fore_hallway)
+"eIY" = (
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/aft_hallway)
"eJg" = (
/turf/open/floor/almayer{
dir = 5;
icon_state = "red"
},
/area/almayer/hallways/upper/aft_hallway)
-"eJj" = (
-/obj/structure/closet/crate,
-/obj/item/ammo_box/magazine/l42a,
-/obj/item/ammo_box/magazine/l42a,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_s)
"eJQ" = (
/obj/structure/prop/invuln{
desc = "An inflated membrane. This one is puncture proof. Wow!";
@@ -26278,24 +26056,15 @@
icon_state = "outerhull_dir"
},
/area/almayer/command/lifeboat)
+"eJU" = (
+/obj/structure/bed/chair,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/lifeboat_pumps/north1)
"eJX" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/ce_room)
-"eJZ" = (
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_m_s)
-"eKa" = (
-/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{
- dir = 2;
- name = "\improper Brig Lobby";
- closeOtherId = "briglobby"
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/shipboard/brig/processing)
"eKy" = (
/obj/structure/pipes/standard/simple/visible{
dir = 6
@@ -26406,6 +26175,17 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_m_s)
+"eLV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"eLX" = (
/obj/structure/bed/chair{
dir = 4
@@ -26415,14 +26195,12 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/mp_bunks)
-"eMh" = (
-/obj/structure/machinery/door/airlock/almayer/generic{
- name = "\improper Laundry Room"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
+"eMr" = (
+/obj/structure/machinery/status_display{
+ pixel_y = 30
},
-/area/almayer/engineering/laundry)
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"eMx" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -26531,6 +26309,10 @@
icon_state = "orange"
},
/area/almayer/hallways/lower/starboard_umbilical)
+"ePz" = (
+/obj/structure/largecrate/supply/weapons/pistols,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_m_s)
"ePM" = (
/obj/structure/sign/safety/distribution_pipes{
pixel_x = 32
@@ -26572,27 +26354,42 @@
icon_state = "cargo"
},
/area/almayer/engineering/lower/workshop/hangar)
-"eQd" = (
-/obj/structure/closet/secure_closet/guncabinet,
-/obj/item/weapon/gun/smg/m39{
- pixel_y = 6
+"eQj" = (
+/obj/structure/machinery/door_control{
+ id = "ARES StairsUpper";
+ name = "ARES Core Access";
+ pixel_x = -10;
+ pixel_y = -24;
+ req_one_access_txt = "91;92"
},
-/obj/item/weapon/gun/smg/m39{
- pixel_y = -6
+/obj/structure/machinery/door_control{
+ id = "ARES StairsLock";
+ name = "ARES Exterior Lockdown";
+ pixel_y = -24;
+ req_one_access_txt = "91;92"
},
-/turf/open/floor/almayer{
- icon_state = "plate"
+/obj/structure/surface/table/reinforced/almayer_B{
+ indestructible = 1;
+ unacidable = 1;
+ unslashable = 1
},
-/area/almayer/maint/hull/upper/u_m_s)
-"eQh" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out";
- pixel_x = 1
+/obj/structure/machinery/door_control{
+ id = "ARES Emergency";
+ name = "ARES Emergency Lockdown";
+ pixel_x = 10;
+ pixel_y = -24;
+ req_one_access_txt = "91;92"
},
-/turf/open/floor/almayer{
- icon_state = "silvercorner"
+/obj/structure/machinery/computer/cameras/almayer{
+ dir = 4;
+ pixel_y = 12
},
-/area/almayer/hallways/upper/aft_hallway)
+/obj/structure/machinery/computer/cameras/almayer/ares{
+ dir = 4;
+ pixel_y = -1
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"eQm" = (
/obj/structure/machinery/power/apc/almayer{
dir = 1
@@ -26661,14 +26458,22 @@
icon_state = "test_floor4"
},
/area/almayer/medical/lower_medical_medbay)
-"eRG" = (
-/obj/structure/closet,
-/obj/item/clothing/ears/earmuffs,
-/obj/item/clothing/glasses/regular/hipster,
+"eRI" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/obj/structure/machinery/camera/autoname/almayer/containment/ares{
+ dir = 8;
+ pixel_y = 2;
+ autoname = 0;
+ c_tag = "AI - Reception Exterior"
+ },
/turf/open/floor/almayer{
- icon_state = "plate"
+ dir = 4;
+ icon_state = "silver"
},
-/area/almayer/maint/hull/upper/u_a_s)
+/area/almayer/hallways/upper/midship_hallway)
"eRR" = (
/obj/item/clothing/head/helmet/marine{
pixel_x = 16;
@@ -26736,6 +26541,15 @@
/obj/effect/landmark/crap_item,
/turf/open/floor/almayer,
/area/almayer/living/briefing)
+"eTm" = (
+/obj/structure/machinery/disposal,
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"eTx" = (
/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
pixel_y = 25
@@ -26745,6 +26559,14 @@
icon_state = "green"
},
/area/almayer/hallways/lower/port_aft_hallway)
+"eTC" = (
+/obj/structure/machinery/cm_vending/sorted/medical/bolted,
+/obj/structure/medical_supply_link,
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "sterile_green_side"
+ },
+/area/almayer/medical/lockerroom)
"eTD" = (
/obj/structure/bed/chair{
dir = 4
@@ -26882,6 +26704,19 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/medical_science)
+"eWf" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"eWp" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/bed/chair/comfy/charlie{
@@ -26913,12 +26748,6 @@
icon_state = "test_floor4"
},
/area/almayer/living/basketball)
-"eWN" = (
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"eXb" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -26932,15 +26761,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_medbay)
-"eXk" = (
-/obj/effect/landmark/late_join/working_joe,
-/obj/effect/landmark/start/working_joe,
-/obj/structure/machinery/light/small{
- dir = 8;
- light_color = "#d69c46"
- },
-/turf/open/floor/plating/plating_catwalk/aicore,
-/area/almayer/command/airoom)
"eXq" = (
/turf/closed/wall/almayer,
/area/almayer/living/offices/flight)
@@ -26948,6 +26768,20 @@
/obj/structure/pipes/vents/pump,
/turf/open/floor/almayer,
/area/almayer/living/offices)
+"eXy" = (
+/obj/effect/step_trigger/teleporter_vector{
+ name = "Almayer_AresDown";
+ vector_x = 96;
+ vector_y = -65
+ },
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/obj/structure/stairs{
+ dir = 1
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"eXD" = (
/obj/structure/prop/invuln/lattice_prop{
dir = 1;
@@ -27010,16 +26844,6 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
-"eYz" = (
-/obj/structure/machinery/camera/autoname/almayer/containment/ares{
- dir = 1
- },
-/obj/structure/machinery/computer/working_joe{
- dir = 8;
- pixel_x = 29
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"eYD" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -27218,6 +27042,17 @@
icon_state = "kitchen"
},
/area/almayer/living/grunt_rnr)
+"fbr" = (
+/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{
+ closeOtherId = "briglobby";
+ dir = 2;
+ name = "\improper Brig Lobby"
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/shipboard/brig/processing)
"fbu" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -27278,6 +27113,12 @@
icon_state = "plating"
},
/area/almayer/hallways/lower/vehiclehangar)
+"fbV" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "redfull"
+ },
+/area/almayer/lifeboat_pumps/north2)
"fca" = (
/obj/structure/disposalpipe/segment{
layer = 5.1;
@@ -27346,22 +27187,6 @@
icon_state = "orange"
},
/area/almayer/engineering/lower)
-"fcX" = (
-/obj/effect/step_trigger/clone_cleaner,
-/obj/structure/platform_decoration{
- dir = 1
- },
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_silver";
- dir = 8
- },
-/area/almayer/command/airoom)
-"fdf" = (
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"fdx" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -27608,6 +27433,13 @@
icon_state = "mono"
},
/area/almayer/engineering/upper_engineering/starboard)
+"fhR" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/almayer/aicore/hull,
+/area/almayer/command/airoom)
"fic" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -27637,15 +27469,6 @@
/obj/item/device/camera_film,
/turf/open/floor/almayer,
/area/almayer/command/corporateliaison)
-"fiH" = (
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/stern_hallway)
-"fiN" = (
-/obj/structure/largecrate/random/case/double,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_s)
"fiQ" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -27654,12 +27477,37 @@
icon_state = "plate"
},
/area/almayer/engineering/lower)
+"fje" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/structure/machinery/light/small,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_p)
+"fjo" = (
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/north2)
"fjz" = (
/obj/structure/largecrate/random/case/double,
/turf/open/floor/almayer{
icon_state = "cargo"
},
/area/almayer/maint/hull/upper/u_f_p)
+"fjA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"fkK" = (
/obj/structure/machinery/door/airlock/almayer/maint{
dir = 1
@@ -27676,6 +27524,13 @@
dir = 8
},
/area/almayer/medical/containment/cell/cl)
+"flf" = (
+/obj/structure/pipes/vents/pump/no_boom/gas{
+ vent_tag = "Records";
+ dir = 1
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"flr" = (
/obj/structure/prop/invuln/overhead_pipe{
pixel_x = 12
@@ -27684,6 +27539,35 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/p_bow)
+"flD" = (
+/obj/structure/largecrate/supply/supplies/water,
+/turf/open/floor/almayer{
+ icon_state = "red"
+ },
+/area/almayer/maint/upper/u_a_p)
+"flL" = (
+/obj/structure/machinery/camera/autoname/almayer/containment/ares{
+ dir = 8;
+ autoname = 0;
+ c_tag = "AI - SynthBay"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
+"flR" = (
+/obj/effect/projector{
+ name = "Almayer_AresDown";
+ vector_x = 96;
+ vector_y = -65
+ },
+/obj/structure/platform{
+ dir = 4
+ },
+/obj/structure/stairs{
+ dir = 1;
+ icon_state = "ramptop"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"flW" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/structure/machinery/light{
@@ -27740,6 +27624,10 @@
icon_state = "green"
},
/area/almayer/hallways/lower/port_midship_hallway)
+"fnk" = (
+/obj/structure/blocker/fuelpump,
+/turf/open/floor/almayer,
+/area/almayer/lifeboat_pumps/north1)
"fnv" = (
/obj/structure/machinery/light{
dir = 4
@@ -28053,8 +27941,8 @@
pixel_y = 9;
req_access_txt = "3"
},
-/obj/structure/machinery/light{
- dir = 1
+/obj/structure/machinery/computer/working_joe{
+ pixel_y = 16
},
/turf/open/floor/almayer{
dir = 1;
@@ -28078,13 +27966,6 @@
icon_state = "red"
},
/area/almayer/shipboard/starboard_missiles)
-"frI" = (
-/obj/structure/sign/safety/distribution_pipes{
- pixel_x = 8;
- pixel_y = 32
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"frM" = (
/obj/effect/decal/warning_stripes{
icon_state = "S";
@@ -28096,12 +27977,6 @@
},
/turf/open/floor/almayer/aicore/glowing/no_build,
/area/almayer/command/airoom)
-"frV" = (
-/obj/structure/toilet{
- dir = 1
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_s)
"fsf" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -28112,6 +27987,12 @@
icon_state = "orangecorner"
},
/area/almayer/hallways/lower/port_umbilical)
+"fsh" = (
+/obj/structure/machinery/camera/autoname/almayer{
+ name = "ship-grade camera"
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"fsp" = (
/obj/structure/barricade/handrail{
dir = 1;
@@ -28122,18 +28003,6 @@
icon_state = "plate"
},
/area/almayer/living/gym)
-"fsu" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/aft_hallway)
"fsR" = (
/obj/structure/pipes/vents/pump{
dir = 8;
@@ -28156,33 +28025,6 @@
icon_state = "plating_striped"
},
/area/almayer/living/cryo_cells)
-"ftb" = (
-/obj/structure/machinery/alarm/almayer{
- dir = 1
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
-"ftG" = (
-/obj/structure/sign/safety/life_support{
- pixel_x = 8;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
-"ftZ" = (
-/obj/structure/sign/safety/maint{
- pixel_x = 32
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"fuz" = (
/obj/structure/machinery/cm_vending/clothing/pilot_officer,
/turf/open/floor/almayer{
@@ -28253,19 +28095,6 @@
icon_state = "silver"
},
/area/almayer/living/briefing)
-"fvj" = (
-/obj/effect/step_trigger/clone_cleaner,
-/obj/effect/decal/warning_stripes{
- icon_state = "NW-out";
- layer = 2.5
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 2
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/aft_hallway)
"fvo" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/item/clothing/glasses/welding{
@@ -28293,19 +28122,6 @@
icon_state = "redfull"
},
/area/almayer/command/cic)
-"fvE" = (
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "bluecorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
-"fvJ" = (
-/obj/structure/machinery/cm_vending/sorted/medical/bolted,
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "sterile_green_side"
- },
-/area/almayer/medical/lockerroom)
"fvN" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -28353,13 +28169,6 @@
icon_state = "redfull"
},
/area/almayer/living/briefing)
-"fwP" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/machinery/light/small{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/upper/u_m_s)
"fwY" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -28454,12 +28263,6 @@
icon_state = "test_floor4"
},
/area/almayer/hallways/lower/starboard_fore_hallway)
-"fzm" = (
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/stern_hallway)
"fzq" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -28472,6 +28275,20 @@
icon_state = "test_floor4"
},
/area/almayer/squads/charlie)
+"fzt" = (
+/obj/structure/surface/table/almayer,
+/obj/item/circuitboard{
+ pixel_x = 12;
+ pixel_y = 7
+ },
+/obj/item/tool/crowbar{
+ pixel_x = 6;
+ pixel_y = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_p)
"fzx" = (
/obj/structure/prop/invuln/overhead_pipe{
pixel_x = 12
@@ -28528,15 +28345,6 @@
/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m39_submachinegun,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/armory)
-"fAW" = (
-/obj/structure/disposalpipe/junction{
- dir = 4
- },
-/obj/structure/pipes/standard/manifold/hidden/supply{
- dir = 1
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
"fBi" = (
/turf/open/floor/almayer{
dir = 4;
@@ -28551,18 +28359,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_s)
-"fBA" = (
-/obj/structure/sign/safety/high_voltage{
- pixel_y = -32
- },
-/obj/structure/sign/safety/hazard{
- pixel_x = 15;
- pixel_y = -32
- },
-/turf/open/floor/almayer{
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"fBO" = (
/obj/structure/machinery/chem_master{
vial_maker = 1
@@ -28603,18 +28399,26 @@
/obj/effect/decal/cleanable/blood/oil,
/turf/open/floor/almayer,
/area/almayer/hallways/lower/repair_bay)
+"fCI" = (
+/obj/structure/machinery/door/poddoor/shutters/almayer{
+ id = "ARES JoeCryo";
+ name = "\improper ARES Synth Bay Shutters";
+ plane = -7;
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply/no_boom{
+ dir = 4
+ },
+/turf/open/floor/almayer/no_build{
+ icon_state = "test_floor4"
+ },
+/area/almayer/command/airoom)
"fCL" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/upper_engineering/port)
-"fCP" = (
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"fCT" = (
/obj/structure/surface/table/almayer,
/obj/item/fuel_cell,
@@ -28623,6 +28427,11 @@
icon_state = "cargo"
},
/area/almayer/engineering/lower/engine_core)
+"fCW" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/fore_hallway)
"fDh" = (
/obj/effect/decal/warning_stripes{
icon_state = "SW-out";
@@ -28645,14 +28454,6 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/lower_medical_medbay)
-"fDk" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/stern_hallway)
"fDG" = (
/obj/structure/machinery/vending/coffee,
/obj/structure/machinery/light{
@@ -28724,12 +28525,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/starboard_midship_hallway)
-"fEN" = (
-/obj/structure/machinery/camera/autoname/almayer/containment/ares{
- dir = 4
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"fER" = (
/obj/structure/machinery/autolathe,
/turf/open/floor/almayer{
@@ -28865,15 +28660,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_s)
-"fGD" = (
-/obj/effect/step_trigger/clone_cleaner,
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 2
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/aft_hallway)
"fHb" = (
/obj/structure/largecrate/random/case/small,
/turf/open/floor/plating/plating_catwalk,
@@ -28900,10 +28686,10 @@
icon_state = "greenfull"
},
/area/almayer/living/offices)
-"fHM" = (
-/obj/docking_port/stationary/escape_pod/cl,
-/turf/open/floor/plating,
-/area/almayer/maint/hull/upper/u_m_p)
+"fIK" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_s)
"fIM" = (
/obj/effect/landmark/start/marine/tl/bravo,
/obj/effect/landmark/late_join/bravo,
@@ -28994,15 +28780,6 @@
icon_state = "green"
},
/area/almayer/shipboard/brig/cells)
-"fJY" = (
-/obj/structure/pipes/standard/simple/hidden/supply/no_boom{
- dir = 4
- },
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_arrow";
- dir = 8
- },
-/area/almayer/command/airoom)
"fKe" = (
/obj/effect/decal/warning_stripes{
icon_state = "SW-out"
@@ -29167,19 +28944,6 @@
icon_state = "bluefull"
},
/area/almayer/living/briefing)
-"fMl" = (
-/obj/structure/machinery/door_control{
- id = "ARES Operations Right";
- name = "ARES Operations Shutter";
- pixel_x = 24;
- pixel_y = -8;
- req_one_access_txt = "90;91;92"
- },
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_silver";
- dir = 4
- },
-/area/almayer/command/airoom)
"fMt" = (
/obj/structure/machinery/door/poddoor/shutters/almayer{
id = "ARES Interior";
@@ -29208,6 +28972,12 @@
icon_state = "test_floor4"
},
/area/almayer/command/airoom)
+"fME" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 10
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_p)
"fMU" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -29251,6 +29021,14 @@
icon_state = "cargo_arrow"
},
/area/almayer/hallways/lower/starboard_midship_hallway)
+"fNX" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out"
+ },
+/turf/open/floor/almayer{
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"fOk" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 9
@@ -29369,13 +29147,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_p)
-"fQl" = (
-/obj/structure/largecrate/supply/supplies/flares,
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "red"
- },
-/area/almayer/maint/hull/upper/u_a_p)
"fQn" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -29405,6 +29176,16 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_f_s)
+"fQD" = (
+/obj/structure/machinery/camera/autoname/almayer/containment/ares{
+ dir = 8;
+ autoname = 0;
+ c_tag = "AI - Core Chamber"
+ },
+/turf/open/floor/almayer/aicore/glowing/no_build{
+ icon_state = "ai_floor3"
+ },
+/area/almayer/command/airoom)
"fQS" = (
/obj/structure/bed/chair/comfy/orange,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -29415,15 +29196,6 @@
},
/turf/open/floor/carpet,
/area/almayer/command/corporateliaison)
-"fQU" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"fRg" = (
/obj/structure/closet/emcloset,
/obj/structure/machinery/camera/autoname/almayer{
@@ -29481,6 +29253,16 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/north1)
+"fSx" = (
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/fore_hallway)
"fSF" = (
/obj/structure/surface/table/almayer,
/obj/item/device/flashlight,
@@ -29569,6 +29351,12 @@
"fVe" = (
/turf/closed/wall/almayer/outer,
/area/almayer/maint/hull/upper/u_a_p)
+"fVk" = (
+/obj/structure/machinery/door/airlock/almayer/maint,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/upper/u_a_s)
"fVo" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
@@ -29576,6 +29364,12 @@
icon_state = "orange"
},
/area/almayer/engineering/lower/workshop)
+"fVx" = (
+/turf/open/floor/almayer/aicore/glowing/no_build{
+ icon_state = "ai_floor3";
+ light_range = 4
+ },
+/area/almayer/command/airoom)
"fVz" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -29625,15 +29419,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/upper_engineering/port)
-"fXf" = (
-/obj/structure/machinery/power/apc/almayer{
- dir = 1
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"fXg" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -29674,6 +29459,12 @@
/obj/effect/landmark/late_join/delta,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/delta)
+"fXO" = (
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/north2)
"fXP" = (
/obj/structure/machinery/camera/autoname/almayer{
name = "ship-grade camera"
@@ -29816,12 +29607,6 @@
icon_state = "test_floor4"
},
/area/almayer/living/briefing)
-"gar" = (
-/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
- pixel_y = 25
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/stern_hallway)
"gaJ" = (
/turf/closed/wall/almayer,
/area/almayer/shipboard/brig/cryo)
@@ -29881,6 +29666,12 @@
icon_state = "ai_floor3"
},
/area/almayer/command/airoom)
+"gbm" = (
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 4;
+ icon_state = "ai_silver"
+ },
+/area/almayer/command/airoom)
"gbs" = (
/obj/structure/surface/table/reinforced/black,
/obj/item/ashtray/plastic{
@@ -29899,16 +29690,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/processing)
-"gbR" = (
-/obj/structure/sign/safety/maint{
- pixel_x = 8;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"gcm" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -29919,19 +29700,6 @@
icon_state = "red"
},
/area/almayer/hallways/upper/port)
-"gcq" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 2
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_x = 1;
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/starboard)
"gcN" = (
/obj/structure/machinery/door/airlock/almayer/command{
access_modified = 1;
@@ -29998,6 +29766,21 @@
icon_state = "redfull"
},
/area/almayer/living/offices/flight)
+"gei" = (
+/obj/structure/sign/safety/ref_bio_storage{
+ pixel_x = -17;
+ pixel_y = 7
+ },
+/obj/structure/sign/safety/biohazard{
+ pixel_x = -17;
+ pixel_y = -7
+ },
+/obj/structure/medical_supply_link,
+/obj/structure/machinery/cm_vending/sorted/medical/chemistry,
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/medical/medical_science)
"gek" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/item/storage/fancy/cigarettes/wypacket,
@@ -30078,15 +29861,6 @@
icon_state = "plate"
},
/area/almayer/living/grunt_rnr)
-"gft" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/stern_hallway)
"gfu" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -30098,13 +29872,6 @@
},
/turf/open/floor/almayer/aicore/glowing/no_build,
/area/almayer/command/airoom)
-"gfv" = (
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
-"gfE" = (
-/obj/structure/machinery/recharge_station,
-/turf/open/floor/plating,
-/area/almayer/command/airoom)
"gfG" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/simple/hidden/supply,
@@ -30238,6 +30005,12 @@
icon_state = "orange"
},
/area/almayer/squads/bravo)
+"giD" = (
+/obj/structure/largecrate/random/barrel/yellow,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_p)
"giR" = (
/obj/structure/machinery/status_display{
pixel_y = -30
@@ -30251,6 +30024,12 @@
icon_state = "silver"
},
/area/almayer/shipboard/brig/cic_hallway)
+"giW" = (
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "orange"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"gjg" = (
/obj/structure/sign/safety/escapepod{
pixel_x = -17;
@@ -30265,6 +30044,18 @@
icon_state = "blue"
},
/area/almayer/hallways/lower/port_midship_hallway)
+"gji" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"gjm" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -30298,23 +30089,14 @@
icon_state = "red"
},
/area/almayer/shipboard/navigation)
-"gjw" = (
-/obj/structure/machinery/faxmachine/uscm/command{
- density = 0;
- department = "AI Core";
- pixel_y = 32
- },
-/obj/structure/surface/rack{
- density = 0;
- pixel_y = 16
- },
-/obj/structure/machinery/computer/working_joe{
- dir = 8;
- pixel_x = 17;
- pixel_y = -6
+"gjv" = (
+/obj/effect/step_trigger/teleporter_vector{
+ name = "Almayer_AresUp";
+ vector_x = -96;
+ vector_y = 65
},
-/obj/item/storage/box/ids{
- pixel_x = -4
+/obj/structure/stairs{
+ dir = 1
},
/turf/open/floor/almayer/aicore/no_build,
/area/almayer/command/airoom)
@@ -30359,15 +30141,6 @@
icon_state = "plate"
},
/area/almayer/command/cic)
-"glc" = (
-/obj/structure/machinery/firealarm{
- pixel_y = 28
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"gll" = (
/obj/structure/machinery/power/apc/almayer{
dir = 1
@@ -30454,12 +30227,6 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/port)
-"gmZ" = (
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"gnu" = (
/obj/structure/surface/table/almayer,
/obj/item/facepaint/green,
@@ -30477,6 +30244,13 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/repair_bay)
+"gnK" = (
+/obj/structure/pipes/standard/manifold/hidden/supply,
+/obj/structure/disposalpipe/junction{
+ dir = 8
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"gnM" = (
/obj/structure/surface/rack,
/obj/item/frame/table,
@@ -30577,6 +30351,17 @@
icon_state = "test_floor4"
},
/area/almayer/hallways/hangar)
+"gpp" = (
+/obj/item/device/radio/intercom{
+ freerange = 1;
+ name = "General Listening Channel";
+ pixel_y = 28
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"gpI" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/simple/hidden/supply,
@@ -30588,25 +30373,71 @@
"gpO" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/lower/s_bow)
+"gpT" = (
+/obj/structure/sign/safety/maint{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
+"gpW" = (
+/obj/structure/surface/table/reinforced/almayer_B{
+ indestructible = 1;
+ unacidable = 1;
+ unslashable = 1
+ },
+/obj/structure/machinery/computer/secure_data{
+ dir = 4
+ },
+/obj/structure/machinery/door_control{
+ id = "ARES ReceptStairs1";
+ name = "ARES Reception Shutters";
+ pixel_y = 24;
+ req_one_access_txt = "91;92"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"gpY" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/lifeboat_pumps/north1)
-"gqf" = (
-/obj/structure/pipes/standard/manifold/hidden/supply,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/stern_hallway)
"gqt" = (
/obj/structure/sign/safety/storage{
pixel_x = -17
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/u_a_s)
-"gqv" = (
+"gqx" = (
+/obj/structure/machinery/light/small{
+ dir = 1
+ },
/turf/open/floor/almayer{
- dir = 5;
- icon_state = "silver"
+ icon_state = "plate"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/maint/upper/u_a_s)
+"gqz" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 1
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/midship_hallway)
+"gqH" = (
+/turf/open/floor/almayer{
+ dir = 10;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
+"gqI" = (
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "orange"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"gqP" = (
/obj/structure/largecrate/random/case,
/obj/structure/machinery/camera/autoname/almayer{
@@ -30637,6 +30468,12 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_p)
+"gre" = (
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "greencorner"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"grv" = (
/obj/effect/decal/warning_stripes{
icon_state = "NW-out";
@@ -30761,6 +30598,12 @@
icon_state = "red"
},
/area/almayer/hallways/upper/port)
+"gsJ" = (
+/turf/open/floor/almayer{
+ dir = 6;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"gsM" = (
/obj/structure/machinery/portable_atmospherics/powered/pump,
/turf/open/floor/almayer{
@@ -30779,6 +30622,16 @@
},
/turf/open/floor/wood/ship,
/area/almayer/living/basketball)
+"gtg" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out";
+ pixel_y = 1
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/starboard)
"gtp" = (
/obj/structure/pipes/standard/manifold/hidden/supply,
/obj/structure/disposalpipe/junction{
@@ -30802,6 +30655,11 @@
icon_state = "test_floor4"
},
/area/almayer/hallways/lower/starboard_aft_hallway)
+"gtI" = (
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_s)
"gtQ" = (
/obj/effect/decal/warning_stripes{
icon_state = "SE-out";
@@ -30831,16 +30689,6 @@
icon_state = "redfull"
},
/area/almayer/lifeboat_pumps/south2)
-"gur" = (
-/obj/item/tool/mop{
- pixel_x = -6;
- pixel_y = 24
- },
-/obj/item/reagent_container/glass/bucket,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_s)
"guK" = (
/obj/effect/projector{
name = "Almayer_Up3";
@@ -30849,6 +30697,12 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/port_fore_hallway)
+"guP" = (
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "orangecorner"
+ },
+/area/almayer/maint/upper/u_a_s)
"guS" = (
/obj/structure/reagent_dispensers/fueltank/custom,
/turf/open/floor/almayer{
@@ -30883,6 +30737,12 @@
icon_state = "silver"
},
/area/almayer/command/cic)
+"gvu" = (
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"gvK" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer,
@@ -30897,6 +30757,15 @@
icon_state = "green"
},
/area/almayer/squads/req)
+"gwh" = (
+/obj/structure/machinery/firealarm{
+ pixel_y = 28
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"gwj" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 8
@@ -30973,6 +30842,17 @@
icon_state = "plate"
},
/area/almayer/shipboard/starboard_point_defense)
+"gxk" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/closet/secure_closet/guncabinet,
+/obj/item/weapon/gun/rifle/l42a,
+/obj/item/weapon/gun/rifle/l42a{
+ pixel_y = 6
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"gxm" = (
/turf/closed/wall/almayer/outer,
/area/almayer/maint/hull/upper/stairs)
@@ -31011,12 +30891,6 @@
dir = 8
},
/area/almayer/medical/containment/cell)
-"gxR" = (
-/obj/structure/pipes/standard/manifold/hidden/supply{
- dir = 1
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/stern_hallway)
"gxU" = (
/obj/structure/surface/table/almayer,
/obj/item/toy/deck,
@@ -31025,16 +30899,18 @@
icon_state = "silver"
},
/area/almayer/shipboard/brig/cic_hallway)
-"gyb" = (
-/obj/structure/sign/safety/medical{
- pixel_x = 8;
- pixel_y = 32
+"gyh" = (
+/obj/structure/machinery/cm_vending/gear/executive_officer{
+ density = 0;
+ pixel_y = 30
+ },
+/obj/structure/machinery/power/apc/almayer{
+ dir = 4
},
/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
+ icon_state = "plate"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/living/numbertwobunks)
"gym" = (
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/mp_bunks)
@@ -31172,16 +31048,6 @@
icon_state = "green"
},
/area/almayer/living/grunt_rnr)
-"gAe" = (
-/obj/structure/machinery/door_control{
- id = "ARES JoeCryo";
- name = "Working Joe Cryogenics Lockdown";
- pixel_x = 24;
- pixel_y = 8;
- req_one_access_txt = "91;92"
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"gAj" = (
/obj/structure/bed/chair/comfy/charlie{
dir = 1
@@ -31215,6 +31081,25 @@
"gAA" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/alpha_bravo_shared)
+"gAO" = (
+/obj/structure/surface/rack,
+/obj/item/tool/weldpack,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_p)
+"gAP" = (
+/obj/item/device/radio/intercom{
+ freerange = 1;
+ name = "General Listening Channel";
+ pixel_y = 28
+ },
+/obj/structure/closet,
+/obj/item/clothing/head/bearpelt,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/living/port_emb)
"gAS" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
@@ -31242,12 +31127,6 @@
},
/turf/open/floor/almayer,
/area/almayer/maint/hull/upper/u_f_p)
-"gBg" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/stern_hallway)
"gBo" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 5
@@ -31278,12 +31157,6 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/south1)
-"gBZ" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "redfull"
- },
-/area/almayer/hallways/upper/stern_hallway)
"gCf" = (
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/almayer{
@@ -31326,12 +31199,27 @@
icon_state = "plate"
},
/area/almayer/living/bridgebunks)
-"gCQ" = (
-/obj/structure/machinery/portable_atmospherics/canister/air,
+"gDh" = (
+/obj/structure/machinery/door/airlock/almayer/secure/reinforced{
+ access_modified = 1;
+ name = "\improper Security Vault";
+ req_access = null;
+ req_one_access_txt = "91;92";
+ dir = 1
+ },
+/turf/open/floor/almayer/no_build{
+ icon_state = "test_floor4"
+ },
+/area/almayer/command/airoom)
+"gDk" = (
+/obj/structure/sign/safety/stairs{
+ pixel_x = -15
+ },
/turf/open/floor/almayer{
- icon_state = "cargo"
+ dir = 8;
+ icon_state = "green"
},
-/area/almayer/maint/hull/upper/u_a_s)
+/area/almayer/hallways/upper/fore_hallway)
"gDp" = (
/obj/structure/machinery/light{
dir = 4
@@ -31361,11 +31249,6 @@
},
/turf/open/floor/almayer,
/area/almayer/engineering/lower/engine_core)
-"gDQ" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
"gDW" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -31429,24 +31312,6 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/south1)
-"gFL" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 6
- },
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
-"gFN" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/turf/open/floor/almayer{
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"gFP" = (
/turf/closed/wall/almayer/outer,
/area/almayer/shipboard/stern_point_defense)
@@ -31579,17 +31444,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/processing)
-"gHX" = (
-/obj/effect/projector{
- name = "Almayer_Down2";
- vector_x = 1;
- vector_y = -100
- },
-/turf/open/floor/almayer{
- allow_construction = 0;
- icon_state = "plate"
- },
-/area/almayer/hallways/upper/aft_hallway)
"gHZ" = (
/turf/open/floor/almayer{
icon_state = "test_floor4"
@@ -31639,13 +31493,6 @@
icon_state = "test_floor4"
},
/area/almayer/engineering/upper_engineering/port)
-"gIN" = (
-/obj/structure/pipes/standard/manifold/hidden/supply,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"gIO" = (
/obj/structure/bed/chair/bolted{
dir = 8
@@ -31676,6 +31523,12 @@
},
/turf/open/floor/almayer,
/area/almayer/maint/hull/upper/u_f_s)
+"gJg" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"gJp" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/computer/emails{
@@ -31685,6 +31538,15 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/repair_bay)
+"gJC" = (
+/obj/structure/sign/safety/maint{
+ pixel_x = -17
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"gJE" = (
/obj/structure/machinery/door_control{
id = "Interrogation Shutters";
@@ -31724,20 +31586,6 @@
icon_state = "green"
},
/area/almayer/living/offices)
-"gJY" = (
-/obj/structure/surface/table/almayer,
-/obj/item/circuitboard{
- pixel_x = 12;
- pixel_y = 7
- },
-/obj/item/tool/crowbar{
- pixel_x = 6;
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_p)
"gKd" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -31824,6 +31672,9 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/medical/hydroponics)
+"gLl" = (
+/turf/closed/wall/almayer,
+/area/almayer/maint/upper/u_f_s)
"gLm" = (
/obj/structure/largecrate/random/barrel/red,
/turf/open/floor/almayer{
@@ -31911,10 +31762,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/starboard_fore_hallway)
-"gMJ" = (
-/obj/structure/largecrate/supply/weapons/pistols,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_m_s)
"gMN" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -32007,6 +31854,11 @@
icon_state = "plating"
},
/area/almayer/hallways/lower/vehiclehangar)
+"gNI" = (
+/turf/open/floor/almayer{
+ icon_state = "orange"
+ },
+/area/almayer/maint/upper/u_a_s)
"gNN" = (
/obj/structure/bed/chair/office/dark,
/turf/open/floor/plating/plating_catwalk,
@@ -32020,49 +31872,31 @@
icon_state = "orange"
},
/area/almayer/engineering/lower)
-"gNQ" = (
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_s)
"gNZ" = (
/obj/structure/machinery/light/small{
dir = 1
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/p_bow)
+"gOa" = (
+/obj/effect/step_trigger/clone_cleaner,
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out"
+ },
+/obj/structure/sign/safety/stairs{
+ pixel_x = -17
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"gOk" = (
/obj/structure/largecrate/guns/merc{
name = "\improper dodgy crate"
},
/turf/open/floor/plating,
/area/almayer/maint/lower/constr)
-"gOs" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 1
- },
-/obj/structure/machinery/door_control{
- id = "ARES Interior";
- indestructible = 1;
- name = "ARES Chamber Lockdown";
- pixel_x = 24;
- pixel_y = 8;
- req_one_access_txt = "90;91;92"
- },
-/obj/structure/machinery/door/poddoor/railing{
- closed_layer = 4;
- density = 0;
- id = "ARES Railing";
- layer = 2.1;
- open_layer = 2.1;
- unacidable = 0;
- unslashable = 0
- },
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_silver";
- dir = 4
- },
-/area/almayer/command/airoom)
"gOC" = (
/obj/structure/machinery/recharge_station,
/turf/open/floor/almayer{
@@ -32092,17 +31926,16 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/starboard)
-"gPr" = (
-/obj/effect/step_trigger/teleporter_vector{
- name = "Almayer_AresUp";
- vector_x = -97;
- vector_y = 65
+"gPA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
},
-/obj/structure/stairs{
- dir = 1
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "silver"
},
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
+/area/almayer/hallways/upper/midship_hallway)
"gPS" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -32288,20 +32121,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/p_bow)
-"gTV" = (
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
-/obj/structure/sign/safety/autoopenclose{
- pixel_x = 7;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"gUf" = (
/obj/structure/machinery/portable_atmospherics/hydroponics,
/turf/open/floor/almayer{
@@ -32321,13 +32140,6 @@
/obj/structure/machinery/power/apc/almayer,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/lower/s_bow)
-"gUk" = (
-/obj/structure/pipes/standard/manifold/hidden/supply,
-/obj/structure/disposalpipe/junction{
- dir = 8
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"gUn" = (
/obj/structure/largecrate/random/barrel/red,
/turf/open/floor/plating/plating_catwalk,
@@ -32365,15 +32177,6 @@
},
/turf/open/floor/almayer,
/area/almayer/living/bridgebunks)
-"gUN" = (
-/obj/structure/pipes/standard/simple/hidden/supply/no_boom{
- dir = 4
- },
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_arrow";
- dir = 4
- },
-/area/almayer/command/airoom)
"gUS" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -32434,6 +32237,20 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/lifeboat_pumps/south1)
+"gVW" = (
+/obj/structure/sign/safety/distribution_pipes{
+ pixel_x = 32;
+ pixel_y = 6
+ },
+/obj/structure/sign/safety/reduction{
+ pixel_x = 32;
+ pixel_y = -8
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/port)
"gWm" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 4
@@ -32563,6 +32380,17 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_medbay)
+"gYp" = (
+/obj/structure/machinery/light,
+/obj/effect/decal/warning_stripes{
+ icon_state = "W";
+ pixel_x = -1
+ },
+/turf/open/floor/almayer{
+ dir = 10;
+ icon_state = "silver"
+ },
+/area/almayer/maint/upper/u_m_p)
"gYt" = (
/obj/structure/surface/table/almayer,
/obj/item/paper_bin/uscm,
@@ -32674,13 +32502,6 @@
icon_state = "orange"
},
/area/almayer/engineering/lower)
-"haM" = (
-/obj/effect/decal/cleanable/blood/oil,
-/obj/structure/machinery/constructable_frame,
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/lifeboat_pumps/south2)
"haO" = (
/turf/open/floor/almayer{
icon_state = "plate"
@@ -32874,6 +32695,12 @@
icon_state = "green"
},
/area/almayer/squads/req)
+"hdP" = (
+/turf/open/floor/almayer{
+ dir = 10;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"hdQ" = (
/obj/structure/closet/secure_closet{
name = "\improper Execution Firearms"
@@ -32972,15 +32799,14 @@
},
/turf/open/floor/almayer,
/area/almayer/engineering/lower/engine_core)
-"hfc" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
+"hft" = (
+/obj/structure/pipes/standard/manifold/hidden/supply,
+/obj/structure/disposalpipe/segment{
dir = 8;
- icon_state = "red"
+ icon_state = "pipe-c"
},
-/area/almayer/hallways/upper/stern_hallway)
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/aft_hallway)
"hfv" = (
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/almayer{
@@ -33051,18 +32877,6 @@
icon_state = "red"
},
/area/almayer/hallways/lower/starboard_midship_hallway)
-"hgA" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"hgB" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/computer/intel,
@@ -33096,17 +32910,6 @@
icon_state = "green"
},
/area/almayer/living/grunt_rnr)
-"hgO" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/prop/almayer/computer/PC{
- dir = 4
- },
-/obj/item/tool/stamp/approved{
- pixel_y = -11;
- pixel_x = -3
- },
-/turf/open/floor/almayer,
-/area/almayer/squads/req)
"hgZ" = (
/obj/structure/machinery/door_control{
dir = 1;
@@ -33207,12 +33010,6 @@
icon_state = "greencorner"
},
/area/almayer/hallways/lower/starboard_midship_hallway)
-"hja" = (
-/obj/structure/machinery/light/small,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"hji" = (
/obj/structure/bed/chair{
dir = 4
@@ -33362,8 +33159,21 @@
pixel_x = -1;
pixel_y = 3
},
+/obj/item/reagent_container/spray/cleaner{
+ layer = 3.04;
+ pixel_x = 5;
+ pixel_y = 22
+ },
/turf/open/floor/wood/ship,
/area/almayer/living/commandbunks)
+"hlj" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"hlH" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/effect/decal/warning_stripes{
@@ -33377,15 +33187,19 @@
"hlI" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/recharger,
-/obj/structure/sign/safety/terminal{
- pixel_y = 32
- },
/obj/structure/transmitter/rotary{
name = "Brig Wardens's Office Telephone";
phone_category = "MP Dept.";
phone_id = "Brig Warden's Office";
pixel_x = 15
},
+/obj/structure/sign/safety/terminal{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/obj/structure/machinery/light{
+ dir = 1
+ },
/turf/open/floor/almayer{
dir = 9;
icon_state = "red"
@@ -33481,16 +33295,6 @@
"hmA" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/maint/hull/upper/p_bow)
-"hmB" = (
-/obj/structure/sign/safety/escapepod{
- pixel_y = -32
- },
-/obj/structure/sign/safety/south{
- pixel_x = 15;
- pixel_y = -32
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"hmC" = (
/obj/structure/machinery/cm_vending/sorted/marine_food{
density = 0;
@@ -33627,15 +33431,6 @@
icon_state = "mono"
},
/area/almayer/hallways/lower/vehiclehangar)
-"hog" = (
-/obj/structure/machinery/light/small,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_p)
"hoK" = (
/turf/open/floor/almayer{
dir = 8;
@@ -33736,15 +33531,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_p)
-"hqx" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/stern_hallway)
"hqW" = (
/obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{
name = "\improper Medical Bay";
@@ -33803,16 +33589,6 @@
"hrI" = (
/turf/open/floor/almayer,
/area/almayer/maint/hull/upper/u_f_p)
-"hrJ" = (
-/obj/structure/sign/safety/autodoc{
- pixel_x = 20;
- pixel_y = -32
- },
-/obj/structure/machinery/cm_vending/sorted/medical/bolted,
-/turf/open/floor/almayer{
- icon_state = "sterile_green_side"
- },
-/area/almayer/medical/lower_medical_medbay)
"hsc" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/light{
@@ -33926,6 +33702,15 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/hallways/lower/starboard_fore_hallway)
+"hto" = (
+/obj/structure/largecrate/random/barrel/red,
+/obj/structure/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_s)
"htq" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -33935,16 +33720,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_f_p)
-"htF" = (
-/obj/structure/sign/safety/escapepod{
- pixel_y = 32
- },
-/obj/structure/sign/safety/north{
- pixel_x = 15;
- pixel_y = 32
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"htG" = (
/obj/item/tool/soap,
/obj/structure/machinery/light/small{
@@ -33973,20 +33748,6 @@
icon_state = "greenfull"
},
/area/almayer/living/offices)
-"hux" = (
-/obj/structure/machinery/camera/autoname/almayer{
- dir = 8;
- name = "ship-grade camera"
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out";
- pixel_x = 1
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/aft_hallway)
"huD" = (
/obj/structure/machinery/light{
dir = 1
@@ -34032,15 +33793,6 @@
"hvd" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/shipboard/brig/interrogation)
-"hvq" = (
-/obj/structure/bed/chair{
- dir = 8;
- pixel_y = 3
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_s)
"hvv" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/manifold/hidden/supply{
@@ -34090,6 +33842,15 @@
"hvH" = (
/turf/open/floor/wood/ship,
/area/almayer/living/commandbunks)
+"hwB" = (
+/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
+ pixel_y = 25
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"hwC" = (
/obj/structure/flora/pottedplant{
icon_state = "pottedplant_22";
@@ -34196,6 +33957,16 @@
"hyQ" = (
/turf/closed/wall/almayer,
/area/almayer/living/synthcloset)
+"hyT" = (
+/obj/structure/sign/safety/escapepod{
+ pixel_y = 32
+ },
+/obj/structure/sign/safety/north{
+ pixel_x = 15;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"hyV" = (
/obj/structure/machinery/power/apc/almayer{
dir = 4
@@ -34231,16 +34002,6 @@
/obj/effect/decal/cleanable/blood/oil,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/req)
-"hzl" = (
-/obj/structure/surface/table/almayer,
-/obj/item/reagent_container/food/snacks/mre_pack/meal5,
-/obj/item/device/flashlight/lamp{
- pixel_x = 3;
- pixel_y = 12
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/upper/u_m_s)
"hzs" = (
/obj/structure/bed,
/obj/item/bedsheet/medical,
@@ -34267,24 +34028,6 @@
},
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/starboard_hallway)
-"hzL" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/machinery/door/poddoor/almayer/open{
- dir = 4;
- id = "CIC Lockdown";
- name = "\improper Combat Information Center Blast Door"
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/machinery/door/airlock/almayer/command/reinforced{
- name = "\improper Combat Information Center";
- closeOtherId = "ciclobby_s"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/command/cic)
"hzN" = (
/obj/structure/largecrate/random/case/double,
/turf/open/floor/plating/plating_catwalk,
@@ -34362,14 +34105,6 @@
icon_state = "blue"
},
/area/almayer/squads/delta)
-"hBa" = (
-/obj/item/device/radio/intercom{
- freerange = 1;
- name = "General Listening Channel";
- pixel_y = 28
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/stern_hallway)
"hBc" = (
/obj/structure/pipes/vents/scrubber{
dir = 4
@@ -34393,15 +34128,6 @@
icon_state = "plating"
},
/area/almayer/hallways/lower/vehiclehangar)
-"hBy" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/junction{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
"hBz" = (
/obj/item/mortar_kit,
/turf/open/floor/almayer{
@@ -34469,12 +34195,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"hCF" = (
-/obj/structure/machinery/light,
-/turf/open/floor/almayer{
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"hCS" = (
/obj/structure/surface/table/reinforced/prison,
/obj/item/paper_bin/uscm{
@@ -34570,12 +34290,6 @@
icon_state = "greencorner"
},
/area/almayer/hallways/lower/port_fore_hallway)
-"hEj" = (
-/obj/structure/machinery/vending/hydronutrients,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"hEl" = (
/obj/structure/machinery/alarm/almayer{
dir = 1
@@ -34642,13 +34356,13 @@
icon_state = "test_floor4"
},
/area/almayer/medical/morgue)
-"hGo" = (
-/obj/structure/machinery/alarm/almayer{
- dir = 1
+"hGb" = (
+/obj/structure/machinery/camera/autoname/almayer{
+ name = "ship-grade camera"
},
/turf/open/floor/almayer{
- dir = 1;
- icon_state = "green"
+ dir = 4;
+ icon_state = "orangecorner"
},
/area/almayer/hallways/upper/aft_hallway)
"hGG" = (
@@ -34825,18 +34539,6 @@
icon_state = "mono"
},
/area/almayer/medical/hydroponics)
-"hKJ" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"hKO" = (
/obj/structure/largecrate/random/barrel/green,
/obj/structure/sign/safety/maint{
@@ -34847,17 +34549,27 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_f_s)
-"hLt" = (
-/obj/structure/sign/poster{
- desc = "It says DRUG.";
- icon_state = "poster2";
- pixel_y = 30
+"hLr" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
},
-/obj/structure/pipes/standard/simple/hidden/supply{
+/obj/effect/decal/warning_stripes{
+ icon_state = "W";
+ pixel_x = -1
+ },
+/obj/structure/machinery/door/airlock/almayer/research/reinforced{
+ closeOtherId = "containment_s";
+ dir = 8;
+ name = "\improper Containment Airlock"
+ },
+/obj/structure/machinery/door/poddoor/almayer/biohazard/white{
dir = 4
},
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_p)
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/medical/containment)
"hLu" = (
/obj/structure/sign/safety/hvac_old{
pixel_x = 8;
@@ -34978,6 +34690,18 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/chief_mp_office)
+"hOd" = (
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/fore_hallway)
+"hOn" = (
+/turf/open/floor/almayer{
+ dir = 9;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"hOu" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -35016,15 +34740,6 @@
icon_state = "silver"
},
/area/almayer/living/auxiliary_officer_office)
-"hPr" = (
-/obj/structure/machinery/status_display{
- pixel_y = -30
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"hPu" = (
/obj/structure/largecrate/supply,
/obj/item/tool/crowbar,
@@ -35044,6 +34759,12 @@
"hPI" = (
/turf/closed/wall/almayer/outer,
/area/almayer/shipboard/brig/perma)
+"hPL" = (
+/obj/structure/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_m_p)
"hPN" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/effect/decal/warning_stripes{
@@ -35056,6 +34777,16 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/hydroponics)
+"hPZ" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 10
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"hQc" = (
/obj/structure/window/reinforced{
dir = 4;
@@ -35134,21 +34865,6 @@
icon_state = "mono"
},
/area/almayer/medical/medical_science)
-"hRc" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 2
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NW-out"
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out";
- layer = 2.5
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/port)
"hRd" = (
/obj/structure/machinery/vending/coffee,
/turf/open/floor/almayer{
@@ -35209,20 +34925,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_f_p)
-"hSj" = (
-/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{
- dir = 1;
- name = "\improper Brig";
- closeOtherId = "brigmaint_n"
- },
-/obj/structure/machinery/door/poddoor/almayer/open{
- id = "Brig Lockdown Shutters";
- name = "\improper Brig Lockdown Shutter"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/maint/hull/upper/s_bow)
"hSk" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/upper_engineering/port)
@@ -35381,6 +35083,17 @@
icon_state = "orange"
},
/area/almayer/engineering/lower/engine_core)
+"hUu" = (
+/obj/item/device/radio/intercom{
+ freerange = 1;
+ name = "General Listening Channel";
+ pixel_y = 28
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"hUz" = (
/obj/structure/largecrate/supply/supplies/mre{
desc = "A supply crate containing everything you need to stop a CLF uprising.";
@@ -35454,6 +35167,15 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_f_p)
+"hWa" = (
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 1
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/fore_hallway)
"hWq" = (
/obj/structure/platform{
layer = 3.1
@@ -35530,6 +35252,10 @@
icon_state = "red"
},
/area/almayer/shipboard/weapon_room)
+"hWM" = (
+/obj/structure/surface/rack,
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"hWO" = (
/obj/structure/pipes/vents/scrubber,
/turf/open/floor/almayer{
@@ -35537,12 +35263,16 @@
icon_state = "blue"
},
/area/almayer/command/cichallway)
-"hWV" = (
+"hWP" = (
/obj/effect/step_trigger/clone_cleaner,
-/turf/open/floor/plating/almayer{
- allow_construction = 0
+/obj/structure/platform_decoration{
+ dir = 1
},
-/area/almayer/hallways/upper/aft_hallway)
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 8;
+ icon_state = "ai_silver"
+ },
+/area/almayer/command/airoom)
"hXb" = (
/turf/open/floor/almayer{
dir = 1;
@@ -35598,15 +35328,6 @@
icon_state = "dark_sterile"
},
/area/almayer/engineering/upper_engineering/port)
-"hXV" = (
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "red"
- },
-/area/almayer/lifeboat_pumps/south1)
"hXX" = (
/obj/effect/projector{
name = "Almayer_Down4";
@@ -35630,6 +35351,12 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_s)
+"hYj" = (
+/obj/structure/machinery/light/small,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_p)
"hYn" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -35776,6 +35503,15 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/lower_medical_lobby)
+"iaO" = (
+/obj/structure/sign/safety/maint{
+ pixel_x = 32
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/port)
"iaR" = (
/obj/structure/machinery/light{
dir = 4
@@ -35838,6 +35574,18 @@
},
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/cells)
+"icQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"icZ" = (
/obj/structure/closet/secure_closet/brig,
/turf/open/floor/almayer{
@@ -35875,12 +35623,6 @@
icon_state = "kitchen"
},
/area/almayer/living/grunt_rnr)
-"iea" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/stern_hallway)
"ied" = (
/obj/structure/machinery/power/apc/almayer{
dir = 1
@@ -35953,18 +35695,6 @@
icon_state = "sterile_green_corner"
},
/area/almayer/medical/lower_medical_lobby)
-"ieF" = (
-/obj/effect/projector{
- name = "Almayer_AresUp";
- vector_x = -97;
- vector_y = 65
- },
-/obj/structure/stairs{
- dir = 1;
- icon_state = "ramptop"
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"ieX" = (
/obj/structure/surface/table/almayer,
/obj/structure/sign/safety/distribution_pipes{
@@ -36033,6 +35763,13 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_m_s)
+"igC" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/aft_hallway)
"igS" = (
/obj/effect/decal/warning_stripes{
icon_state = "SE-out"
@@ -36057,7 +35794,7 @@
},
/area/almayer/maint/lower/constr)
"ihw" = (
-/obj/structure/machinery/cm_vending/sorted/medical,
+/obj/structure/machinery/cm_vending/sorted/medical/blood,
/turf/open/floor/almayer{
dir = 1;
icon_state = "sterile_green_corner"
@@ -36105,23 +35842,6 @@
icon_state = "test_floor4"
},
/area/almayer/squads/bravo)
-"iis" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 1
- },
-/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{
- dir = 1;
- name = "\improper Brig Prison Yard And Offices";
- closeOtherId = "brigcells"
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 2
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/shipboard/brig/processing)
"iit" = (
/obj/effect/decal/warning_stripes{
icon_state = "W";
@@ -36140,12 +35860,38 @@
icon_state = "mono"
},
/area/almayer/medical/hydroponics)
+"iiU" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 10
+ },
+/obj/structure/sign/safety/restrictedarea{
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"iiZ" = (
/obj/structure/machinery/cm_vending/sorted/marine_food,
/turf/open/floor/almayer{
icon_state = "bluefull"
},
/area/almayer/command/cichallway)
+"ijd" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"ijf" = (
/obj/structure/surface/table/almayer,
/obj/item/cell/crap,
@@ -36155,14 +35901,6 @@
icon_state = "plate"
},
/area/almayer/engineering/lower/workshop)
-"ijn" = (
-/obj/structure/disposalpipe/junction{
- dir = 4;
- icon_state = "pipe-j2"
- },
-/obj/structure/pipes/standard/manifold/hidden/supply,
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"ijr" = (
/obj/structure/pipes/vents/scrubber{
dir = 4
@@ -36184,7 +35922,7 @@
},
/obj/structure/transmitter/rotary{
name = "Senior Enlisted Advisor Office Telephone";
- phone_category = "Almayer";
+ phone_category = "Offices";
phone_id = "Senior Enlisted Advisor's Office";
pixel_x = -3
},
@@ -36221,13 +35959,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/s_bow)
-"ikC" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_s)
"ikQ" = (
/obj/structure/surface/table/woodentable/fancy,
/obj/item/tool/stamp/hop{
@@ -36283,6 +36014,12 @@
},
/turf/open/floor/almayer,
/area/almayer/lifeboat_pumps/south1)
+"iml" = (
+/obj/structure/pipes/vents/pump,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"imo" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer{
@@ -36307,6 +36044,28 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/living/offices/flight)
+"imS" = (
+/obj/effect/step_trigger/clone_cleaner,
+/obj/structure/machinery/door/poddoor/shutters/almayer{
+ id = "ARES StairsUpper";
+ name = "\improper ARES Core Shutters";
+ plane = -7
+ },
+/obj/structure/machinery/door/poddoor/almayer/blended/open{
+ id = "ARES Emergency";
+ name = "ARES Emergency Lockdown";
+ open_layer = 1.9;
+ plane = -7
+ },
+/obj/structure/disposalpipe/up/almayer{
+ id = "ares_vault_in";
+ name = "aicore";
+ dir = 2
+ },
+/turf/open/floor/almayer/no_build{
+ icon_state = "test_floor4"
+ },
+/area/almayer/command/airoom)
"inh" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 8
@@ -36340,6 +36099,16 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/medical_science)
+"ios" = (
+/obj/structure/surface/table/reinforced/almayer_B,
+/obj/item/paper_bin/uscm{
+ pixel_y = 6
+ },
+/obj/item/tool/pen,
+/turf/open/floor/almayer/no_build{
+ icon_state = "plating"
+ },
+/area/almayer/command/airoom)
"iow" = (
/obj/structure/machinery/cm_vending/sorted/attachments/squad{
req_access = null;
@@ -36416,16 +36185,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_m_s)
-"ipr" = (
-/obj/item/tool/weldpack{
- pixel_y = 15
- },
-/obj/structure/surface/table/almayer,
-/obj/item/clothing/head/welding,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_s)
"ipB" = (
/obj/structure/surface/rack,
/obj/item/tool/kitchen/rollingpin,
@@ -36513,6 +36272,18 @@
icon_state = "cargo"
},
/area/almayer/shipboard/brig/cryo)
+"irr" = (
+/obj/structure/stairs{
+ dir = 1;
+ icon_state = "ramptop"
+ },
+/obj/effect/projector{
+ name = "Almayer_AresUp2";
+ vector_x = -102;
+ vector_y = 61
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"iry" = (
/obj/structure/platform{
dir = 8
@@ -36565,6 +36336,12 @@
icon_state = "orange"
},
/area/almayer/engineering/lower/workshop)
+"iso" = (
+/turf/open/floor/almayer{
+ dir = 9;
+ icon_state = "orange"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"isq" = (
/obj/structure/machinery/light/small{
dir = 1
@@ -36574,18 +36351,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_m_p)
-"isC" = (
-/obj/effect/projector{
- name = "Almayer_AresDown";
- vector_x = 97;
- vector_y = -65
- },
-/obj/structure/stairs{
- dir = 1;
- icon_state = "ramptop"
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"isI" = (
/obj/structure/sign/nosmoking_2{
pixel_x = 32
@@ -36608,32 +36373,11 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/morgue)
-"itf" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 1
- },
-/obj/structure/machinery/door_control{
- id = "ARES Interior";
- indestructible = 1;
- name = "ARES Chamber Lockdown";
- pixel_x = -24;
- pixel_y = 8;
- req_one_access_txt = "90;91;92"
- },
-/obj/structure/machinery/door/poddoor/railing{
- closed_layer = 4;
- density = 0;
- id = "ARES Railing";
- layer = 2.1;
- open_layer = 2.1;
- unacidable = 0;
- unslashable = 0
- },
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_silver";
- dir = 8
+"itg" = (
+/obj/structure/pipes/standard/simple/hidden/supply/no_boom{
+ dir = 4
},
+/turf/open/floor/almayer/aicore/no_build,
/area/almayer/command/airoom)
"ito" = (
/obj/effect/decal/warning_stripes{
@@ -36776,12 +36520,6 @@
icon_state = "plate"
},
/area/almayer/engineering/lower)
-"ivV" = (
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"iwf" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 10
@@ -36932,16 +36670,6 @@
icon_state = "orange"
},
/area/almayer/engineering/lower)
-"iyH" = (
-/obj/structure/surface/table/reinforced/almayer_B{
- climbable = 0;
- desc = "A square metal surface resting on its fat metal bottom. You can't flip something that doesn't have legs. This one has a metal rail running above it, preventing something large passing over. Like you.";
- indestructible = 1;
- unacidable = 1;
- unslashable = 1
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"iyS" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -36954,6 +36682,14 @@
icon_state = "blue"
},
/area/almayer/squads/delta)
+"izf" = (
+/obj/structure/disposalpipe/down/almayer{
+ dir = 4;
+ id = "ares_vault_in";
+ name = "aicore"
+ },
+/turf/closed/wall/almayer/aicore/hull,
+/area/almayer/command/airoom)
"izk" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -37020,6 +36756,12 @@
icon_state = "plate"
},
/area/almayer/engineering/lower/engine_core)
+"iAI" = (
+/obj/structure/machinery/portable_atmospherics/hydroponics,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"iBl" = (
/obj/structure/machinery/power/apc/almayer{
dir = 4
@@ -37030,6 +36772,9 @@
},
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/cells)
+"iBn" = (
+/turf/closed/wall/almayer/aicore/white/hull,
+/area/space)
"iBu" = (
/obj/structure/sign/safety/storage{
pixel_x = -17
@@ -37045,6 +36790,12 @@
icon_state = "silver"
},
/area/almayer/command/cichallway)
+"iCg" = (
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "silvercorner"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"iCu" = (
/obj/structure/machinery/door/poddoor/almayer/open{
dir = 4;
@@ -37085,6 +36836,22 @@
icon_state = "green"
},
/area/almayer/living/offices)
+"iCT" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 1
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
+"iDa" = (
+/obj/structure/largecrate/supply/supplies/tables_racks,
+/turf/open/floor/almayer{
+ dir = 10;
+ icon_state = "red"
+ },
+/area/almayer/maint/upper/u_a_p)
"iDk" = (
/obj/structure/closet/emcloset,
/turf/open/floor/almayer{
@@ -37097,6 +36864,12 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_s)
+"iDK" = (
+/obj/structure/blocker/fuelpump,
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/lifeboat_pumps/north2)
"iEa" = (
/obj/structure/machinery/light/small,
/turf/open/floor/almayer{
@@ -37270,12 +37043,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/operating_room_four)
-"iGE" = (
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/aft_hallway)
"iGQ" = (
/obj/structure/machinery/landinglight/ds2/delayone{
dir = 8
@@ -37287,15 +37054,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"iGZ" = (
-/obj/structure/machinery/alarm/almayer{
- dir = 1
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"iHc" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/upper_engineering/notunnel)
@@ -37307,6 +37065,14 @@
icon_state = "cargo"
},
/area/almayer/shipboard/brig/cells)
+"iIb" = (
+/obj/structure/machinery/cryopod{
+ pixel_y = 6
+ },
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/maint/upper/u_m_p)
"iIj" = (
/obj/structure/stairs/perspective{
dir = 8;
@@ -37328,20 +37094,6 @@
icon_state = "kitchen"
},
/area/almayer/living/grunt_rnr)
-"iIH" = (
-/obj/structure/largecrate/supply/medicine/medivend{
- pixel_x = 3
- },
-/obj/structure/largecrate/random/mini/med{
- pixel_x = 3;
- pixel_y = 11;
- density = 1
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "sterile_green_side"
- },
-/area/almayer/medical/lower_medical_medbay)
"iIP" = (
/obj/structure/toilet{
pixel_y = 16
@@ -37356,15 +37108,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/port_emb)
-"iIQ" = (
-/obj/structure/machinery/camera/autoname/almayer{
- name = "ship-grade camera"
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/stern_hallway)
"iIR" = (
/obj/structure/surface/table/almayer,
/obj/item/trash/USCMtray{
@@ -37376,6 +37119,13 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/bravo)
+"iIU" = (
+/obj/structure/largecrate/random/barrel/red,
+/obj/structure/machinery/light/small,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"iJB" = (
/obj/structure/sign/safety/galley{
pixel_x = 8;
@@ -37432,6 +37182,12 @@
icon_state = "cargo"
},
/area/almayer/squads/alpha)
+"iKy" = (
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"iKD" = (
/obj/structure/surface/table/almayer,
/obj/item/clipboard,
@@ -37541,6 +37297,12 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/processing)
+"iLL" = (
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"iLO" = (
/turf/open/floor/almayer{
dir = 4;
@@ -37565,11 +37327,18 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/south2)
+"iMD" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out"
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"iMI" = (
-/obj/structure/machinery/cm_vending/sorted/medical/blood,
/obj/structure/machinery/camera/autoname/almayer{
name = "ship-grade camera"
},
+/obj/structure/machinery/cm_vending/sorted/medical,
+/obj/structure/medical_supply_link,
/turf/open/floor/almayer{
dir = 1;
icon_state = "sterile_green_side"
@@ -37637,12 +37406,6 @@
},
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/cells)
-"iOP" = (
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/stern_hallway)
"iOX" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -37694,18 +37457,6 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/south1)
-"iPK" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 9
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"iPN" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/computer/station_alert,
@@ -37727,14 +37478,6 @@
icon_state = "cargo"
},
/area/almayer/squads/alpha)
-"iPU" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out"
- },
-/turf/open/floor/almayer{
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"iQd" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -37805,13 +37548,14 @@
layer = 3.2;
pixel_y = 4
},
-/obj/structure/machinery/computer/secure_data{
- dir = 4;
- pixel_y = 23
- },
/obj/structure/machinery/light{
dir = 8
},
+/obj/structure/machinery/computer/secure_data{
+ dir = 4;
+ pixel_y = 23;
+ layer = 2.99
+ },
/turf/open/floor/almayer{
dir = 8;
icon_state = "red"
@@ -37827,15 +37571,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_f_s)
-"iRi" = (
-/obj/structure/sign/safety/distribution_pipes{
- pixel_x = 32
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"iRp" = (
/obj/structure/window/framed/almayer,
/obj/structure/machinery/door/poddoor/shutters/almayer/open{
@@ -37865,6 +37600,61 @@
dir = 4
},
/area/almayer/medical/containment/cell)
+"iSd" = (
+/obj/structure/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/closet/crate,
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_m_s)
"iSm" = (
/obj/structure/pipes/vents/pump,
/obj/structure/mirror{
@@ -37911,15 +37701,15 @@
icon_state = "dark_sterile"
},
/area/almayer/living/port_emb)
-"iSu" = (
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
+"iSx" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out";
+ pixel_x = 1
},
/turf/open/floor/almayer{
- icon_state = "orangecorner"
+ icon_state = "silvercorner"
},
-/area/almayer/hallways/upper/stern_hallway)
+/area/almayer/hallways/upper/midship_hallway)
"iSB" = (
/obj/structure/platform_decoration{
dir = 8
@@ -37979,6 +37769,20 @@
/obj/structure/curtain/red,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_a_s)
+"iTt" = (
+/obj/structure/largecrate/supply/medicine/medivend{
+ pixel_x = 3
+ },
+/obj/structure/largecrate/random/mini/med{
+ density = 1;
+ pixel_x = 3;
+ pixel_y = 11
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "sterile_green_side"
+ },
+/area/almayer/medical/lower_medical_medbay)
"iTw" = (
/obj/structure/bed/chair/comfy{
dir = 4
@@ -38005,6 +37809,25 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_m_s)
+"iTW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/machinery/door/airlock/almayer/security/reinforced{
+ access_modified = 1;
+ closeOtherId = "astroladder_n";
+ name = "\improper Astronavigational Deck";
+ req_access = null;
+ req_one_access_txt = "3;19"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/shipboard/navigation)
"iUh" = (
/obj/structure/sign/safety/bulkhead_door{
pixel_x = -16
@@ -38065,11 +37888,6 @@
icon_state = "sterile_green_corner"
},
/area/almayer/shipboard/brig/medical)
-"iUV" = (
-/turf/open/floor/almayer{
- icon_state = "bluecorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"iUW" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -38102,6 +37920,29 @@
icon_state = "silvercorner"
},
/area/almayer/command/cichallway)
+"iVz" = (
+/obj/structure/surface/rack,
+/obj/item/tool/wirecutters,
+/obj/item/clothing/mask/gas,
+/obj/item/clothing/mask/gas,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
+"iVD" = (
+/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{
+ closeOtherId = "brigmaint_n";
+ dir = 1;
+ name = "\improper Brig"
+ },
+/obj/structure/machinery/door/poddoor/almayer/open{
+ id = "Brig Lockdown Shutters";
+ name = "\improper Brig Lockdown Shutter"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/hull/upper/s_bow)
"iVE" = (
/obj/structure/sign/safety/bathunisex{
pixel_x = 32
@@ -38145,6 +37986,10 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/delta)
+"iWn" = (
+/obj/item/paper/almayer_storage,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_p)
"iWx" = (
/obj/effect/decal/warning_stripes{
icon_state = "SW-out"
@@ -38155,6 +38000,13 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/hangar)
+"iWB" = (
+/obj/structure/sign/safety/distribution_pipes{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"iWH" = (
/obj/structure/machinery/light/small{
dir = 4
@@ -38268,15 +38120,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/s_stern)
-"iYr" = (
-/obj/structure/machinery/light{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "green"
- },
-/area/almayer/living/starboard_garden)
"iYt" = (
/obj/structure/disposalpipe/segment{
dir = 2;
@@ -38308,20 +38151,6 @@
},
/turf/open/floor/almayer,
/area/almayer/command/lifeboat)
-"iZw" = (
-/obj/effect/step_trigger/teleporter_vector{
- name = "Almayer_AresUp";
- vector_x = -97;
- vector_y = 65
- },
-/obj/structure/platform{
- dir = 4
- },
-/obj/structure/stairs{
- dir = 1
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"iZE" = (
/obj/structure/machinery/cm_vending/sorted/tech/tool_storage,
/obj/effect/decal/warning_stripes{
@@ -38368,12 +38197,6 @@
icon_state = "plate"
},
/area/almayer/squads/req)
-"jae" = (
-/obj/structure/pipes/standard/manifold/hidden/supply{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/stern_hallway)
"jaf" = (
/obj/structure/bed/chair/comfy/bravo{
dir = 4
@@ -38435,16 +38258,6 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/starboard_umbilical)
-"jaH" = (
-/obj/structure/surface/table/reinforced/almayer_B,
-/obj/item/paper_bin/uscm{
- pixel_y = 6
- },
-/obj/item/tool/pen,
-/turf/open/floor/almayer/no_build{
- icon_state = "plating"
- },
-/area/almayer/command/airoom)
"jaI" = (
/obj/structure/sign/safety/storage{
pixel_x = 8;
@@ -38478,10 +38291,6 @@
icon_state = "test_floor4"
},
/area/almayer/squads/req)
-"jaW" = (
-/obj/effect/landmark/start/reporter,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_m_p)
"jbq" = (
/obj/structure/window/framed/almayer/hull,
/turf/open/floor/plating,
@@ -38518,15 +38327,6 @@
/obj/structure/machinery/light{
dir = 8
},
-/obj/item/clothing/mask/cigarette/pipe{
- layer = 2.8;
- pixel_y = -7
- },
-/obj/item/reagent_container/spray/cleaner{
- layer = 3.04;
- pixel_x = -4;
- pixel_y = 7
- },
/obj/structure/machinery/door_control/brbutton{
id = "Brig Lockdown Shutters";
name = "Brig Lockdown";
@@ -38545,14 +38345,11 @@
pixel_x = 8;
pixel_y = 26
},
+/obj/structure/machinery/computer/cameras/almayer/ares{
+ dir = 4
+ },
/turf/open/floor/wood/ship,
/area/almayer/living/commandbunks)
-"jbO" = (
-/obj/structure/machinery/cm_vending/sorted/medical/bolted,
-/turf/open/floor/almayer{
- icon_state = "sterile_green_side"
- },
-/area/almayer/medical/lower_medical_medbay)
"jbX" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 4
@@ -38563,6 +38360,17 @@
/obj/structure/window/framed/almayer,
/turf/open/floor/plating,
/area/almayer/shipboard/brig/processing)
+"jcu" = (
+/obj/effect/projector{
+ name = "Almayer_Down3";
+ vector_x = 1;
+ vector_y = -102
+ },
+/turf/open/floor/almayer{
+ allow_construction = 0;
+ icon_state = "plate"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"jcE" = (
/obj/structure/machinery/vending/coffee{
density = 0;
@@ -38577,6 +38385,14 @@
icon_state = "plating_striped"
},
/area/almayer/engineering/upper_engineering/starboard)
+"jdl" = (
+/obj/effect/step_trigger/clone_cleaner,
+/obj/structure/platform_decoration,
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 4;
+ icon_state = "ai_silver"
+ },
+/area/almayer/command/airoom)
"jdm" = (
/obj/structure/surface/table/almayer,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -38822,6 +38638,20 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/upper_engineering/notunnel)
+"jgy" = (
+/obj/effect/step_trigger/teleporter_vector{
+ name = "Almayer_AresUp";
+ vector_x = -96;
+ vector_y = 65
+ },
+/obj/structure/platform{
+ dir = 4
+ },
+/obj/structure/stairs{
+ dir = 1
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"jgF" = (
/obj/structure/platform,
/turf/open/floor/almayer{
@@ -38875,12 +38705,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/mp_bunks)
-"jgS" = (
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/stern_hallway)
"jhb" = (
/obj/structure/sign/safety/cryo{
pixel_x = -6;
@@ -38891,12 +38715,6 @@
"jhc" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/starboard_umbilical)
-"jhm" = (
-/obj/structure/machinery/light,
-/turf/open/floor/almayer{
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/stern_hallway)
"jhn" = (
/turf/open/floor/almayer{
dir = 1;
@@ -38954,6 +38772,15 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_p)
+"jhQ" = (
+/obj/structure/closet,
+/obj/item/clothing/under/marine,
+/obj/item/clothing/suit/storage/marine,
+/obj/item/clothing/head/helmet/marine,
+/obj/item/clothing/head/beret/cm,
+/obj/item/clothing/head/beret/cm,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_s)
"jhR" = (
/obj/structure/reagent_dispensers/water_cooler/stacks{
density = 0;
@@ -39026,21 +38853,6 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/vehiclehangar)
-"jjn" = (
-/obj/structure/surface/table/reinforced/prison,
-/obj/structure/machinery/door/window/eastright{
- dir = 8;
- req_access_txt = "8"
- },
-/obj/structure/machinery/door/window/eastleft{
- req_access_txt = "8"
- },
-/obj/item/book/manual/medical_diagnostics_manual,
-/obj/item/device/megaphone,
-/turf/open/floor/almayer{
- icon_state = "sterile_green"
- },
-/area/almayer/medical/lower_medical_medbay)
"jjS" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -39146,6 +38958,15 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_s)
+"jkT" = (
+/obj/structure/machinery/status_display{
+ pixel_y = 30
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"jkY" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -39350,15 +39171,6 @@
icon_state = "mono"
},
/area/almayer/engineering/upper_engineering/port)
-"jnx" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 6
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"jnD" = (
/turf/open/floor/almayer{
dir = 1;
@@ -39397,6 +39209,29 @@
icon_state = "dark_sterile"
},
/area/almayer/engineering/laundry)
+"jpl" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "NE-out";
+ pixel_x = 1;
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out";
+ pixel_x = -1;
+ pixel_y = 1
+ },
+/obj/structure/machinery/door/airlock/almayer/research/reinforced{
+ closeOtherId = "containment_n";
+ dir = 8;
+ name = "\improper Containment Airlock"
+ },
+/obj/structure/machinery/door/poddoor/almayer/biohazard/white{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/medical/medical_science)
"jpn" = (
/obj/structure/stairs{
icon_state = "ramptop"
@@ -39431,6 +39266,27 @@
},
/turf/open/floor/almayer,
/area/almayer/living/gym)
+"jpD" = (
+/obj/structure/machinery/door/window/eastleft{
+ req_one_access_txt = "2;21"
+ },
+/obj/structure/machinery/door/window/westright,
+/obj/structure/machinery/door/poddoor/shutters/almayer{
+ dir = 4;
+ id = "ROlobby2";
+ name = "\improper RO Line 2"
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/surface/table/reinforced/almayer_blend,
+/obj/item/desk_bell{
+ pixel_x = -6;
+ pixel_y = 10;
+ anchored = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/squads/req)
"jpW" = (
/obj/structure/machinery/alarm/almayer{
dir = 1
@@ -39463,6 +39319,12 @@
},
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/execution)
+"jrc" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/midship_hallway)
"jre" = (
/obj/structure/closet/secure_closet/cargotech,
/obj/item/clothing/accessory/storage/webbing,
@@ -39502,6 +39364,18 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/p_stern)
+"jrC" = (
+/obj/structure/machinery/vending/hydronutrients,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
+"jrH" = (
+/obj/structure/pipes/standard/manifold/hidden/supply/no_boom{
+ dir = 8
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"jrI" = (
/obj/structure/filingcabinet{
density = 0;
@@ -39537,6 +39411,19 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/port_fore_hallway)
+"jsd" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out"
+ },
+/obj/effect/step_trigger/clone_cleaner,
+/obj/structure/sign/safety/stairs{
+ pixel_x = -17
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"jss" = (
/obj/structure/bed/chair/comfy{
dir = 8
@@ -39619,16 +39506,21 @@
icon_state = "emerald"
},
/area/almayer/hallways/lower/port_midship_hallway)
-"juo" = (
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/lower/port_fore_hallway)
-"jux" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
+"juj" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer,
/turf/open/floor/almayer{
- dir = 1;
- icon_state = "bluecorner"
+ icon_state = "test_floor4"
},
/area/almayer/hallways/upper/aft_hallway)
+"juo" = (
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/lower/port_fore_hallway)
"juD" = (
/obj/structure/bed/chair/comfy{
dir = 8
@@ -39709,12 +39601,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_m_s)
-"jvz" = (
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "silvercorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"jvB" = (
/obj/effect/step_trigger/clone_cleaner,
/turf/open/floor/almayer/aicore/no_build{
@@ -39817,12 +39703,6 @@
icon_state = "red"
},
/area/almayer/squads/alpha_bravo_shared)
-"jwM" = (
-/obj/structure/largecrate/supply/floodlights,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_p)
"jwP" = (
/obj/effect/decal/warning_stripes{
icon_state = "SW-out";
@@ -39837,6 +39717,13 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_medbay)
+"jxq" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/north2)
"jxu" = (
/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
pixel_y = -25
@@ -39899,6 +39786,27 @@
icon_state = "cargo"
},
/area/almayer/hallways/hangar)
+"jyY" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 1
+ },
+/obj/structure/machinery/door/poddoor/almayer/open{
+ id = "Brig Lockdown Shutters";
+ name = "\improper Brig Lockdown Shutter"
+ },
+/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{
+ closeOtherId = "brigmaint_s";
+ dir = 1;
+ name = "\improper Brig Maintenance"
+ },
+/obj/structure/machinery/door/poddoor/almayer/open{
+ id = "perma_lockdown_2";
+ name = "\improper Perma Lockdown Shutter"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/shipboard/brig/perma)
"jzD" = (
/obj/structure/machinery/door/poddoor/almayer/locked{
icon_state = "almayer_pdoor";
@@ -40004,19 +39912,21 @@
dir = 8
},
/area/almayer/medical/containment/cell)
-"jBX" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/command/lifeboat)
"jCg" = (
/obj/docking_port/stationary/escape_pod/south,
/turf/open/floor/plating,
/area/almayer/maint/hull/lower/l_m_s)
+"jCm" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/prop/almayer/computer/PC{
+ dir = 4
+ },
+/obj/item/tool/stamp/approved{
+ pixel_x = -3;
+ pixel_y = -11
+ },
+/turf/open/floor/almayer,
+/area/almayer/squads/req)
"jCn" = (
/obj/structure/surface/table/almayer,
/obj/item/tool/screwdriver,
@@ -40097,27 +40007,6 @@
},
/turf/open/floor/almayer,
/area/almayer/engineering/lower/workshop/hangar)
-"jDV" = (
-/obj/effect/projector{
- name = "Almayer_AresDown";
- vector_x = 97;
- vector_y = -65
- },
-/obj/structure/platform{
- dir = 4
- },
-/obj/structure/stairs{
- dir = 1;
- icon_state = "ramptop"
- },
-/obj/structure/machinery/door_control{
- id = "ARES StairsUpper";
- name = "ARES Core Access";
- pixel_x = 24;
- req_one_access_txt = "90;91;92"
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"jEA" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -40233,6 +40122,17 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_m_s)
+"jFM" = (
+/obj/structure/surface/table/almayer,
+/obj/item/attachable/lasersight,
+/obj/item/reagent_container/food/drinks/cans/souto/vanilla{
+ pixel_x = 10;
+ pixel_y = 11
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"jFY" = (
/obj/structure/closet/firecloset,
/turf/open/floor/almayer{
@@ -40317,13 +40217,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/medical/morgue)
-"jHX" = (
-/obj/structure/reagent_dispensers/fueltank,
-/obj/structure/machinery/light/small,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_p)
"jIC" = (
/obj/structure/machinery/computer/working_joe{
dir = 4;
@@ -40512,15 +40405,6 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/wood/ship,
/area/almayer/command/corporateliaison)
-"jMP" = (
-/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
- pixel_y = 25
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"jMQ" = (
/obj/item/device/radio/intercom{
freerange = 1;
@@ -40611,14 +40495,6 @@
"jNT" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/execution)
-"jOc" = (
-/obj/structure/closet/secure_closet/personal/cabinet{
- req_access = null;
- pixel_y = 17;
- pixel_x = 1
- },
-/turf/open/floor/almayer,
-/area/almayer/living/numbertwobunks)
"jOi" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -40780,20 +40656,6 @@
icon_state = "plate"
},
/area/almayer/engineering/lower/workshop)
-"jRg" = (
-/obj/effect/landmark/crap_item,
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
-"jRm" = (
-/obj/structure/pipes/standard/manifold/hidden/supply{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
"jRp" = (
/obj/structure/largecrate/supply/supplies/water,
/obj/item/toy/deck{
@@ -41138,6 +41000,24 @@
icon_state = "test_floor4"
},
/area/almayer/medical/lower_medical_medbay)
+"jXk" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/largecrate/supply/weapons/m39{
+ pixel_x = 2
+ },
+/obj/structure/largecrate/supply/weapons/m41a{
+ layer = 3.1;
+ pixel_x = 6;
+ pixel_y = 17
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
+"jXN" = (
+/obj/docking_port/stationary/escape_pod/south,
+/turf/open/floor/plating,
+/area/almayer/maint/upper/u_m_s)
"jXR" = (
/obj/effect/step_trigger/clone_cleaner,
/obj/structure/blocker/forcefield/multitile_vehicles,
@@ -41149,6 +41029,12 @@
allow_construction = 0
},
/area/almayer/hallways/lower/starboard_fore_hallway)
+"jYa" = (
+/obj/structure/machinery/vending/hydroseeds,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"jYc" = (
/obj/item/bedsheet/blue{
layer = 3.2
@@ -41198,6 +41084,18 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/p_stern)
+"jYH" = (
+/obj/structure/blocker/invisible_wall,
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/mob/living/silicon/decoy/ship_ai{
+ layer = 2.98;
+ pixel_y = -16
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"jYM" = (
/obj/structure/ladder{
height = 1;
@@ -41209,20 +41107,6 @@
},
/turf/open/floor/plating/almayer,
/area/almayer/maint/hull/lower/p_bow)
-"jYR" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "S";
- layer = 3.3
- },
-/obj/structure/machinery/camera/autoname/almayer/containment/ares{
- dir = 4
- },
-/turf/open/floor/almayer/aicore/glowing/no_build,
-/area/almayer/command/airoom)
"jZd" = (
/obj/structure/pipes/vents/pump{
dir = 8;
@@ -41241,14 +41125,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/port_fore_hallway)
-"jZj" = (
-/obj/structure/surface/rack,
-/obj/item/book/manual/orbital_cannon_manual,
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "red"
- },
-/area/almayer/maint/hull/upper/u_a_p)
"jZo" = (
/obj/structure/machinery/door/airlock/almayer/maint,
/obj/effect/step_trigger/clone_cleaner,
@@ -41309,16 +41185,6 @@
},
/turf/open/floor/almayer,
/area/almayer/medical/containment/cell/cl)
-"jZW" = (
-/obj/structure/sign/safety/maint{
- pixel_x = 8;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"jZY" = (
/obj/structure/closet/l3closet/medical,
/turf/open/floor/almayer{
@@ -41333,6 +41199,18 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/s_bow)
+"kaj" = (
+/obj/structure/machinery/light,
+/turf/open/floor/almayer{
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
+"kak" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/almayer{
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"kam" = (
/obj/item/tool/screwdriver{
layer = 2.9;
@@ -41368,6 +41246,16 @@
icon_state = "red"
},
/area/almayer/squads/alpha)
+"kaE" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "cargo_arrow"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"kaI" = (
/obj/structure/bed/chair{
dir = 4
@@ -41376,6 +41264,15 @@
icon_state = "bluefull"
},
/area/almayer/squads/charlie_delta_shared)
+"kaO" = (
+/obj/structure/machinery/power/apc/almayer{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"kaQ" = (
/obj/structure/disposalpipe/junction,
/obj/structure/pipes/standard/manifold/hidden/supply{
@@ -41409,6 +41306,21 @@
icon_state = "test_floor4"
},
/area/almayer/squads/bravo)
+"kbl" = (
+/obj/structure/stairs{
+ dir = 8;
+ icon_state = "ramptop"
+ },
+/obj/effect/projector{
+ name = "Almayer_Down3";
+ vector_x = 1;
+ vector_y = -102
+ },
+/obj/structure/machinery/light,
+/turf/open/floor/plating/almayer{
+ allow_construction = 0
+ },
+/area/almayer/hallways/upper/fore_hallway)
"kbv" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/upper/starboard)
@@ -41434,20 +41346,6 @@
icon_state = "kitchen"
},
/area/almayer/engineering/upper_engineering)
-"kbH" = (
-/obj/effect/step_trigger/teleporter_vector{
- name = "Almayer_AresDown";
- vector_x = 97;
- vector_y = -65
- },
-/obj/structure/platform{
- dir = 4
- },
-/obj/structure/stairs{
- dir = 1
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"kbJ" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -41459,16 +41357,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/containment)
-"kbT" = (
-/obj/structure/sign/safety/distribution_pipes{
- pixel_x = 8;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"kbV" = (
/obj/structure/platform{
dir = 1
@@ -41512,6 +41400,21 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/u_f_p)
+"kcx" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/machinery/door/poddoor/almayer/open{
+ dir = 4;
+ id = "CIC Lockdown";
+ name = "\improper Combat Information Center Blast Door"
+ },
+/obj/structure/machinery/door/airlock/almayer/command/reinforced{
+ closeOtherId = "ciclobby_n";
+ name = "\improper Combat Information Center"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/command/cic)
"kcA" = (
/obj/structure/machinery/light{
dir = 1
@@ -41578,13 +41481,6 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/lower_medical_lobby)
-"keE" = (
-/obj/structure/largecrate/random/barrel/red,
-/obj/structure/machinery/light/small,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"keG" = (
/obj/structure/machinery/door/airlock/almayer/security{
dir = 2;
@@ -41610,23 +41506,6 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/engineering/upper_engineering/starboard)
-"kfo" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 2
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_x = 1;
- pixel_y = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out";
- pixel_x = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/port)
"kfB" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/light{
@@ -41709,6 +41588,33 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/vehiclehangar)
+"kgV" = (
+/obj/structure/machinery/power/apc/almayer{
+ dir = 4
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ layer = 3.33;
+ pixel_x = 2
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ layer = 3.33;
+ pixel_y = 2
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "W";
+ layer = 3.3
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "S";
+ layer = 3.3
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"khd" = (
/obj/structure/bed/chair{
dir = 4
@@ -41750,20 +41656,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_f_p)
-"khJ" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "S";
- layer = 3.3
- },
-/obj/structure/machinery/camera/autoname/almayer/containment/ares{
- dir = 8
- },
-/turf/open/floor/almayer/aicore/glowing/no_build,
-/area/almayer/command/airoom)
"kil" = (
/obj/structure/stairs/perspective{
icon_state = "p_stair_full"
@@ -41771,6 +41663,15 @@
/obj/item/storage/belt/utility,
/turf/open/floor/almayer,
/area/almayer/hallways/lower/repair_bay)
+"kin" = (
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/port)
"kio" = (
/obj/structure/machinery/firealarm{
pixel_y = 28
@@ -41783,15 +41684,6 @@
icon_state = "plate"
},
/area/almayer/living/port_emb)
-"kiq" = (
-/obj/structure/machinery/status_display{
- pixel_y = 30
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"kiy" = (
/obj/structure/machinery/light{
dir = 8
@@ -41963,10 +41855,6 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/south2)
-"kkI" = (
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
"kkN" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/manifold/fourway/hidden/supply,
@@ -41983,12 +41871,6 @@
icon_state = "orange"
},
/area/almayer/engineering/lower)
-"klr" = (
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"klH" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 4
@@ -42023,22 +41905,31 @@
icon_state = "plate"
},
/area/almayer/living/offices)
-"kmx" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
- },
-/obj/effect/step_trigger/clone_cleaner,
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"kmE" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 5
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/lifeboat_pumps/north2)
+"kmT" = (
+/obj/structure/sign/safety/maint{
+ pixel_x = -17
+ },
+/turf/open/floor/almayer{
+ dir = 10;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
+"knb" = (
+/obj/effect/step_trigger/clone_cleaner,
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"kng" = (
/obj/structure/machinery/light/small{
dir = 8
@@ -42082,6 +41973,20 @@
icon_state = "cargo"
},
/area/almayer/lifeboat_pumps/south2)
+"knU" = (
+/turf/open/floor/almayer{
+ dir = 9;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/aft_hallway)
+"kon" = (
+/obj/structure/pipes/vents/pump{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_p)
"kow" = (
/obj/structure/disposalpipe/segment{
dir = 1;
@@ -42109,10 +42014,6 @@
icon_state = "plate"
},
/area/almayer/squads/bravo)
-"kpc" = (
-/obj/structure/reagent_dispensers/watertank,
-/turf/open/floor/plating,
-/area/almayer/command/airoom)
"kph" = (
/obj/structure/machinery/door/firedoor/border_only/almayer,
/obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor{
@@ -42135,6 +42036,15 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/south2)
+"kpL" = (
+/obj/structure/sign/safety/life_support{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"kpQ" = (
/obj/structure/machinery/door_control{
id = "engidorm";
@@ -42147,6 +42057,13 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/port)
+"kqa" = (
+/obj/structure/closet,
+/obj/item/clothing/glasses/welding,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"kqb" = (
/obj/structure/machinery/light/small{
dir = 1
@@ -42170,6 +42087,19 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/repair_bay)
+"kqo" = (
+/obj/structure/machinery/light,
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/obj/structure/machinery/cm_vending/sorted/medical/bolted,
+/obj/structure/medical_supply_link/green,
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "sterile_green_corner"
+ },
+/area/almayer/medical/medical_science)
"kqt" = (
/obj/structure/machinery/door/poddoor/almayer/open{
dir = 4;
@@ -42292,6 +42222,14 @@
icon_state = "plating"
},
/area/almayer/squads/req)
+"krO" = (
+/obj/structure/machinery/cm_vending/sorted/medical,
+/obj/structure/medical_supply_link,
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "sterile_green_side"
+ },
+/area/almayer/shipboard/brig/medical)
"krS" = (
/obj/structure/machinery/camera/autoname/almayer{
name = "ship-grade camera"
@@ -42393,6 +42331,15 @@
icon_state = "silver"
},
/area/almayer/hallways/lower/repair_bay)
+"ktQ" = (
+/obj/structure/pipes/standard/simple/hidden/supply/no_boom{
+ dir = 4
+ },
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 8;
+ icon_state = "ai_arrow"
+ },
+/area/almayer/command/airoom)
"ktR" = (
/obj/item/trash/crushed_cup,
/turf/open/floor/almayer{
@@ -42595,6 +42542,27 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/mp_bunks)
+"kya" = (
+/obj/structure/prop/invuln/overhead_pipe{
+ dir = 4;
+ pixel_y = 13
+ },
+/obj/structure/prop/invuln/overhead_pipe{
+ dir = 4;
+ pixel_x = 12;
+ pixel_y = 13
+ },
+/obj/structure/prop/invuln/overhead_pipe{
+ dir = 4;
+ pixel_y = 13
+ },
+/obj/structure/prop/invuln/overhead_pipe{
+ dir = 4;
+ pixel_x = -16;
+ pixel_y = 13
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_m_p)
"kyh" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -42752,28 +42720,6 @@
icon_state = "plating"
},
/area/almayer/engineering/lower/engine_core)
-"kzR" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
-"kzT" = (
-/obj/structure/machinery/door_control{
- id = "ARES StairsLower";
- name = "ARES Core Lockdown";
- pixel_x = -24;
- pixel_y = -8;
- req_one_access_txt = "90;91;92"
- },
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_silver";
- dir = 8
- },
-/area/almayer/command/airoom)
"kAh" = (
/obj/structure/sign/safety/restrictedarea{
pixel_x = -17
@@ -42797,56 +42743,6 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/south2)
-"kAp" = (
-/obj/structure/surface/rack{
- desc = "A bunch of metal shelves stacked on top of eachother. Excellent for storage purposes, less so as cover. One of the shelf legs is damaged, resulting in the rack being propped up by what appears to be circuit boards."
- },
-/obj/structure/machinery/light/small{
- dir = 4;
- status = 3;
- icon_state = "bulb-burned"
- },
-/obj/effect/decal/cleanable/blood,
-/obj/item/prop{
- icon = 'icons/obj/items/bloodpack.dmi';
- icon_state = "bloodpack";
- name = "blood bag";
- desc = "A blood bag with a hole in it. The rats must have gotten to it first."
- },
-/obj/item/prop{
- icon = 'icons/obj/items/bloodpack.dmi';
- icon_state = "bloodpack";
- name = "blood bag";
- desc = "A blood bag with a hole in it. The rats must have gotten to it first."
- },
-/obj/item/prop{
- icon = 'icons/obj/items/bloodpack.dmi';
- icon_state = "bloodpack";
- name = "blood bag";
- desc = "A blood bag with a hole in it. The rats must have gotten to it first."
- },
-/obj/item/prop{
- icon = 'icons/obj/items/circuitboards.dmi';
- icon_state = "id_mod";
- name = "circuit board";
- desc = "The words \"Cloning Pod\" are scrawled onto it. It appears to be heavily damaged.";
- layer = 2.78;
- pixel_y = 10;
- pixel_x = 8
- },
-/obj/item/prop{
- icon = 'icons/obj/items/circuitboards.dmi';
- icon_state = "id_mod";
- name = "circuit board";
- desc = "The words \"Cloning Scanner\" are scrawled onto it. It appears to be heavily damaged.";
- layer = 2.79;
- pixel_y = 7;
- pixel_x = 8
- },
-/turf/open/floor/almayer{
- icon_state = "sterile_green_corner"
- },
-/area/almayer/medical/lower_medical_medbay)
"kAv" = (
/obj/structure/largecrate/supply/ammo/shotgun,
/turf/open/floor/plating/plating_catwalk,
@@ -42916,6 +42812,36 @@
icon_state = "test_floor4"
},
/area/almayer/medical/hydroponics)
+"kCl" = (
+/obj/structure/surface/rack,
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0;
+ pixel_x = -6;
+ pixel_y = 7
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0;
+ pixel_x = -6;
+ pixel_y = -3
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0;
+ pixel_x = 5;
+ pixel_y = 9
+ },
+/obj/item/ammo_magazine/rifle/l42a/ap{
+ current_rounds = 0;
+ pixel_x = 5;
+ pixel_y = -3
+ },
+/obj/structure/noticeboard{
+ desc = "The note is haphazardly attached to the cork board by what looks like a bent firing pin. 'The order has come in to perform end of life service checks on all L42A service rifles, any that are defective are to be dis-assembled and packed into a crate and sent to to the cargo hold. L42A service rifles that are in working order after servicing, are to be locked in secure cabinets ready to be off-loaded at Chinook. Scheduled end of life service for the L42A - Complete'";
+ pixel_y = 29
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"kCm" = (
/obj/structure/sign/safety/fire_haz{
pixel_x = 15;
@@ -42928,9 +42854,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"kCo" = (
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/stern_hallway)
"kCu" = (
/obj/structure/machinery/portable_atmospherics/powered/scrubber,
/turf/open/floor/almayer{
@@ -43055,6 +42978,16 @@
icon_state = "redfull"
},
/area/almayer/living/briefing)
+"kEA" = (
+/obj/effect/projector{
+ name = "Almayer_Down3";
+ vector_x = 1;
+ vector_y = -102
+ },
+/turf/open/floor/almayer{
+ allow_construction = 0
+ },
+/area/almayer/hallways/upper/fore_hallway)
"kEE" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/disposalpipe/segment,
@@ -43272,14 +43205,6 @@
icon_state = "plate"
},
/area/almayer/engineering/lower/workshop/hangar)
-"kJL" = (
-/obj/structure/machinery/constructable_frame{
- icon_state = "box_2"
- },
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/lifeboat_pumps/north1)
"kJW" = (
/obj/structure/machinery/door/window/westright,
/obj/structure/machinery/shower{
@@ -43309,21 +43234,6 @@
icon_state = "test_floor4"
},
/area/almayer/living/grunt_rnr)
-"kKv" = (
-/obj/effect/projector{
- name = "Almayer_AresUp";
- vector_x = -97;
- vector_y = 65
- },
-/obj/structure/platform{
- dir = 8
- },
-/obj/structure/stairs{
- dir = 1;
- icon_state = "ramptop"
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"kKB" = (
/obj/structure/machinery/door/firedoor/border_only/almayer,
/turf/open/floor/almayer{
@@ -43370,10 +43280,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_m_p)
-"kLB" = (
-/obj/docking_port/stationary/escape_pod/east,
-/turf/open/floor/plating,
-/area/almayer/maint/hull/upper/u_m_s)
"kLE" = (
/obj/structure/machinery/door/firedoor/border_only/almayer,
/obj/structure/machinery/door/poddoor/almayer{
@@ -43398,13 +43304,6 @@
icon_state = "greencorner"
},
/area/almayer/squads/req)
-"kLZ" = (
-/obj/structure/machinery/light/small{
- dir = 1
- },
-/obj/structure/largecrate/random/barrel/red,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_s)
"kMa" = (
/obj/structure/platform_decoration,
/turf/open/floor/almayer{
@@ -43464,6 +43363,13 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_p)
+"kMV" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/starboard)
"kMW" = (
/obj/structure/closet/secure_closet/personal/cabinet{
req_access = null
@@ -43503,20 +43409,6 @@
"kNq" = (
/turf/closed/wall/almayer,
/area/almayer/maint/hull/upper/u_a_p)
-"kNx" = (
-/obj/structure/sign/safety/ref_bio_storage{
- pixel_x = -17;
- pixel_y = 7
- },
-/obj/structure/sign/safety/biohazard{
- pixel_x = -17;
- pixel_y = -7
- },
-/obj/structure/machinery/cm_vending/sorted/medical/chemistry,
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/medical/medical_science)
"kNC" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 8
@@ -43624,6 +43516,12 @@
icon_state = "plate"
},
/area/almayer/squads/req)
+"kPa" = (
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "greencorner"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"kPx" = (
/obj/structure/surface/table/almayer,
/obj/item/device/mass_spectrometer,
@@ -43736,21 +43634,6 @@
icon_state = "cargo"
},
/area/almayer/command/lifeboat)
-"kRk" = (
-/obj/structure/surface/table/almayer,
-/obj/item/tool/screwdriver,
-/obj/item/prop/helmetgarb/gunoil{
- pixel_x = -7;
- pixel_y = 12
- },
-/obj/item/weapon/gun/rifle/l42a{
- pixel_x = 17;
- pixel_y = 6
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_s)
"kRD" = (
/obj/item/reagent_container/glass/bucket/janibucket,
/obj/structure/machinery/light{
@@ -43768,13 +43651,6 @@
icon_state = "cargo"
},
/area/almayer/engineering/lower/workshop/hangar)
-"kRN" = (
-/obj/structure/surface/rack,
-/obj/item/clothing/glasses/meson,
-/turf/open/floor/almayer{
- icon_state = "red"
- },
-/area/almayer/maint/hull/upper/u_a_p)
"kRP" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/item/prop/magazine/dirty/torn,
@@ -43784,6 +43660,22 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/hangar)
+"kRQ" = (
+/obj/structure/surface/table/reinforced/almayer_B,
+/obj/structure/machinery/computer/cameras/almayer/ares{
+ dir = 8;
+ pixel_x = 17;
+ pixel_y = 7
+ },
+/obj/structure/machinery/computer/cameras/almayer{
+ dir = 8;
+ pixel_x = 17;
+ pixel_y = -6
+ },
+/turf/open/floor/almayer/aicore/glowing/no_build{
+ icon_state = "ai_floor3"
+ },
+/area/almayer/command/airoom)
"kRU" = (
/obj/vehicle/powerloader,
/obj/structure/platform{
@@ -43797,6 +43689,16 @@
icon_state = "cargo"
},
/area/almayer/hallways/lower/repair_bay)
+"kSi" = (
+/obj/structure/machinery/cm_vending/gear/intelligence_officer{
+ density = 0;
+ pixel_x = -32
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "silver"
+ },
+/area/almayer/command/computerlab)
"kSn" = (
/obj/structure/machinery/camera/autoname/almayer{
dir = 4;
@@ -43837,6 +43739,13 @@
icon_state = "test_floor4"
},
/area/almayer/hallways/lower/port_fore_hallway)
+"kSC" = (
+/obj/structure/machinery/cm_vending/sorted/medical/bolted,
+/obj/structure/medical_supply_link/green,
+/turf/open/floor/almayer{
+ icon_state = "sterile_green_side"
+ },
+/area/almayer/medical/lower_medical_medbay)
"kSH" = (
/obj/structure/sign/prop1{
pixel_y = 32
@@ -43915,15 +43824,6 @@
icon_state = "test_floor4"
},
/area/almayer/living/pilotbunks)
-"kUs" = (
-/obj/structure/machinery/firealarm{
- pixel_y = 28
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"kUA" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating/plating_catwalk,
@@ -43937,6 +43837,23 @@
icon_state = "green"
},
/area/almayer/hallways/lower/starboard_midship_hallway)
+"kUJ" = (
+/obj/item/trash/USCMtray{
+ pixel_x = -4;
+ pixel_y = 10
+ },
+/obj/structure/surface/table/almayer,
+/obj/item/tool/kitchen/utensil/pfork{
+ pixel_x = 9;
+ pixel_y = 8
+ },
+/obj/structure/machinery/light/small{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_s)
"kUL" = (
/obj/structure/machinery/light/small{
dir = 1
@@ -43946,13 +43863,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_m_p)
-"kUQ" = (
-/obj/effect/decal/cleanable/blood/oil/streak,
-/obj/structure/machinery/constructable_frame,
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/lifeboat_pumps/south1)
"kUR" = (
/turf/open/floor/almayer{
icon_state = "bluefull"
@@ -43973,6 +43883,10 @@
},
/turf/open/floor/wood/ship,
/area/almayer/command/corporateliaison)
+"kVW" = (
+/obj/effect/step_trigger/clone_cleaner,
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/fore_hallway)
"kVZ" = (
/obj/structure/machinery/door/window/brigdoor/southright{
id = "Cell 2";
@@ -43983,14 +43897,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/cells)
-"kWc" = (
-/obj/structure/pipes/standard/manifold/hidden/supply,
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/stern_hallway)
"kWk" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 10
@@ -44075,12 +43981,6 @@
icon_state = "silver"
},
/area/almayer/command/computerlab)
-"kXj" = (
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_silver";
- dir = 4
- },
-/area/almayer/command/airoom)
"kXm" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -44115,6 +44015,12 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/medical_science)
+"kXD" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 6
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"kXN" = (
/obj/item/clothing/glasses/sunglasses/aviator{
pixel_x = -1;
@@ -44124,6 +44030,15 @@
icon_state = "dark_sterile"
},
/area/almayer/engineering/laundry)
+"kYb" = (
+/obj/structure/machinery/status_display{
+ pixel_y = 30
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"kYl" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 9
@@ -44154,6 +44069,14 @@
icon_state = "plate"
},
/area/almayer/living/port_emb)
+"kYF" = (
+/obj/structure/machinery/door/airlock/almayer/maint/reinforced{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/upper/u_f_s)
"kYL" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -44187,6 +44110,12 @@
icon_state = "plate"
},
/area/almayer/living/offices)
+"kZc" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"kZN" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/prop/almayer/computer/PC{
@@ -44224,6 +44153,25 @@
icon_state = "emerald"
},
/area/almayer/living/gym)
+"lat" = (
+/obj/structure/toilet{
+ dir = 1
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_s)
+"laD" = (
+/obj/docking_port/stationary/escape_pod/north,
+/turf/open/floor/plating,
+/area/almayer/maint/upper/u_m_p)
+"laI" = (
+/obj/structure/sign/safety/maint{
+ pixel_x = -17
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/port)
"laM" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -44245,13 +44193,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/cic_hallway)
-"laP" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/sign/safety/distribution_pipes{
- pixel_x = 32
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_s)
"laQ" = (
/obj/structure/machinery/door/firedoor/border_only/almayer{
dir = 2
@@ -44286,23 +44227,6 @@
},
/turf/open/floor/plating,
/area/almayer/command/cic)
-"lbc" = (
-/obj/structure/stairs{
- dir = 8;
- icon_state = "ramptop"
- },
-/obj/structure/machinery/light{
- dir = 1
- },
-/obj/effect/projector{
- name = "Almayer_Down2";
- vector_x = 1;
- vector_y = -100
- },
-/turf/open/floor/plating/almayer{
- allow_construction = 0
- },
-/area/almayer/hallways/upper/aft_hallway)
"lbf" = (
/obj/structure/machinery/cryopod{
pixel_y = 6
@@ -44331,6 +44255,12 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/port)
+"lbO" = (
+/obj/structure/surface/rack,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_p)
"lbX" = (
/obj/structure/bed/chair{
dir = 4
@@ -44399,16 +44329,6 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/north2)
-"ldq" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 5
- },
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
"ldt" = (
/obj/structure/machinery/conveyor{
dir = 8;
@@ -44518,6 +44438,16 @@
icon_state = "blue"
},
/area/almayer/living/basketball)
+"lfZ" = (
+/obj/structure/surface/table/almayer,
+/obj/item/reagent_container/food/snacks/mre_pack/meal5,
+/obj/item/device/flashlight/lamp{
+ pixel_x = 3;
+ pixel_y = 12
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_f_s)
"lgk" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
@@ -44661,33 +44591,6 @@
icon_state = "mono"
},
/area/almayer/medical/medical_science)
-"lin" = (
-/obj/effect/projector{
- name = "Almayer_AresDown";
- vector_x = 97;
- vector_y = -65
- },
-/obj/structure/platform{
- dir = 8
- },
-/obj/structure/stairs{
- dir = 1;
- icon_state = "ramptop"
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
-"liF" = (
-/obj/structure/machinery/light/small{
- dir = 8
- },
-/obj/structure/closet,
-/obj/item/clothing/under/marine,
-/obj/item/clothing/suit/storage/marine,
-/obj/item/clothing/head/helmet/marine,
-/obj/item/clothing/head/cmcap,
-/obj/item/clothing/head/cmcap,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_s)
"liJ" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -44883,6 +44786,22 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_medbay)
+"lla" = (
+/obj/structure/sign/safety/hvac_old{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_p)
+"llo" = (
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"llK" = (
/obj/structure/platform_decoration{
dir = 4
@@ -44947,9 +44866,20 @@
icon_state = "plate"
},
/area/almayer/living/numbertwobunks)
-"lmK" = (
-/turf/closed/wall/almayer/reinforced,
-/area/almayer/command/securestorage)
+"lmG" = (
+/obj/structure/stairs{
+ dir = 8;
+ icon_state = "ramptop"
+ },
+/obj/effect/projector{
+ name = "Almayer_Down2";
+ vector_x = 1;
+ vector_y = -100
+ },
+/turf/open/floor/plating/almayer{
+ allow_construction = 0
+ },
+/area/almayer/hallways/upper/fore_hallway)
"lne" = (
/obj/structure/bed/chair,
/turf/open/floor/almayer{
@@ -44979,10 +44909,6 @@
icon_state = "silvercorner"
},
/area/almayer/shipboard/brig/cic_hallway)
-"lnD" = (
-/obj/structure/window/framed/almayer,
-/turf/open/floor/plating,
-/area/almayer/maint/hull/upper/u_a_s)
"lnP" = (
/obj/structure/machinery/vending/cola,
/obj/structure/window/reinforced,
@@ -45076,13 +45002,6 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
-"loz" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out";
- layer = 2.5
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/starboard)
"loE" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/u_f_s)
@@ -45189,6 +45108,16 @@
icon_state = "emerald"
},
/area/almayer/hallways/hangar)
+"lqL" = (
+/obj/structure/machinery/firealarm{
+ dir = 4;
+ pixel_x = 24
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"lqN" = (
/obj/item/device/assembly/mousetrap/armed,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -45199,13 +45128,6 @@
icon_state = "orange"
},
/area/almayer/living/port_emb)
-"lrd" = (
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/aft_hallway)
"lrq" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/shipboard/brig/armory)
@@ -45247,15 +45169,6 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/hangar)
-"lsh" = (
-/obj/structure/machinery/light/small{
- dir = 1;
- pixel_y = 20
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"lsn" = (
/obj/structure/surface/table/almayer,
/obj/item/paper{
@@ -45337,14 +45250,6 @@
icon_state = "sterile_green"
},
/area/almayer/medical/containment)
-"ltt" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 2
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/aft_hallway)
"ltv" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -45559,12 +45464,6 @@
icon_state = "cargo"
},
/area/almayer/living/commandbunks)
-"lxT" = (
-/obj/structure/machinery/constructable_frame,
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/lifeboat_pumps/south2)
"lxW" = (
/obj/structure/sign/prop2{
pixel_y = 29
@@ -45573,6 +45472,23 @@
icon_state = "plate"
},
/area/almayer/living/auxiliary_officer_office)
+"lyh" = (
+/obj/structure/surface/table/reinforced/prison,
+/obj/item/tool/surgery/scalpel{
+ pixel_x = -1;
+ pixel_y = 10
+ },
+/obj/item/stack/cable_coil{
+ pixel_y = 1;
+ pixel_x = 8
+ },
+/obj/item/stack/sheet/cardboard/small_stack{
+ pixel_y = 2;
+ pixel_x = -3;
+ layer = 3.01
+ },
+/turf/open/floor/almayer,
+/area/almayer/squads/alpha_bravo_shared)
"lyk" = (
/obj/structure/sign/safety/storage{
pixel_x = -17
@@ -45662,6 +45578,21 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/charlie_delta_shared)
+"lzt" = (
+/obj/structure/surface/table/almayer,
+/obj/item/tool/screwdriver,
+/obj/item/prop/helmetgarb/gunoil{
+ pixel_x = -7;
+ pixel_y = 12
+ },
+/obj/item/weapon/gun/rifle/l42a{
+ pixel_x = 17;
+ pixel_y = 6
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"lzA" = (
/obj/structure/machinery/sleep_console{
dir = 8
@@ -45670,13 +45601,6 @@
icon_state = "mono"
},
/area/almayer/medical/medical_science)
-"lzF" = (
-/obj/structure/pipes/standard/manifold/hidden/supply,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
"lAa" = (
/obj/structure/surface/table/almayer,
/obj/item/device/lightreplacer{
@@ -45726,13 +45650,10 @@
icon_state = "emerald"
},
/area/almayer/squads/charlie)
-"lBf" = (
-/obj/structure/machinery/light,
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/stern_hallway)
+"lAW" = (
+/obj/docking_port/stationary/escape_pod/east,
+/turf/open/floor/plating,
+/area/almayer/maint/upper/u_m_p)
"lBg" = (
/obj/structure/bedsheetbin,
/turf/open/floor/almayer{
@@ -45757,37 +45678,16 @@
icon_state = "emerald"
},
/area/almayer/squads/charlie)
-"lBw" = (
-/obj/structure/machinery/cryopod{
- pixel_y = 6
- },
-/obj/structure/sign/safety/cryo{
- pixel_x = -17
- },
-/turf/open/floor/almayer{
- icon_state = "cargo"
- },
-/area/almayer/maint/hull/upper/u_m_p)
-"lBB" = (
-/obj/structure/machinery/power/apc/almayer{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_s)
-"lCc" = (
-/obj/structure/pipes/standard/manifold/hidden/supply{
- dir = 8
- },
-/obj/structure/disposalpipe/segment{
- dir = 4;
- icon_state = "pipe-c"
+"lCg" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
},
+/obj/effect/step_trigger/clone_cleaner,
/turf/open/floor/almayer{
- icon_state = "orange"
+ dir = 8;
+ icon_state = "green"
},
-/area/almayer/hallways/upper/stern_hallway)
+/area/almayer/hallways/upper/fore_hallway)
"lCm" = (
/obj/structure/machinery/light/small{
dir = 1
@@ -45861,6 +45761,10 @@
},
/turf/open/floor/plating,
/area/almayer/maint/lower/constr)
+"lDH" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"lDL" = (
/obj/structure/machinery/light{
dir = 4
@@ -45976,12 +45880,19 @@
icon_state = "blue"
},
/area/almayer/living/port_emb)
-"lFm" = (
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "silver"
+"lFj" = (
+/obj/structure/machinery/door_control{
+ id = "ARES Operations Right";
+ name = "ARES Operations Shutter";
+ pixel_x = 24;
+ pixel_y = -8;
+ req_one_access_txt = "90;91;92"
},
-/area/almayer/command/securestorage)
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 4;
+ icon_state = "ai_silver"
+ },
+/area/almayer/command/airoom)
"lFn" = (
/obj/structure/flora/pottedplant{
icon_state = "pottedplant_21"
@@ -46037,29 +45948,6 @@
icon_state = "plate"
},
/area/almayer/engineering/upper_engineering/port)
-"lFJ" = (
-/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{
- name = "\improper Brig Prisoner Yard";
- closeOtherId = "brigcells"
- },
-/obj/structure/disposalpipe/segment{
- dir = 8
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 8
- },
-/obj/structure/machinery/door/poddoor/almayer/open{
- dir = 4;
- id = "courtyard_cells";
- name = "\improper Courtyard Lockdown Shutter"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/shipboard/brig/processing)
"lFK" = (
/obj/structure/machinery/light{
dir = 8
@@ -46086,6 +45974,15 @@
icon_state = "orange"
},
/area/almayer/engineering/lower/workshop/hangar)
+"lGh" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/midship_hallway)
"lHk" = (
/obj/structure/closet/firecloset,
/obj/effect/decal/warning_stripes{
@@ -46165,6 +46062,17 @@
icon_state = "mono"
},
/area/almayer/engineering/upper_engineering/port)
+"lIY" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "NE-out";
+ pixel_x = 1;
+ pixel_y = 1
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/starboard)
"lJu" = (
/obj/structure/barricade/metal{
dir = 1
@@ -46293,6 +46201,12 @@
icon_state = "greencorner"
},
/area/almayer/hallways/lower/port_fore_hallway)
+"lLt" = (
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"lLC" = (
/obj/structure/surface/table/almayer,
/turf/open/floor/almayer,
@@ -46355,6 +46269,32 @@
icon_state = "cargo"
},
/area/almayer/engineering/upper_engineering/starboard)
+"lMy" = (
+/obj/structure/machinery/fuelpump,
+/turf/open/floor/almayer,
+/area/almayer/lifeboat_pumps/north2)
+"lMF" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/machinery/door/airlock/almayer/command/reinforced{
+ closeOtherId = "ciclobby_n";
+ id_tag = "cic_exterior";
+ name = "\improper Combat Information Center"
+ },
+/obj/structure/machinery/door/poddoor/almayer/open{
+ dir = 4;
+ id = "CIC Lockdown";
+ name = "\improper Combat Information Center Blast Door"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/command/cic)
"lMO" = (
/obj/structure/surface/rack,
/obj/effect/spawner/random/toolbox,
@@ -46393,6 +46333,16 @@
icon_state = "plate"
},
/area/almayer/squads/charlie)
+"lNL" = (
+/obj/item/tool/mop{
+ pixel_x = -6;
+ pixel_y = 24
+ },
+/obj/item/reagent_container/glass/bucket,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_s)
"lNR" = (
/obj/structure/window/framed/almayer,
/obj/structure/machinery/door/firedoor/border_only/almayer,
@@ -46489,10 +46439,12 @@
icon_state = "silver"
},
/area/almayer/command/securestorage)
-"lPW" = (
-/obj/structure/reagent_dispensers/fueltank,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_m_p)
+"lPY" = (
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"lQa" = (
/obj/structure/machinery/light{
dir = 8
@@ -46549,6 +46501,12 @@
icon_state = "sterile_green_corner"
},
/area/almayer/medical/operating_room_three)
+"lRh" = (
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "bluecorner"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"lRs" = (
/obj/structure/surface/table/almayer,
/obj/item/trash/USCMtray{
@@ -46621,6 +46579,23 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/s_bow)
+"lSN" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/fore_hallway)
+"lST" = (
+/obj/structure/machinery/door/airlock/almayer/maint{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/upper/u_f_p)
"lSX" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 6
@@ -46646,18 +46621,6 @@
},
/turf/open/floor/wood/ship,
/area/almayer/living/chapel)
-"lUm" = (
-/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{
- name = "\improper Brig Cells";
- closeOtherId = "briglobby"
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/shipboard/brig/processing)
"lUA" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -46763,6 +46726,14 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/upper/mess)
+"lWS" = (
+/obj/structure/bed/chair/office/dark{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_s)
"lWY" = (
/obj/structure/closet/firecloset,
/turf/open/floor/almayer{
@@ -46788,6 +46759,12 @@
icon_state = "plate"
},
/area/almayer/engineering/upper_engineering)
+"lXl" = (
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"lXO" = (
/obj/structure/surface/table/almayer,
/obj/item/paper_bin/uscm,
@@ -46802,6 +46779,15 @@
icon_state = "green"
},
/area/almayer/living/offices)
+"lXR" = (
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"lYg" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating/plating_catwalk,
@@ -46840,6 +46826,15 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"lYS" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/fore_hallway)
"lZb" = (
/obj/structure/surface/rack,
/obj/effect/spawner/random/tool,
@@ -46885,6 +46880,12 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_m_p)
+"lZJ" = (
+/obj/structure/machinery/light/small,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_p)
"lZM" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/machinery/door/airlock/almayer/maint{
@@ -46911,15 +46912,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/starboard_hallway)
-"maF" = (
-/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
- pixel_y = 25
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"maI" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/simple/hidden/supply,
@@ -46961,15 +46953,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/upper_medical)
-"mbu" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/stern_hallway)
"mbx" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -47013,6 +46996,9 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/vehiclehangar)
+"mdm" = (
+/turf/closed/wall/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"mdo" = (
/obj/structure/machinery/cm_vending/sorted/marine_food,
/turf/open/floor/almayer{
@@ -47089,13 +47075,6 @@
"meQ" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/starboard_midship_hallway)
-"meS" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/aft_hallway)
"meT" = (
/obj/structure/machinery/door/poddoor/almayer/open{
id = "Hangar Lockdown";
@@ -47113,15 +47092,18 @@
damage_cap = 15000
},
/area/almayer/squads/alpha)
-"mfH" = (
-/obj/structure/machinery/door/airlock/almayer/maint{
- dir = 1
+"mfL" = (
+/obj/item/reagent_container/glass/bucket/janibucket{
+ pixel_x = -1;
+ pixel_y = 13
+ },
+/obj/structure/sign/safety/water{
+ pixel_x = -17
},
-/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
- icon_state = "test_floor4"
+ icon_state = "plate"
},
-/area/almayer/maint/hull/upper/u_a_s)
+/area/almayer/maint/upper/u_f_s)
"mfM" = (
/obj/structure/surface/table/almayer,
/obj/effect/landmark/map_item,
@@ -47135,22 +47117,22 @@
icon_state = "silver"
},
/area/almayer/living/briefing)
+"mfO" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 6
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/midship_hallway)
"mfQ" = (
/turf/open/floor/almayer{
allow_construction = 0;
icon_state = "plate"
},
/area/almayer/living/pilotbunks)
-"mfR" = (
-/obj/structure/surface/table/almayer,
-/obj/item/paper_bin{
- pixel_x = -6;
- pixel_y = 7
- },
-/obj/item/tool/pen,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/upper/u_m_s)
"mgb" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_m_p)
@@ -47267,6 +47249,9 @@
icon_state = "plate"
},
/area/almayer/squads/alpha)
+"mis" = (
+/turf/open/floor/plating,
+/area/almayer/maint/upper/u_f_s)
"miy" = (
/obj/structure/machinery/optable,
/obj/structure/sign/safety/medical{
@@ -47536,6 +47521,21 @@
icon_state = "test_floor4"
},
/area/almayer/command/corporateliaison)
+"mmn" = (
+/obj/structure/machinery/cm_vending/sorted/cargo_guns/intelligence_officer{
+ density = 0;
+ pixel_x = -32
+ },
+/obj/structure/machinery/light{
+ dir = 8;
+ pixel_x = -32;
+ alpha = 0
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "silver"
+ },
+/area/almayer/command/computerlab)
"mmN" = (
/obj/structure/machinery/door/firedoor/border_only/almayer{
dir = 1
@@ -47554,6 +47554,12 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/starboard_umbilical)
+"mnf" = (
+/turf/open/floor/almayer{
+ dir = 6;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"mng" = (
/turf/open/floor/almayer{
icon_state = "redcorner"
@@ -47565,33 +47571,18 @@
},
/turf/open/floor/almayer,
/area/almayer/lifeboat_pumps/south1)
-"mnC" = (
+"mnB" = (
+/obj/structure/surface/rack,
+/obj/item/clothing/glasses/meson,
/turf/open/floor/almayer{
- dir = 8;
- icon_state = "greencorner"
+ icon_state = "red"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/maint/upper/u_a_p)
"mnI" = (
/turf/open/floor/almayer{
icon_state = "blue"
},
/area/almayer/living/briefing)
-"mnV" = (
-/obj/structure/sign/safety/refridgeration{
- pixel_y = -32
- },
-/obj/structure/sign/safety/medical{
- pixel_x = 15;
- pixel_y = -32
- },
-/obj/structure/machinery/camera/autoname/almayer{
- dir = 1;
- name = "ship-grade camera"
- },
-/turf/open/floor/almayer{
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"mnW" = (
/obj/structure/surface/table/almayer,
/obj/item/device/reagent_scanner{
@@ -47623,15 +47614,6 @@
icon_state = "cargo"
},
/area/almayer/maint/hull/upper/u_f_p)
-"moq" = (
-/obj/structure/largecrate/random/case/double,
-/obj/structure/machinery/light{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_p)
"mor" = (
/obj/structure/machinery/light{
dir = 8
@@ -47729,12 +47711,6 @@
},
/turf/open/floor/wood/ship,
/area/almayer/living/commandbunks)
-"mqd" = (
-/obj/structure/closet/emcloset,
-/turf/open/floor/almayer{
- icon_state = "cargo"
- },
-/area/almayer/hallways/upper/aft_hallway)
"mqg" = (
/obj/structure/bed/chair{
dir = 4
@@ -47748,6 +47724,16 @@
icon_state = "silver"
},
/area/almayer/shipboard/brig/cic_hallway)
+"mqh" = (
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/obj/structure/machinery/cm_vending/sorted/medical/marinemed,
+/obj/structure/medical_supply_link,
+/turf/open/floor/almayer{
+ icon_state = "redfull"
+ },
+/area/almayer/command/cic)
"mqt" = (
/turf/open/floor/almayer{
icon_state = "bluecorner"
@@ -47773,18 +47759,6 @@
icon_state = "plate"
},
/area/almayer/squads/bravo)
-"mqR" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"mqU" = (
/obj/structure/pipes/vents/pump{
dir = 8;
@@ -47824,6 +47798,19 @@
icon_state = "green"
},
/area/almayer/squads/req)
+"mrO" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 5
+ },
+/turf/open/floor/almayer{
+ dir = 10;
+ icon_state = "orange"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"msg" = (
/obj/structure/machinery/light,
/obj/structure/sign/safety/waterhazard{
@@ -47888,6 +47875,12 @@
icon_state = "plate"
},
/area/almayer/engineering/upper_engineering/starboard)
+"msS" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/north2)
"msZ" = (
/obj/structure/barricade/handrail{
dir = 8
@@ -48005,6 +47998,11 @@
},
/turf/open/floor/wood/ship,
/area/almayer/living/commandbunks)
+"muW" = (
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"mvg" = (
/obj/docking_port/stationary/escape_pod/west,
/turf/open/floor/plating,
@@ -48096,15 +48094,18 @@
/obj/structure/machinery/light,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/stair_clone/upper)
-"mxg" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+"mxo" = (
+/obj/docking_port/stationary/escape_pod/south,
+/turf/open/floor/plating,
+/area/almayer/maint/upper/u_f_p)
+"mxq" = (
+/obj/structure/machinery/door_control/cl/office/door{
+ pixel_y = -20
},
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
+/turf/open/floor/almayer{
+ icon_state = "plate"
},
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/hallways/upper/midship_hallway)
"mxT" = (
/obj/structure/surface/table/almayer,
/obj/item/device/flashlight/lamp,
@@ -48188,26 +48189,17 @@
icon_state = "test_floor4"
},
/area/almayer/shipboard/brig/armory)
-"mze" = (
-/obj/structure/machinery/door/poddoor/almayer/open{
- dir = 4;
- id = "Brig Lockdown Shutters";
- name = "\improper Brig Lockdown Shutter"
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{
- name = "\improper Brig";
- closeOtherId = "brigmaint_n"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/shipboard/brig/starboard_hallway)
"mzg" = (
/turf/open/floor/almayer{
icon_state = "emerald"
},
/area/almayer/squads/charlie)
+"mzn" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"mzq" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 6
@@ -48253,6 +48245,17 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_m_s)
+"mzP" = (
+/obj/structure/stairs{
+ dir = 1
+ },
+/obj/effect/step_trigger/teleporter_vector{
+ name = "Almayer_AresDown2";
+ vector_x = 102;
+ vector_y = -61
+ },
+/turf/open/floor/plating,
+/area/almayer/command/airoom)
"mzS" = (
/turf/open/floor/almayer{
dir = 9;
@@ -48265,11 +48268,29 @@
icon_state = "blue"
},
/area/almayer/living/port_emb)
+"mAe" = (
+/obj/structure/window/framed/almayer/aicore/hull/black/hijack_bustable,
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"mAp" = (
/obj/structure/surface/table/almayer,
/obj/effect/spawner/random/tool,
/turf/open/floor/almayer,
/area/almayer/lifeboat_pumps/south1)
+"mAs" = (
+/obj/effect/step_trigger/teleporter_vector{
+ name = "Almayer_AresDown";
+ vector_x = 96;
+ vector_y = -65
+ },
+/obj/structure/platform{
+ dir = 4
+ },
+/obj/structure/stairs{
+ dir = 1
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"mAF" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -48328,25 +48349,38 @@
icon_state = "dark_sterile"
},
/area/almayer/living/pilotbunks)
-"mBp" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+"mBk" = (
+/obj/structure/surface/table/almayer,
+/obj/item/reagent_container/pill/happy{
+ pixel_x = 6;
+ pixel_y = -4
},
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
+/obj/item/prop/helmetgarb/prescription_bottle{
+ pixel_x = 9
},
-/obj/structure/machinery/door/airlock/almayer/security/reinforced{
- access_modified = 1;
- name = "\improper Astronavigational Deck";
- req_access = null;
- req_one_access_txt = "3;19";
- closeOtherId = "astroladder_n"
+/obj/item/tool/surgery/bonegel/empty{
+ pixel_x = 4;
+ pixel_y = 15
+ },
+/obj/item/tool/surgery/bonegel/empty{
+ pixel_x = -8;
+ pixel_y = 13
+ },
+/obj/item/tool/surgery/bonegel/empty{
+ layer = 3.01;
+ pixel_x = -5;
+ pixel_y = 19
+ },
+/obj/item/storage/box/gloves{
+ layer = 3.2;
+ pixel_x = -5;
+ pixel_y = 2
},
/turf/open/floor/almayer{
- icon_state = "test_floor4"
+ dir = 1;
+ icon_state = "sterile_green_corner"
},
-/area/almayer/shipboard/navigation)
+/area/almayer/medical/lower_medical_medbay)
"mBx" = (
/obj/structure/machinery/firealarm{
dir = 4;
@@ -48373,6 +48407,11 @@
icon_state = "orangefull"
},
/area/almayer/living/briefing)
+"mCg" = (
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_p)
"mCo" = (
/obj/structure/window/framed/almayer,
/obj/structure/machinery/door/firedoor/border_only/almayer{
@@ -48380,6 +48419,23 @@
},
/turf/open/floor/plating,
/area/almayer/squads/req)
+"mCx" = (
+/obj/structure/machinery/door/airlock/almayer/secure/reinforced{
+ access_modified = 1;
+ name = "\improper AI Reception";
+ req_access = null;
+ req_one_access_txt = "91;92";
+ dir = 1
+ },
+/obj/effect/step_trigger/clone_cleaner,
+/obj/structure/machinery/door/poddoor/shutters/almayer{
+ id = "ARES ReceptStairs1";
+ name = "\improper ARES Reception Shutters"
+ },
+/turf/open/floor/almayer/no_build{
+ icon_state = "test_floor4"
+ },
+/area/almayer/command/airoom)
"mCE" = (
/obj/structure/prop/invuln/overhead_pipe{
pixel_x = 12;
@@ -48389,6 +48445,10 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_p)
+"mCJ" = (
+/obj/structure/machinery/power/apc/almayer,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_f_p)
"mCL" = (
/obj/structure/sign/safety/fire_haz{
pixel_x = 8;
@@ -48412,13 +48472,6 @@
icon_state = "green"
},
/area/almayer/squads/req)
-"mDz" = (
-/obj/structure/machinery/shower{
- pixel_y = 16
- },
-/obj/item/tool/soap,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_s)
"mDJ" = (
/turf/open/floor/almayer,
/area/almayer/engineering/upper_engineering/starboard)
@@ -48474,6 +48527,33 @@
/obj/structure/pipes/standard/manifold/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/port_fore_hallway)
+"mEs" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/structure/machinery/door_control{
+ id = "ARES Interior";
+ indestructible = 1;
+ name = "ARES Chamber Lockdown";
+ pixel_x = 24;
+ pixel_y = 8;
+ req_one_access_txt = "90;91;92"
+ },
+/obj/structure/machinery/door/poddoor/railing{
+ closed_layer = 4;
+ density = 0;
+ id = "ARES Railing";
+ layer = 2.1;
+ open_layer = 2.1;
+ unacidable = 0;
+ unslashable = 0
+ },
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 4;
+ icon_state = "ai_silver"
+ },
+/area/almayer/command/airoom)
"mEE" = (
/obj/structure/platform{
dir = 4;
@@ -48568,23 +48648,27 @@
"mFQ" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/maint/hull/lower/s_bow)
+"mGb" = (
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"mGe" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/almayer,
/area/almayer/command/cichallway)
-"mGk" = (
-/obj/structure/disposalpipe/junction,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
"mGu" = (
/turf/open/floor/almayer{
dir = 4;
icon_state = "silver"
},
/area/almayer/command/securestorage)
+"mGL" = (
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "orange"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"mGT" = (
/obj/structure/machinery/status_display{
pixel_y = 30
@@ -48652,12 +48736,6 @@
icon_state = "mono"
},
/area/almayer/medical/hydroponics)
-"mHE" = (
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_silver";
- dir = 8
- },
-/area/almayer/command/airoom)
"mHF" = (
/obj/structure/surface/rack,
/obj/item/clothing/head/headband/red{
@@ -48676,6 +48754,20 @@
icon_state = "mono"
},
/area/almayer/living/pilotbunks)
+"mHT" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "orange"
+ },
+/area/almayer/maint/upper/u_a_s)
+"mHY" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/midship_hallway)
"mId" = (
/obj/structure/closet,
/obj/item/clothing/suit/armor/riot/marine/vintage_riot,
@@ -48687,6 +48779,20 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_m_s)
+"mIi" = (
+/obj/effect/step_trigger/teleporter_vector{
+ name = "Almayer_AresUp";
+ vector_x = -96;
+ vector_y = 65
+ },
+/obj/structure/platform{
+ dir = 8
+ },
+/obj/structure/stairs{
+ dir = 1
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"mIy" = (
/obj/structure/disposalpipe/segment{
dir = 1;
@@ -48710,6 +48816,12 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"mIJ" = (
+/obj/structure/pipes/standard/simple/hidden/supply/no_boom{
+ dir = 6
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"mIP" = (
/obj/structure/pipes/vents/pump,
/obj/effect/decal/warning_stripes{
@@ -48720,6 +48832,16 @@
icon_state = "dark_sterile"
},
/area/almayer/engineering/upper_engineering/port)
+"mIR" = (
+/obj/structure/sign/safety/distribution_pipes{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"mJa" = (
/obj/structure/closet/crate/trashcart,
/obj/item/trash/boonie,
@@ -48757,15 +48879,6 @@
/obj/structure/window/framed/almayer,
/turf/open/floor/plating,
/area/almayer/squads/alpha)
-"mJp" = (
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/aft_hallway)
"mJu" = (
/turf/open/floor/almayer/uscm/directional,
/area/almayer/command/cic)
@@ -48902,6 +49015,10 @@
icon_state = "plate"
},
/area/almayer/living/port_emb)
+"mKN" = (
+/obj/effect/landmark/start/pilot/cas_pilot,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/living/pilotbunks)
"mLe" = (
/obj/structure/pipes/vents/pump{
dir = 8
@@ -48928,9 +49045,6 @@
icon_state = "plate"
},
/area/almayer/living/pilotbunks)
-"mLE" = (
-/turf/open/floor/plating,
-/area/almayer/command/airoom)
"mLF" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -49021,20 +49135,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/perma)
-"mNS" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/largecrate/supply/weapons/m39{
- pixel_x = 2
- },
-/obj/structure/largecrate/supply/weapons/m41a{
- layer = 3.1;
- pixel_x = 6;
- pixel_y = 17
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_s)
"mNX" = (
/turf/open/floor/almayer_hull{
dir = 4;
@@ -49064,12 +49164,6 @@
"mOi" = (
/turf/closed/wall/almayer/outer,
/area/almayer/command/airoom)
-"mOw" = (
-/obj/structure/machinery/light,
-/turf/open/floor/almayer{
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"mOE" = (
/obj/structure/sign/safety/water{
pixel_x = -17
@@ -49078,15 +49172,12 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_s)
-"mOR" = (
-/obj/structure/surface/rack,
-/obj/item/roller,
-/obj/item/roller,
-/obj/effect/decal/cleanable/dirt,
+"mOZ" = (
+/obj/structure/closet/firecloset,
/turf/open/floor/almayer{
- icon_state = "plate"
+ icon_state = "cargo"
},
-/area/almayer/maint/upper/u_m_s)
+/area/almayer/hallways/upper/midship_hallway)
"mPc" = (
/obj/structure/sign/safety/hvac_old{
pixel_x = 8;
@@ -49130,23 +49221,6 @@
/obj/structure/machinery/vending/snack,
/turf/open/floor/almayer,
/area/almayer/maint/hull/upper/u_f_s)
-"mPK" = (
-/obj/structure/pipes/vents/scrubber{
- dir = 4
- },
-/obj/structure/sign/safety/storage{
- pixel_y = 7;
- pixel_x = -17
- },
-/obj/structure/sign/safety/commline_connection{
- pixel_x = -17;
- pixel_y = -7
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "green"
- },
-/area/almayer/squads/req)
"mPM" = (
/turf/open/floor/almayer{
icon_state = "test_floor4"
@@ -49200,12 +49274,6 @@
"mQC" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/port_atmos)
-"mQF" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/stern_hallway)
"mQY" = (
/obj/structure/machinery/door/airlock/almayer/maint{
dir = 1
@@ -49283,6 +49351,12 @@
icon_state = "test_floor4"
},
/area/almayer/maint/hull/upper/u_a_s)
+"mRJ" = (
+/turf/open/floor/almayer{
+ dir = 9;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"mRQ" = (
/obj/structure/flora/pottedplant{
icon_state = "pottedplant_22"
@@ -49311,6 +49385,21 @@
},
/turf/open/floor/almayer,
/area/almayer/lifeboat_pumps/south1)
+"mSl" = (
+/obj/structure/surface/table/almayer,
+/obj/item/clipboard,
+/obj/item/paper,
+/obj/item/clothing/glasses/mgoggles,
+/obj/item/clothing/glasses/mgoggles,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_s)
+"mSo" = (
+/obj/structure/surface/rack,
+/obj/item/facepaint/sniper,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"mSr" = (
/obj/effect/landmark/crap_item,
/turf/open/floor/almayer,
@@ -49381,16 +49470,6 @@
icon_state = "red"
},
/area/almayer/shipboard/navigation)
-"mTo" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"mTp" = (
/obj/structure/window/reinforced{
dir = 4;
@@ -49405,6 +49484,25 @@
icon_state = "cargo_arrow"
},
/area/almayer/medical/hydroponics)
+"mTr" = (
+/obj/structure/machinery/door_control{
+ id = "ARES StairsLower";
+ name = "ARES Core Lockdown";
+ pixel_x = 24;
+ pixel_y = -8;
+ req_one_access_txt = "90;91;92"
+ },
+/obj/structure/machinery/camera/autoname/almayer/containment/ares{
+ dir = 8;
+ pixel_y = 2;
+ c_tag = "AI - Main Corridor";
+ autoname = 0
+ },
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 4;
+ icon_state = "ai_silver"
+ },
+/area/almayer/command/airoom)
"mTL" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -49434,30 +49532,12 @@
icon_state = "test_floor4"
},
/area/almayer/squads/bravo)
-"mUz" = (
-/obj/structure/surface/table/reinforced/almayer_B,
-/obj/structure/machinery/computer/cameras/almayer/ares{
- dir = 8;
- pixel_x = 17
- },
-/turf/open/floor/almayer/aicore/glowing/no_build{
- icon_state = "ai_floor3"
- },
-/area/almayer/command/airoom)
"mUE" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/almayer{
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_f_s)
-"mUL" = (
-/obj/structure/machinery/power/apc/almayer{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"mUY" = (
/obj/structure/surface/rack,
/obj/effect/spawner/random/tool,
@@ -49560,6 +49640,20 @@
icon_state = "cargo"
},
/area/almayer/living/bridgebunks)
+"mWJ" = (
+/obj/structure/stairs{
+ dir = 8;
+ icon_state = "ramptop"
+ },
+/obj/effect/projector{
+ name = "Almayer_Down3";
+ vector_x = 1;
+ vector_y = -102
+ },
+/turf/open/floor/plating/almayer{
+ allow_construction = 0
+ },
+/area/almayer/hallways/upper/fore_hallway)
"mWQ" = (
/obj/structure/flora/pottedplant{
desc = "It is made of Fiberbush(tm). It contains asbestos.";
@@ -49599,43 +49693,6 @@
/obj/item/tool/wrench,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/p_bow)
-"mXy" = (
-/obj/structure/machinery/power/apc/almayer{
- dir = 1
- },
-/obj/structure/sign/safety/rewire{
- pixel_x = 32
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "orange"
- },
-/area/almayer/hallways/lower/port_aft_hallway)
-"mXP" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
-"mYd" = (
-/obj/structure/sign/safety/escapepod{
- pixel_y = 32
- },
-/obj/structure/sign/safety/east{
- pixel_x = 15;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"mYt" = (
/obj/effect/decal/warning_stripes{
icon_state = "W";
@@ -49651,6 +49708,12 @@
},
/turf/closed/wall/almayer,
/area/almayer/squads/req)
+"mYA" = (
+/obj/structure/machinery/light,
+/turf/open/floor/almayer{
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"mZb" = (
/obj/structure/flora/pottedplant{
icon_state = "pottedplant_22";
@@ -49778,12 +49841,32 @@
icon_state = "plating"
},
/area/almayer/engineering/lower/engine_core)
-"naj" = (
-/obj/structure/machinery/light,
+"nah" = (
+/obj/structure/machinery/status_display{
+ pixel_x = 32
+ },
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/camera/autoname/almayer{
+ dir = 1;
+ name = "ship-grade camera"
+ },
+/obj/item/desk_bell{
+ anchored = 1
+ },
/turf/open/floor/almayer{
- icon_state = "silver"
+ dir = 6;
+ icon_state = "red"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/shipboard/brig/lobby)
+"naj" = (
+/obj/structure/machinery/door_control{
+ id = "ARES JoeCryo";
+ name = "ARES WorkingJoe Bay Shutters";
+ req_one_access_txt = "91;92";
+ pixel_x = -24
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"nar" = (
/obj/structure/toilet{
dir = 4
@@ -49854,18 +49937,15 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/port_midship_hallway)
-"nbW" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
+"nbH" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
},
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/area/almayer/hallways/upper/stern_hallway)
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/fore_hallway)
"ncf" = (
/obj/structure/machinery/cryopod/right{
layer = 3.1;
@@ -49895,6 +49975,16 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/starboard)
+"ncx" = (
+/obj/structure/machinery/door/airlock/almayer/maint{
+ dir = 1;
+ name = "\improper Emergency Air Storage"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/upper/u_a_s)
"ncE" = (
/obj/structure/machinery/light{
dir = 8
@@ -49922,13 +50012,6 @@
icon_state = "red"
},
/area/almayer/hallways/upper/port)
-"ncV" = (
-/obj/structure/closet,
-/obj/item/clothing/glasses/welding,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"ndl" = (
/obj/structure/disposalpipe/segment{
dir = 8;
@@ -49976,6 +50059,12 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/vehiclehangar)
+"ner" = (
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/south2)
"new" = (
/obj/item/reagent_container/glass/bucket/janibucket,
/obj/item/reagent_container/glass/bucket/janibucket{
@@ -50031,12 +50120,28 @@
"neT" = (
/obj/structure/transmitter/rotary{
name = "CL Office Telephone";
- phone_category = "Almayer";
+ phone_category = "Offices";
phone_id = "CL Office"
},
/obj/structure/surface/table/woodentable/fancy,
/turf/open/floor/carpet,
/area/almayer/command/corporateliaison)
+"neZ" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out";
+ layer = 2.5
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out"
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/port)
"nff" = (
/obj/structure/surface/table/almayer,
/obj/item/trash/USCMtray{
@@ -50047,6 +50152,13 @@
icon_state = "orangefull"
},
/area/almayer/living/briefing)
+"nfC" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "NE-out";
+ pixel_y = 1
+ },
+/turf/open/floor/almayer,
+/area/almayer/lifeboat_pumps/north1)
"ngf" = (
/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
pixel_y = 25
@@ -50126,14 +50238,6 @@
icon_state = "plate"
},
/area/almayer/squads/bravo)
-"ngE" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 2
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/starboard)
"ngI" = (
/turf/open/floor/almayer{
dir = 8;
@@ -50257,13 +50361,13 @@
/obj/structure/surface/table/almayer,
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/cells)
-"nhT" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "orangecorner"
+"nhN" = (
+/obj/structure/sign/safety/autoopenclose{
+ pixel_x = 7;
+ pixel_y = 32
},
-/area/almayer/hallways/upper/stern_hallway)
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_m_p)
"nhV" = (
/obj/structure/machinery/light/small,
/turf/open/floor/almayer{
@@ -50278,6 +50382,14 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/south1)
+"nii" = (
+/obj/structure/machinery/status_display{
+ pixel_y = -30
+ },
+/turf/open/floor/almayer{
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"nik" = (
/obj/effect/decal/warning_stripes{
icon_state = "SE-out";
@@ -50424,6 +50536,12 @@
icon_state = "test_floor4"
},
/area/almayer/engineering/lower/engine_core)
+"nkc" = (
+/obj/structure/largecrate/random/barrel/red,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"nkj" = (
/obj/structure/sign/safety/hvac_old{
pixel_x = 8;
@@ -50471,17 +50589,31 @@
icon_state = "red"
},
/area/almayer/hallways/upper/starboard)
+"nkK" = (
+/obj/structure/stairs{
+ dir = 1;
+ icon_state = "ramptop"
+ },
+/obj/effect/projector{
+ name = "Almayer_AresDown2";
+ vector_x = 102;
+ vector_y = -61
+ },
+/turf/open/floor/almayer/aicore/glowing/no_build{
+ icon_state = "ai_floor3";
+ light_range = 3
+ },
+/area/almayer/command/airoom)
"nkX" = (
/obj/structure/surface/table/almayer,
-/obj/structure/machinery/computer/cameras/almayer_network{
- dir = 4;
- layer = 2.8;
- pixel_y = 5
- },
/obj/structure/sign/safety/terminal{
pixel_x = 8;
pixel_y = 32
},
+/obj/structure/machinery/computer/cameras/almayer/ares{
+ dir = 4;
+ pixel_y = 5
+ },
/turf/open/floor/almayer{
dir = 9;
icon_state = "red"
@@ -50506,6 +50638,14 @@
icon_state = "cargo_arrow"
},
/area/almayer/living/briefing)
+"nlI" = (
+/obj/structure/machinery/power/apc/almayer{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_s)
"nlW" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/largecrate/random/barrel/green,
@@ -50614,18 +50754,6 @@
icon_state = "plate"
},
/area/almayer/stair_clone/upper)
-"nnH" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/machinery/light/small{
- dir = 1
- },
-/obj/structure/largecrate/random/secure{
- pixel_x = -5
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_s)
"nnL" = (
/obj/structure/toilet{
dir = 8
@@ -50638,6 +50766,12 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/south1)
+"noe" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"noj" = (
/obj/structure/largecrate,
/obj/structure/prop/server_equipment/laptop{
@@ -50648,6 +50782,19 @@
icon_state = "test_floor4"
},
/area/almayer/squads/req)
+"noo" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/machinery/door/airlock/almayer/security/reinforced{
+ access_modified = 1;
+ closeOtherId = "astroladder_s";
+ name = "\improper Astronavigational Deck";
+ req_access = null;
+ req_one_access_txt = "3;19"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/shipboard/navigation)
"nop" = (
/obj/structure/machinery/portable_atmospherics/powered/scrubber,
/turf/open/floor/almayer{
@@ -50694,6 +50841,13 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/starboard_aft_hallway)
+"noO" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out";
+ pixel_x = -1
+ },
+/turf/open/floor/almayer,
+/area/almayer/lifeboat_pumps/south1)
"noP" = (
/obj/structure/machinery/light{
dir = 1
@@ -50711,6 +50865,14 @@
},
/turf/open/floor/plating,
/area/almayer/engineering/starboard_atmos)
+"npq" = (
+/obj/structure/disposalpipe/up/almayer{
+ dir = 8;
+ id = "ares_vault_out";
+ name = "aicore"
+ },
+/turf/closed/wall/almayer/aicore/hull,
+/area/almayer/command/airoom)
"npt" = (
/obj/effect/decal/warning_stripes{
icon_state = "SE-out";
@@ -50766,17 +50928,6 @@
/obj/structure/pipes/standard/manifold/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/req)
-"nqG" = (
-/obj/structure/machinery/light,
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out";
- pixel_x = 1
- },
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "red"
- },
-/area/almayer/lifeboat_pumps/south1)
"nqO" = (
/obj/structure/closet/secure_closet/fridge/fish/stock,
/turf/open/floor/almayer{
@@ -50867,6 +51018,19 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/repair_bay)
+"nsr" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
+"nsH" = (
+/turf/open/floor/almayer{
+ dir = 10;
+ icon_state = "orange"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"nsQ" = (
/obj/structure/sink{
dir = 4;
@@ -50931,15 +51095,6 @@
},
/turf/open/floor/almayer,
/area/almayer/lifeboat_pumps/north2)
-"nub" = (
-/obj/structure/bed/chair{
- dir = 8
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "green"
- },
-/area/almayer/living/starboard_garden)
"nux" = (
/obj/structure/machinery/door/firedoor/border_only/almayer,
/obj/structure/machinery/door/poddoor/almayer/open{
@@ -50992,12 +51147,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/starboard_hallway)
-"nvd" = (
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "silver"
- },
-/area/almayer/maint/hull/upper/u_m_p)
"nve" = (
/obj/structure/janitorialcart,
/obj/item/tool/mop,
@@ -51005,6 +51154,12 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_m_p)
+"nvz" = (
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/south2)
"nvG" = (
/obj/structure/machinery/light{
dir = 8
@@ -51079,40 +51234,12 @@
dir = 4
},
/area/almayer/medical/containment/cell)
-"nwu" = (
-/obj/structure/sign/safety/escapepod{
- pixel_y = -32
- },
-/obj/structure/sign/safety/east{
- pixel_x = 15;
- pixel_y = -32
- },
-/turf/open/floor/almayer{
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
-"nww" = (
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"nwx" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
icon_state = "red"
},
/area/almayer/shipboard/port_missiles)
-"nwA" = (
-/obj/structure/largecrate/supply/generator,
-/obj/structure/machinery/light/small{
- dir = 1
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "red"
- },
-/area/almayer/maint/hull/upper/u_a_p)
"nwD" = (
/turf/open/floor/almayer{
dir = 1;
@@ -51136,10 +51263,6 @@
icon_state = "plate"
},
/area/almayer/living/pilotbunks)
-"nwT" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_s)
"nwU" = (
/obj/structure/machinery/light{
dir = 4
@@ -51221,6 +51344,11 @@
icon_state = "test_floor4"
},
/area/almayer/living/briefing)
+"nyK" = (
+/turf/open/floor/almayer{
+ icon_state = "greencorner"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"nyQ" = (
/turf/open/floor/almayer,
/area/almayer/squads/charlie_delta_shared)
@@ -51263,6 +51391,18 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/req)
+"nzT" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 1
+ },
+/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{
+ closeOtherId = "brignorth";
+ name = "\improper Brig Lobby"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/shipboard/brig/starboard_hallway)
"nAd" = (
/obj/structure/machinery/power/apc/almayer{
dir = 4
@@ -51273,6 +51413,13 @@
/obj/effect/landmark/yautja_teleport,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_f_s)
+"nAv" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out";
+ pixel_y = 1
+ },
+/turf/open/floor/almayer,
+/area/almayer/lifeboat_pumps/north1)
"nAY" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -51311,15 +51458,6 @@
},
/turf/open/floor/wood/ship,
/area/almayer/command/corporateliaison)
-"nBo" = (
-/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
- pixel_y = 25
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "bluecorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"nBw" = (
/turf/open/floor/almayer{
dir = 1;
@@ -51408,6 +51546,10 @@
pixel_x = -1;
pixel_y = 2
},
+/obj/item/clothing/mask/cigarette/pipe{
+ layer = 2.8;
+ pixel_x = 14
+ },
/turf/open/floor/wood/ship,
/area/almayer/living/commandbunks)
"nCD" = (
@@ -51475,6 +51617,26 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/medical/medical_science)
+"nDy" = (
+/obj/structure/bed/chair/comfy/ares{
+ dir = 1
+ },
+/obj/structure/pipes/vents/pump/no_boom/gas{
+ vent_tag = "Core Chamber"
+ },
+/turf/open/floor/almayer/no_build{
+ icon_state = "plating"
+ },
+/area/almayer/command/airoom)
+"nDH" = (
+/obj/structure/machinery/light/small{
+ dir = 1;
+ pixel_y = 20
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"nDM" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/disposalpipe/segment,
@@ -51650,12 +51812,6 @@
icon_state = "cargo"
},
/area/almayer/lifeboat_pumps/north2)
-"nGZ" = (
-/obj/structure/largecrate/supply/supplies/water,
-/turf/open/floor/almayer{
- icon_state = "red"
- },
-/area/almayer/maint/hull/upper/u_a_p)
"nHu" = (
/obj/structure/largecrate/random/barrel/yellow,
/obj/structure/machinery/light{
@@ -51748,13 +51904,6 @@
icon_state = "plating"
},
/area/almayer/shipboard/port_missiles)
-"nIF" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/aft_hallway)
"nIG" = (
/obj/structure/machinery/power/apc/almayer{
dir = 4
@@ -51809,6 +51958,19 @@
icon_state = "red"
},
/area/almayer/command/lifeboat)
+"nKO" = (
+/obj/structure/machinery/disposal/delivery{
+ density = 0;
+ desc = "A pneumatic delivery unit.";
+ icon_state = "delivery_engi";
+ name = "Returns";
+ pixel_y = 28
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"nKP" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -51863,15 +52025,6 @@
icon_state = "plating"
},
/area/almayer/engineering/upper_engineering)
-"nLM" = (
-/obj/structure/machinery/status_display{
- pixel_y = 30
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"nMe" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -51942,12 +52095,6 @@
icon_state = "emeraldcorner"
},
/area/almayer/living/briefing)
-"nNI" = (
-/obj/structure/bed/chair{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_m_s)
"nNT" = (
/obj/item/tool/weldingtool,
/turf/open/floor/plating/plating_catwalk,
@@ -51998,6 +52145,15 @@
icon_state = "plate"
},
/area/almayer/command/corporateliaison)
+"nOp" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"nOx" = (
/obj/item/stack/sheet/metal,
/turf/open/floor/plating/plating_catwalk,
@@ -52140,14 +52296,6 @@
icon_state = "plating_striped"
},
/area/almayer/squads/req)
-"nQw" = (
-/obj/structure/closet,
-/obj/item/clothing/glasses/mgoggles/prescription,
-/obj/item/clothing/glasses/mbcg,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"nQA" = (
/turf/open/floor/carpet,
/area/almayer/command/corporateliaison)
@@ -52222,6 +52370,13 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/execution)
+"nSw" = (
+/obj/structure/pipes/vents/pump,
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"nSG" = (
/obj/structure/machinery/door_control{
id = "tcomms";
@@ -52240,10 +52395,6 @@
},
/turf/open/floor/almayer,
/area/almayer/command/computerlab)
-"nTc" = (
-/obj/docking_port/stationary/escape_pod/south,
-/turf/open/floor/plating,
-/area/almayer/maint/upper/u_m_p)
"nTl" = (
/turf/open/floor/almayer{
dir = 1;
@@ -52423,20 +52574,6 @@
icon_state = "silver"
},
/area/almayer/shipboard/brig/cic_hallway)
-"nVA" = (
-/obj/structure/stairs{
- dir = 8;
- icon_state = "ramptop"
- },
-/obj/effect/projector{
- name = "Almayer_Down3";
- vector_x = 1;
- vector_y = -102
- },
-/turf/open/floor/plating/almayer{
- allow_construction = 0
- },
-/area/almayer/hallways/upper/aft_hallway)
"nVB" = (
/turf/open/floor/almayer,
/area/almayer/command/securestorage)
@@ -52478,6 +52615,16 @@
icon_state = "test_floor4"
},
/area/almayer/engineering/upper_engineering/starboard)
+"nWf" = (
+/obj/structure/sign/safety/maint{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"nWN" = (
/obj/structure/surface/table/almayer,
/turf/open/floor/wood/ship,
@@ -52497,6 +52644,15 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_s)
+"nXG" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/south2)
"nXO" = (
/obj/structure/surface/table/woodentable/fancy,
/obj/item/storage/fancy/cigar{
@@ -52534,6 +52690,15 @@
icon_state = "test_floor4"
},
/area/almayer/squads/req)
+"nXV" = (
+/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
+ pixel_y = 25
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"nYc" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -52553,12 +52718,6 @@
},
/turf/open/floor/wood/ship,
/area/almayer/shipboard/brig/cells)
-"nYf" = (
-/obj/structure/machinery/cm_vending/clothing/intelligence_officer,
-/turf/open/floor/almayer{
- icon_state = "silverfull"
- },
-/area/almayer/command/securestorage)
"nYi" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
@@ -52602,6 +52761,29 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/starboard_aft_hallway)
+"nZf" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/upper/midship_hallway)
+"nZm" = (
+/obj/structure/machinery/door_control{
+ id = "OTStore";
+ name = "Shutters";
+ pixel_y = 24;
+ access_modified = 1;
+ req_one_access_txt = "35"
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "NE-out";
+ pixel_y = 1
+ },
+/turf/open/floor/almayer,
+/area/almayer/engineering/lower/workshop/hangar)
"nZy" = (
/obj/structure/surface/table/almayer,
/obj/structure/disposalpipe/segment{
@@ -52616,6 +52798,12 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/u_a_p)
+"nZK" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"nZR" = (
/obj/structure/machinery/power/apc/almayer{
dir = 8
@@ -52662,6 +52850,18 @@
icon_state = "plating_striped"
},
/area/almayer/maint/hull/lower/l_a_p)
+"oaP" = (
+/obj/structure/machinery/light/small{
+ dir = 8
+ },
+/obj/structure/closet,
+/obj/item/clothing/under/marine,
+/obj/item/clothing/suit/storage/marine,
+/obj/item/clothing/head/helmet/marine,
+/obj/item/clothing/head/cmcap,
+/obj/item/clothing/head/cmcap,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_s)
"oaW" = (
/obj/structure/machinery/cryopod/right,
/turf/open/floor/almayer{
@@ -52700,14 +52900,6 @@
icon_state = "plate"
},
/area/almayer/squads/alpha_bravo_shared)
-"obJ" = (
-/obj/structure/machinery/light/small{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"obQ" = (
/obj/structure/bed/chair{
dir = 8
@@ -52762,22 +52954,14 @@
},
/turf/open/floor/almayer/aicore/glowing/no_build,
/area/almayer/command/airoom)
-"ocI" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
-"ocX" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
+"ocL" = (
+/obj/structure/machinery/cryopod/right{
+ dir = 4
},
-/obj/effect/step_trigger/clone_cleaner,
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "green"
+/turf/open/floor/almayer/aicore/no_build{
+ icon_state = "ai_cargo"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/command/airoom)
"odb" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer{
@@ -52962,18 +53146,19 @@
icon_state = "red"
},
/area/almayer/hallways/upper/port)
-"ogd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
+"ofY" = (
+/obj/structure/surface/table/reinforced/almayer_B{
+ indestructible = 1;
+ unacidable = 1;
+ unslashable = 1
},
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
+/obj/structure/machinery/computer/working_joe{
+ layer = 3.3;
+ dir = 4;
+ pixel_y = 6
},
-/area/almayer/hallways/upper/stern_hallway)
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"ogK" = (
/obj/structure/bed/bedroll{
desc = "A bed of cotton fabric, purposely made for a cat to comfortably sleep on.";
@@ -52988,6 +53173,19 @@
},
/turf/open/floor/wood/ship,
/area/almayer/living/commandbunks)
+"ogT" = (
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
+"ohi" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/south2)
"ohj" = (
/obj/structure/machinery/cryopod,
/turf/open/floor/almayer{
@@ -53083,13 +53281,6 @@
/obj/effect/landmark/yautja_teleport,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_m_s)
-"oig" = (
-/obj/structure/machinery/light,
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"oih" = (
/obj/structure/bed{
icon_state = "abed"
@@ -53154,12 +53345,22 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/warden_office)
-"oiB" = (
+"oiz" = (
+/obj/structure/machinery/door/poddoor/shutters/almayer/open{
+ dir = 2;
+ id = "Warden Office Shutters";
+ name = "\improper Privacy Shutters"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{
+ closeOtherId = "brigwarden";
+ dir = 1;
+ name = "\improper Warden's Office"
+ },
/turf/open/floor/almayer{
- dir = 10;
- icon_state = "green"
+ icon_state = "test_floor4"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/shipboard/brig/warden_office)
"oiL" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -53233,6 +53434,9 @@
},
/turf/open/floor/wood/ship,
/area/almayer/command/corporateliaison)
+"ojX" = (
+/turf/open/floor/plating,
+/area/almayer/maint/upper/u_f_p)
"ojZ" = (
/obj/structure/window/framed/almayer/white,
/obj/structure/machinery/door/firedoor/border_only/almayer,
@@ -53264,19 +53468,6 @@
icon_state = "plate"
},
/area/almayer/command/lifeboat)
-"oko" = (
-/obj/structure/largecrate/supply/supplies/tables_racks,
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "red"
- },
-/area/almayer/maint/hull/upper/u_a_p)
-"okx" = (
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"okD" = (
/obj/structure/prop/almayer/name_stencil{
icon_state = "almayer6"
@@ -53296,15 +53487,12 @@
/obj/structure/largecrate/random/case/double,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/s_bow)
-"olC" = (
-/obj/structure/largecrate/random/barrel/red,
-/obj/structure/machinery/light/small{
- dir = 8
- },
+"olF" = (
+/obj/structure/closet/emcloset,
/turf/open/floor/almayer{
- icon_state = "plate"
+ icon_state = "cargo"
},
-/area/almayer/maint/upper/u_m_s)
+/area/almayer/hallways/upper/midship_hallway)
"olM" = (
/obj/structure/bed/chair{
can_buckle = 0;
@@ -53379,18 +53567,6 @@
/obj/structure/window/framed/almayer/white,
/turf/open/floor/plating,
/area/almayer/medical/lockerroom)
-"omp" = (
-/obj/effect/step_trigger/clone_cleaner,
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out"
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 2
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/aft_hallway)
"omt" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/simple/hidden/supply,
@@ -53428,18 +53604,6 @@
icon_state = "orange"
},
/area/almayer/hallways/hangar)
-"onh" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"onn" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer,
@@ -53479,6 +53643,20 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/upper_medical)
+"onU" = (
+/obj/effect/step_trigger/teleporter_vector{
+ name = "Almayer_AresDown";
+ vector_x = 96;
+ vector_y = -65
+ },
+/obj/structure/platform{
+ dir = 8
+ },
+/obj/structure/stairs{
+ dir = 1
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"onY" = (
/obj/structure/surface/table/almayer,
/obj/item/paper_bin/uscm,
@@ -53534,6 +53712,12 @@
icon_state = "test_floor5"
},
/area/almayer/hallways/lower/port_midship_hallway)
+"opu" = (
+/turf/open/floor/almayer{
+ dir = 6;
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/north2)
"opC" = (
/obj/structure/machinery/door/airlock/almayer/command/reinforced{
name = "\improper Combat Information Center"
@@ -53565,24 +53749,6 @@
/obj/docking_port/stationary/emergency_response/external/port4,
/turf/open/space/basic,
/area/space)
-"opN" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/sign/safety/bridge{
- pixel_y = 32
- },
-/obj/structure/sign/safety/reception{
- pixel_x = 15;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/aft_hallway)
"opV" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -53708,14 +53874,19 @@
icon_state = "silver"
},
/area/almayer/shipboard/brig/cic_hallway)
-"orq" = (
-/obj/item/storage/toolbox/mechanical{
- pixel_y = 13
+"orx" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out"
},
+/obj/effect/decal/warning_stripes{
+ icon_state = "NE-out";
+ pixel_y = 1
+ },
+/obj/structure/machinery/door/airlock/almayer/maint,
/turf/open/floor/almayer{
- icon_state = "plate"
+ icon_state = "test_floor4"
},
-/area/almayer/maint/hull/upper/u_m_s)
+/area/almayer/maint/upper/u_a_s)
"orH" = (
/turf/open/floor/almayer/uscm/directional{
dir = 10
@@ -53738,23 +53909,15 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/alpha_bravo_shared)
-"osn" = (
-/obj/item/trash/USCMtray{
- pixel_x = -4;
- pixel_y = 10
- },
-/obj/structure/surface/table/almayer,
-/obj/item/tool/kitchen/utensil/pfork{
- pixel_x = 9;
- pixel_y = 8
- },
-/obj/structure/machinery/light/small{
- dir = 8
+"osr" = (
+/obj/structure/largecrate/random/case/double,
+/obj/structure/machinery/light{
+ dir = 4
},
/turf/open/floor/almayer{
icon_state = "plate"
},
-/area/almayer/maint/upper/u_m_s)
+/area/almayer/maint/upper/u_f_p)
"osx" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -53767,14 +53930,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"osy" = (
-/obj/effect/step_trigger/clone_cleaner,
-/obj/structure/platform_decoration,
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_silver";
- dir = 4
- },
-/area/almayer/command/airoom)
"osz" = (
/obj/structure/machinery/door/firedoor/border_only/almayer,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -53875,18 +54030,6 @@
/obj/structure/machinery/light,
/turf/open/floor/almayer,
/area/almayer/hallways/lower/starboard_midship_hallway)
-"otE" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"otW" = (
/obj/structure/machinery/light/small,
/obj/structure/prop/invuln/overhead_pipe{
@@ -54061,15 +54204,6 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/starboard_aft_hallway)
-"oxg" = (
-/obj/structure/machinery/camera/autoname/almayer{
- name = "ship-grade camera"
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"oxi" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 10
@@ -54118,6 +54252,15 @@
/obj/structure/machinery/photocopier,
/turf/open/floor/almayer,
/area/almayer/command/lifeboat)
+"oyB" = (
+/obj/structure/sign/safety/distribution_pipes{
+ pixel_x = -17
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"oyC" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 10
@@ -54255,17 +54398,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_p)
-"oAY" = (
-/obj/effect/projector{
- name = "Almayer_Down3";
- vector_x = 1;
- vector_y = -102
- },
-/turf/open/floor/almayer{
- allow_construction = 0;
- icon_state = "plate"
- },
-/area/almayer/hallways/upper/aft_hallway)
"oBq" = (
/obj/structure/bed,
/obj/structure/machinery/flasher{
@@ -54294,6 +54426,16 @@
icon_state = "silver"
},
/area/almayer/command/cichallway)
+"oBD" = (
+/obj/structure/pipes/vents/pump/no_boom/gas{
+ vent_tag = "Access Hall";
+ dir = 8
+ },
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 4;
+ icon_state = "ai_silver"
+ },
+/area/almayer/command/airoom)
"oCa" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -54349,6 +54491,12 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_m_s)
+"oDa" = (
+/obj/effect/landmark/yautja_teleport,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"oDh" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/p_bow)
@@ -54366,6 +54514,13 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/medical_science)
+"oDm" = (
+/obj/structure/sign/safety/life_support{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"oDv" = (
/turf/open/floor/almayer{
dir = 9;
@@ -54472,6 +54627,18 @@
icon_state = "test_floor4"
},
/area/almayer/lifeboat_pumps/north1)
+"oEn" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"oEo" = (
/obj/effect/landmark/start/marine/medic/delta,
/obj/effect/landmark/late_join/delta,
@@ -54501,6 +54668,17 @@
},
/turf/open/floor/almayer,
/area/almayer/engineering/lower/workshop/hangar)
+"oEA" = (
+/obj/structure/surface/table/reinforced/prison,
+/obj/item/weapon/gun/shotgun/pump{
+ starting_attachment_types = list(/obj/item/attachable/stock/shotgun);
+ pixel_y = 9
+ },
+/obj/item/stack/sheet/cardboard/small_stack{
+ layer = 3.01
+ },
+/turf/open/floor/almayer,
+/area/almayer/squads/charlie_delta_shared)
"oEE" = (
/obj/structure/machinery/light{
unacidable = 1;
@@ -54549,6 +54727,10 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_s)
+"oFz" = (
+/obj/effect/step_trigger/clone_cleaner,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/fore_hallway)
"oFV" = (
/obj/structure/sign/poster{
pixel_x = -32;
@@ -54623,6 +54805,14 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/repair_bay)
+"oGI" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/turf/open/floor/almayer{
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"oGJ" = (
/obj/structure/pipes/standard/manifold/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
@@ -54647,6 +54837,14 @@
icon_state = "orange"
},
/area/almayer/living/port_emb)
+"oGW" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"oGY" = (
/obj/item/device/flashlight/lamp/green{
pixel_x = 5;
@@ -54754,29 +54952,19 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/processing)
-"oIr" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_x = 1;
- pixel_y = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NW-out";
- pixel_x = -1;
- pixel_y = 1
- },
-/obj/structure/machinery/door/airlock/almayer/research/reinforced{
- dir = 8;
- name = "\improper Containment Airlock";
- closeOtherId = "containment_n"
- },
-/obj/structure/machinery/door/poddoor/almayer/biohazard/white{
+"oIn" = (
+/obj/effect/landmark/start/liaison,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_m_p)
+"oIp" = (
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
},
-/area/almayer/medical/medical_science)
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/fore_hallway)
"oIt" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -54786,6 +54974,12 @@
"oIB" = (
/turf/closed/wall/almayer,
/area/almayer/command/combat_correspondent)
+"oIY" = (
+/obj/structure/largecrate/random/barrel,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_p)
"oJj" = (
/obj/structure/machinery/light{
dir = 8
@@ -54815,6 +55009,14 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/hangar)
+"oJK" = (
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ icon_state = "redfull"
+ },
+/area/almayer/lifeboat_pumps/south2)
"oJL" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -54831,27 +55033,6 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/port_fore_hallway)
-"oJR" = (
-/obj/effect/projector{
- name = "Almayer_AresDown";
- vector_x = 97;
- vector_y = -65
- },
-/obj/structure/platform{
- dir = 8
- },
-/obj/structure/stairs{
- dir = 1;
- icon_state = "ramptop"
- },
-/obj/structure/machinery/door_control{
- id = "ARES StairsUpper";
- name = "ARES Core Access";
- pixel_x = -24;
- req_one_access_txt = "90;91;92"
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"oKb" = (
/obj/structure/machinery/status_display{
pixel_y = 30
@@ -54901,24 +55082,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/starboard_fore_hallway)
-"oLm" = (
-/obj/structure/machinery/door_control{
- id = "ARES StairsLower";
- name = "ARES Core Lockdown";
- pixel_x = -24;
- pixel_y = 8;
- req_one_access_txt = "90;91;92"
- },
-/obj/structure/machinery/camera/autoname/almayer/containment/ares{
- dir = 4;
- pixel_y = -8
- },
-/obj/effect/step_trigger/clone_cleaner,
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_silver";
- dir = 8
- },
-/area/almayer/command/airoom)
"oLF" = (
/obj/structure/machinery/door/firedoor/border_only/almayer,
/obj/structure/machinery/door/poddoor/almayer/open{
@@ -54996,10 +55159,6 @@
/obj/structure/pipes/vents/pump,
/turf/open/floor/almayer,
/area/almayer/lifeboat_pumps/north1)
-"oNa" = (
-/obj/structure/machinery/light,
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"oNb" = (
/obj/structure/surface/table/almayer,
/obj/structure/flora/pottedplant{
@@ -55036,6 +55195,12 @@
icon_state = "plating"
},
/area/almayer/medical/upper_medical)
+"oNK" = (
+/obj/structure/machinery/power/apc/almayer{
+ dir = 1
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/hull/upper/u_a_s)
"oNM" = (
/obj/structure/largecrate/random/barrel,
/turf/open/floor/almayer{
@@ -55052,6 +55217,23 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
+"oNW" = (
+/obj/structure/pipes/vents/scrubber{
+ dir = 4
+ },
+/obj/structure/sign/safety/storage{
+ pixel_x = -17;
+ pixel_y = 7
+ },
+/obj/structure/sign/safety/commline_connection{
+ pixel_x = -17;
+ pixel_y = -7
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "green"
+ },
+/area/almayer/squads/req)
"oNY" = (
/obj/structure/flora/pottedplant{
icon_state = "pottedplant_18";
@@ -55062,15 +55244,6 @@
},
/turf/open/floor/wood/ship,
/area/almayer/command/corporateliaison)
-"oOi" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 1
- },
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/stern_hallway)
"oOp" = (
/obj/structure/surface/table/almayer,
/obj/item/tool/wirecutters,
@@ -55108,6 +55281,15 @@
icon_state = "plate"
},
/area/almayer/command/lifeboat)
+"oOZ" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"oPf" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 8
@@ -55160,12 +55342,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_s)
-"oPT" = (
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"oQn" = (
/turf/open/floor/almayer{
dir = 1;
@@ -55196,6 +55372,11 @@
icon_state = "cargo_arrow"
},
/area/almayer/living/briefing)
+"oQI" = (
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/hallways/upper/port)
"oQJ" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer,
@@ -55242,6 +55423,17 @@
icon_state = "test_floor4"
},
/area/almayer/maint/hull/upper/u_f_s)
+"oRy" = (
+/obj/structure/sign/safety/autodoc{
+ pixel_x = 20;
+ pixel_y = -32
+ },
+/obj/structure/machinery/cm_vending/sorted/medical/bolted,
+/obj/structure/medical_supply_link/green,
+/turf/open/floor/almayer{
+ icon_state = "sterile_green_side"
+ },
+/area/almayer/medical/lower_medical_medbay)
"oRJ" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -55365,12 +55557,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_p)
-"oTc" = (
-/obj/structure/pipes/vents/pump,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"oTe" = (
/obj/item/prop/almayer/box,
/obj/item/prop{
@@ -55469,12 +55655,6 @@
icon_state = "silver"
},
/area/almayer/command/cichallway)
-"oUO" = (
-/obj/structure/machinery/camera/autoname/almayer{
- name = "ship-grade camera"
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/stern_hallway)
"oUZ" = (
/obj/structure/surface/rack,
/obj/item/tool/crowbar,
@@ -55517,6 +55697,11 @@
allow_construction = 0
},
/area/almayer/hallways/lower/port_fore_hallway)
+"oVo" = (
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"oVY" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 9
@@ -55619,18 +55804,6 @@
/obj/effect/decal/cleanable/ash,
/turf/open/floor/wood/ship,
/area/almayer/shipboard/brig/cells)
-"oXt" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 2
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NW-out";
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/starboard)
"oXJ" = (
/obj/structure/machinery/suit_storage_unit/compression_suit/uscm,
/turf/open/floor/almayer{
@@ -55645,6 +55818,17 @@
icon_state = "orange"
},
/area/almayer/engineering/lower)
+"oXP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"oXY" = (
/obj/structure/machinery/camera/autoname/almayer{
dir = 8;
@@ -55713,12 +55897,6 @@
icon_state = "silver"
},
/area/almayer/hallways/lower/repair_bay)
-"oZn" = (
-/obj/structure/machinery/light/small{
- dir = 8
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_m_p)
"oZp" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/light,
@@ -55735,6 +55913,17 @@
icon_state = "red"
},
/area/almayer/living/offices/flight)
+"oZx" = (
+/obj/effect/step_trigger/clone_cleaner,
+/obj/structure/machinery/door/poddoor/shutters/almayer{
+ id = "ARES ReceptStairs2";
+ name = "\improper ARES Reception Shutters";
+ plane = -7
+ },
+/turf/open/floor/almayer/no_build{
+ icon_state = "test_floor4"
+ },
+/area/almayer/command/airoom)
"oZy" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -55770,6 +55959,15 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
+"oZI" = (
+/obj/structure/sign/safety/maint{
+ pixel_x = -17
+ },
+/turf/open/floor/almayer{
+ dir = 10;
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/north2)
"oZV" = (
/obj/structure/surface/table/reinforced/prison,
/obj/item/roller,
@@ -55810,6 +56008,17 @@
icon_state = "cargo"
},
/area/almayer/shipboard/brig/cryo)
+"pax" = (
+/obj/effect/step_trigger/clone_cleaner,
+/obj/structure/pipes/vents/pump/no_boom/gas{
+ vent_tag = "Reception";
+ dir = 8
+ },
+/turf/open/floor/almayer/aicore/glowing/no_build{
+ icon_state = "ai_floor3";
+ light_range = 3
+ },
+/area/almayer/command/airoom)
"paI" = (
/obj/structure/sign/safety/debark_lounge{
pixel_x = 15;
@@ -55927,6 +56136,11 @@
icon_state = "cargo"
},
/area/almayer/hallways/hangar)
+"pcs" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/fore_hallway)
"pcv" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 1
@@ -55973,23 +56187,20 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/upper/mess)
+"pdo" = (
+/obj/structure/sign/safety/maint{
+ pixel_x = 32
+ },
+/turf/open/floor/almayer{
+ dir = 6;
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/north2)
"pdp" = (
/turf/open/floor/almayer{
icon_state = "plate"
},
/area/almayer/maint/hull/upper/p_bow)
-"pdy" = (
-/obj/structure/machinery/door_control{
- id = "OTStore";
- name = "Shutters";
- pixel_y = 24
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_y = 1
- },
-/turf/open/floor/almayer,
-/area/almayer/engineering/lower/workshop/hangar)
"pdK" = (
/obj/structure/stairs/perspective{
dir = 8;
@@ -56016,19 +56227,9 @@
"pek" = (
/turf/closed/wall/almayer,
/area/almayer/maint/hull/upper/s_bow)
-"peu" = (
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
+"pep" = (
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_f_p)
"peM" = (
/obj/structure/closet/firecloset,
/turf/open/floor/almayer{
@@ -56124,6 +56325,15 @@
icon_state = "test_floor4"
},
/area/almayer/command/airoom)
+"pga" = (
+/obj/structure/surface/table/almayer,
+/obj/item/storage/firstaid/o2,
+/obj/effect/spawner/random/tool,
+/obj/effect/spawner/random/technology_scanner,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_p)
"pgw" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -56136,21 +56346,6 @@
"pgD" = (
/turf/closed/wall/almayer,
/area/almayer/lifeboat_pumps/south1)
-"pgH" = (
-/obj/effect/projector{
- name = "Almayer_AresDown";
- vector_x = 97;
- vector_y = -65
- },
-/obj/structure/platform{
- dir = 4
- },
-/obj/structure/stairs{
- dir = 1;
- icon_state = "ramptop"
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"pgJ" = (
/obj/structure/sign/safety/hvac_old{
pixel_x = 8;
@@ -56208,10 +56403,10 @@
},
/area/almayer/living/briefing)
"phj" = (
-/obj/structure/machinery/photocopier,
/obj/structure/machinery/light/small{
dir = 1
},
+/obj/structure/machinery/photocopier/wyphotocopier,
/turf/open/floor/almayer{
icon_state = "plate"
},
@@ -56257,6 +56452,15 @@
},
/turf/open/floor/plating,
/area/almayer/shipboard/brig/perma)
+"piQ" = (
+/obj/structure/machinery/status_display{
+ pixel_y = 30
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"pje" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/disposalpipe/segment,
@@ -56311,12 +56515,6 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/starboard_aft_hallway)
-"pjQ" = (
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"pjR" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -56327,15 +56525,6 @@
},
/turf/open/floor/wood/ship,
/area/almayer/living/commandbunks)
-"pjY" = (
-/obj/structure/machinery/light{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/aft_hallway)
"pkz" = (
/turf/open/floor/almayer{
icon_state = "redfull"
@@ -56351,9 +56540,35 @@
icon_state = "orange"
},
/area/almayer/engineering/lower)
+"pkS" = (
+/obj/structure/stairs{
+ dir = 1;
+ icon_state = "ramptop"
+ },
+/obj/effect/projector{
+ name = "Almayer_AresUp2";
+ vector_x = -102;
+ vector_y = 61
+ },
+/turf/open/floor/almayer/aicore/glowing/no_build{
+ icon_state = "ai_floor3"
+ },
+/area/almayer/command/airoom)
+"pld" = (
+/obj/item/book/manual/medical_diagnostics_manual,
+/obj/structure/surface/rack,
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "red"
+ },
+/area/almayer/maint/upper/u_a_p)
"plv" = (
/turf/open/floor/plating,
/area/almayer/maint/hull/lower/l_m_p)
+"plK" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/fore_hallway)
"pmd" = (
/obj/structure/machinery/light,
/obj/structure/disposalpipe/segment{
@@ -56394,14 +56609,14 @@
},
/area/almayer/living/briefing)
"pmV" = (
-/obj/structure/prop/server_equipment/yutani_server/broken{
- density = 0;
- desc = "A powerful server tower housing various AI functions.";
- name = "server tower";
- pixel_y = 16
- },
/obj/structure/pipes/standard/simple/hidden/supply/no_boom,
-/turf/open/floor/almayer/aicore/no_build,
+/obj/structure/machinery/computer/tech_control{
+ pixel_y = 16;
+ density = 0
+ },
+/turf/open/floor/almayer/no_build{
+ icon_state = "ai_floors"
+ },
/area/almayer/command/airoom)
"pnh" = (
/obj/structure/ladder{
@@ -56471,6 +56686,15 @@
icon_state = "orange"
},
/area/almayer/engineering/lower/workshop/hangar)
+"poD" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"ppe" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 5
@@ -56538,13 +56762,6 @@
/obj/structure/window/framed/almayer/hull,
/turf/open/floor/plating,
/area/almayer/engineering/upper_engineering/port)
-"pqv" = (
-/obj/structure/pipes/vents/pump,
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/stern_hallway)
"pqw" = (
/obj/structure/sign/safety/maint{
pixel_x = 32
@@ -56599,6 +56816,10 @@
},
/turf/open/floor/almayer,
/area/almayer/living/gym)
+"pqY" = (
+/obj/structure/pipes/standard/manifold/hidden/supply,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/aft_hallway)
"prf" = (
/obj/structure/sign/safety/storage{
pixel_x = -17
@@ -56650,12 +56871,6 @@
},
/turf/open/floor/almayer,
/area/almayer/engineering/lower/workshop/hangar)
-"prV" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/upper/stern_hallway)
"prX" = (
/obj/structure/ladder{
height = 2;
@@ -56678,6 +56893,15 @@
icon_state = "bluefull"
},
/area/almayer/living/bridgebunks)
+"psk" = (
+/obj/structure/machinery/camera/autoname/almayer{
+ name = "ship-grade camera"
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"psK" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -56786,6 +57010,15 @@
icon_state = "plating"
},
/area/almayer/engineering/lower/engine_core)
+"pub" = (
+/obj/structure/sign/safety/distribution_pipes{
+ pixel_x = 32
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"pum" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -56815,28 +57048,24 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/hangar)
-"puJ" = (
-/obj/structure/prop/invuln/pipe_water,
-/obj/structure/prop/invuln/overhead_pipe{
- dir = 4;
- pixel_x = -12;
- pixel_y = 13
- },
-/obj/structure/prop/invuln/overhead_pipe{
- dir = 4;
- pixel_x = -12;
- pixel_y = 13
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_s)
"puO" = (
/obj/structure/sign/safety/maint{
pixel_x = 32
},
/turf/open/floor/almayer,
/area/almayer/lifeboat_pumps/north2)
+"puP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "orange"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"puT" = (
/obj/structure/machinery/light/small{
dir = 4
@@ -56858,15 +57087,6 @@
icon_state = "red"
},
/area/almayer/hallways/upper/aft_hallway)
-"pvE" = (
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/stern_hallway)
"pvI" = (
/obj/structure/sign/safety/rad_haz{
pixel_x = 8;
@@ -56916,14 +57136,19 @@
icon_state = "redcorner"
},
/area/almayer/shipboard/starboard_missiles)
-"pwd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
+"pwl" = (
+/obj/structure/sign/safety/bridge{
+ pixel_x = 15;
+ pixel_y = -32
+ },
+/obj/structure/sign/safety/west{
+ pixel_y = -32
},
/turf/open/floor/almayer{
- icon_state = "mono"
+ dir = 6;
+ icon_state = "blue"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/hallways/upper/fore_hallway)
"pwx" = (
/obj/structure/sign/safety/distribution_pipes{
pixel_x = -17
@@ -57022,12 +57247,6 @@
icon_state = "cargo_arrow"
},
/area/almayer/squads/bravo)
-"pym" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/stern_hallway)
"pyx" = (
/obj/structure/machinery/door_display/research_cell{
dir = 4;
@@ -57113,6 +57332,16 @@
icon_state = "redfull"
},
/area/almayer/hallways/lower/starboard_midship_hallway)
+"pzw" = (
+/obj/structure/sign/safety/maint{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"pzG" = (
/obj/docking_port/stationary/emergency_response/port1,
/turf/open/floor/almayer{
@@ -57151,14 +57380,6 @@
/obj/item/tool/mop,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/u_a_p)
-"pBg" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/stern_hallway)
"pBG" = (
/turf/closed/wall/almayer,
/area/almayer/command/corporateliaison)
@@ -57179,17 +57400,6 @@
icon_state = "plate"
},
/area/almayer/squads/req)
-"pCQ" = (
-/obj/structure/surface/table/almayer,
-/obj/item/attachable/lasersight,
-/obj/item/reagent_container/food/drinks/cans/souto/vanilla{
- pixel_x = 10;
- pixel_y = 11
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_s)
"pDh" = (
/obj/structure/machinery/power/monitor{
name = "Core Power Monitoring"
@@ -57268,12 +57478,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/chief_mp_office)
-"pEd" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/stern_hallway)
"pEl" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -57325,18 +57529,6 @@
icon_state = "test_floor4"
},
/area/almayer/lifeboat_pumps/south1)
-"pFf" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"pFq" = (
/obj/structure/surface/table/almayer,
/obj/item/device/binoculars,
@@ -57366,6 +57558,25 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_s)
+"pGE" = (
+/obj/structure/surface/table/reinforced/prison,
+/obj/item/tool/hand_labeler{
+ pixel_x = 7
+ },
+/obj/item/paper_bin/uscm{
+ pixel_y = 5
+ },
+/obj/item/tool/pen,
+/obj/structure/machinery/computer/working_joe{
+ dir = 8;
+ pixel_x = 17
+ },
+/obj/item/device/megaphone,
+/obj/item/book/manual/medical_diagnostics_manual,
+/turf/open/floor/almayer{
+ icon_state = "sterile_green_side"
+ },
+/area/almayer/medical/lower_medical_medbay)
"pGG" = (
/obj/effect/landmark/start/doctor,
/obj/structure/sign/safety/maint{
@@ -57453,21 +57664,6 @@
/obj/structure/surface/table/almayer,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/armory)
-"pIf" = (
-/obj/structure/mirror{
- pixel_x = 28
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/turf/open/floor/almayer{
- icon_state = "dark_sterile"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"pIo" = (
/obj/structure/machinery/door/airlock/almayer/maint{
dir = 1
@@ -57547,19 +57743,13 @@
icon_state = "dark_sterile"
},
/area/almayer/living/port_emb)
-"pJR" = (
-/obj/effect/step_trigger/teleporter_vector{
- name = "Almayer_AresUp";
- vector_x = -97;
- vector_y = 65
- },
-/obj/structure/stairs{
- dir = 1
- },
-/turf/open/floor/almayer/aicore/glowing/no_build{
- icon_state = "ai_floor3"
+"pJS" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/sign/safety/distribution_pipes{
+ pixel_x = 32
},
-/area/almayer/command/airoom)
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_s)
"pKh" = (
/obj/structure/machinery/alarm/almayer{
dir = 1
@@ -57577,6 +57767,26 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/s_stern)
+"pKH" = (
+/obj/structure/pipes/vents/pump{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
+"pKL" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/machinery/light/small{
+ dir = 1
+ },
+/obj/structure/largecrate/random/secure{
+ pixel_x = -5
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"pKU" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -57631,6 +57841,15 @@
icon_state = "plating"
},
/area/almayer/engineering/lower/engine_core)
+"pLE" = (
+/obj/structure/machinery/firealarm{
+ pixel_y = 28
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"pLO" = (
/obj/structure/machinery/door/poddoor/shutters/almayer{
dir = 4;
@@ -57751,18 +57970,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/s_bow)
-"pOC" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out"
- },
-/obj/structure/sign/safety/distribution_pipes{
- pixel_x = -17
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/aft_hallway)
"pOD" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/disposalpipe/segment{
@@ -57894,12 +58101,6 @@
icon_state = "plating"
},
/area/almayer/hallways/lower/vehiclehangar)
-"pPU" = (
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"pQr" = (
/obj/structure/bed,
/turf/open/floor/almayer{
@@ -58033,13 +58234,6 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/starboard_fore_hallway)
-"pSN" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out";
- pixel_x = -1
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"pSQ" = (
/obj/structure/reagent_dispensers/fueltank{
anchored = 1
@@ -58063,16 +58257,21 @@
icon_state = "silvercorner"
},
/area/almayer/command/computerlab)
-"pTt" = (
-/obj/structure/machinery/door/poddoor/shutters/almayer{
- id = "ARES JoeCryo";
- name = "\improper ARES Core Shutters";
- plane = -7
+"pTI" = (
+/obj/structure/sign/safety/storage{
+ pixel_x = 8;
+ pixel_y = -32
},
-/turf/open/floor/almayer/no_build{
- icon_state = "test_floor4"
+/turf/open/floor/almayer{
+ icon_state = "plate"
},
-/area/almayer/command/airoom)
+/area/almayer/maint/upper/u_a_s)
+"pTS" = (
+/obj/structure/machinery/light,
+/turf/open/floor/almayer{
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"pTX" = (
/obj/structure/largecrate/random/barrel/red,
/obj/structure/sign/safety/fire_haz{
@@ -58083,6 +58282,21 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_f_p)
+"pTY" = (
+/obj/structure/mirror{
+ pixel_x = 28
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/turf/open/floor/almayer{
+ icon_state = "dark_sterile"
+ },
+/area/almayer/maint/upper/u_a_s)
"pUd" = (
/obj/structure/pipes/vents/pump,
/turf/open/floor/almayer{
@@ -58104,6 +58318,16 @@
icon_state = "bluecorner"
},
/area/almayer/squads/delta)
+"pUg" = (
+/obj/effect/step_trigger/clone_cleaner,
+/obj/structure/machinery/door_control{
+ id = "ARES ReceptStairs2";
+ name = "ARES Reception Stairway Shutters";
+ pixel_x = 24;
+ req_one_access_txt = "91;92"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"pUj" = (
/obj/effect/decal/cleanable/blood/oil,
/turf/open/floor/almayer,
@@ -58151,13 +58375,13 @@
icon_state = "redfull"
},
/area/almayer/shipboard/brig/processing)
-"pUL" = (
-/obj/structure/surface/table/almayer,
-/obj/item/weapon/gun/rifle/m41a,
-/turf/open/floor/almayer{
- icon_state = "plate"
+"pVh" = (
+/obj/structure/machinery/light/small{
+ dir = 1
},
-/area/almayer/maint/hull/upper/u_m_s)
+/obj/structure/largecrate/random/barrel/red,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_s)
"pVr" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 1
@@ -58322,15 +58546,6 @@
icon_state = "red"
},
/area/almayer/hallways/lower/starboard_midship_hallway)
-"pYi" = (
-/obj/structure/pipes/vents/pump/no_boom{
- dir = 8
- },
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_silver";
- dir = 4
- },
-/area/almayer/command/airoom)
"pYo" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -58383,18 +58598,6 @@
icon_state = "silvercorner"
},
/area/almayer/shipboard/brig/cic_hallway)
-"pZq" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/stern_hallway)
"pZH" = (
/obj/structure/machinery/shower{
dir = 8
@@ -58472,6 +58675,9 @@
icon_state = "red"
},
/area/almayer/living/briefing)
+"qbw" = (
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_s)
"qbx" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 6
@@ -58506,6 +58712,22 @@
icon_state = "blue"
},
/area/almayer/living/pilotbunks)
+"qbP" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/storage/toolbox/mechanical{
+ pixel_x = 4;
+ pixel_y = -3
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
+"qbU" = (
+/obj/structure/largecrate/random/case/double,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"qbZ" = (
/obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor/glass{
dir = 1;
@@ -58531,13 +58753,6 @@
icon_state = "plate"
},
/area/almayer/living/auxiliary_officer_office)
-"qcL" = (
-/obj/structure/sign/safety/intercom{
- pixel_x = 8;
- pixel_y = 32
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/stern_hallway)
"qdk" = (
/obj/structure/surface/table/almayer,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -58605,6 +58820,15 @@
icon_state = "kitchen"
},
/area/almayer/living/captain_mess)
+"qdJ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"qdQ" = (
/obj/structure/bed/sofa/vert/grey/top{
pixel_y = 11
@@ -58769,6 +58993,13 @@
icon_state = "test_floor4"
},
/area/almayer/living/starboard_garden)
+"qgn" = (
+/obj/item/stool,
+/obj/effect/landmark/yautja_teleport,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_s)
"qgr" = (
/obj/item/trash/plate{
pixel_x = 9;
@@ -58825,6 +59056,12 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/south1)
+"qhg" = (
+/obj/structure/largecrate/random/barrel/yellow,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_s)
"qhx" = (
/obj/structure/flora/pottedplant{
icon_state = "pottedplant_22"
@@ -58879,6 +59116,11 @@
},
/turf/open/floor/plating,
/area/almayer/maint/lower/constr)
+"qhT" = (
+/turf/open/floor/almayer{
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"qhU" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -58975,16 +59217,6 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/lower_medical_lobby)
-"qjT" = (
-/obj/structure/surface/table/almayer,
-/obj/item/weapon/gun/rifle/l42a{
- pixel_y = 6
- },
-/obj/item/weapon/gun/rifle/l42a,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_s)
"qjV" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 9
@@ -58993,6 +59225,27 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/port)
+"qjY" = (
+/obj/structure/machinery/door/window/eastleft{
+ req_one_access_txt = "2;21"
+ },
+/obj/structure/machinery/door/window/westright,
+/obj/structure/machinery/door/poddoor/shutters/almayer{
+ dir = 4;
+ id = "ROlobby1";
+ name = "\improper RO Line 1"
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/surface/table/reinforced/almayer_blend/north,
+/obj/item/desk_bell{
+ pixel_x = -6;
+ pixel_y = -8;
+ anchored = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/squads/req)
"qjZ" = (
/turf/closed/wall/almayer,
/area/almayer/shipboard/stern_point_defense)
@@ -59169,6 +59422,15 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/medical_science)
+"qmK" = (
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"qmM" = (
/obj/structure/bed/chair{
dir = 8
@@ -59206,6 +59468,12 @@
/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m39_submachinegun,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/armory)
+"qmW" = (
+/obj/structure/machinery/light,
+/turf/open/floor/almayer{
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"qmY" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -59219,15 +59487,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/hangar)
-"qnf" = (
-/obj/structure/sign/safety/hvac_old{
- pixel_x = 15;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/stern_hallway)
"qnh" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -59275,6 +59534,18 @@
icon_state = "test_floor4"
},
/area/almayer/living/pilotbunks)
+"qnH" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "orange"
+ },
+/area/almayer/hallways/upper/midship_hallway)
+"qnX" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/south2)
"qom" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/structure/machinery/chem_dispenser/soda{
@@ -59320,6 +59591,14 @@
icon_state = "orange"
},
/area/almayer/engineering/lower/workshop/hangar)
+"qoM" = (
+/obj/structure/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_p)
"qoN" = (
/turf/open/floor/almayer{
icon_state = "test_floor4"
@@ -59351,13 +59630,6 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/chemistry)
-"qpH" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/stern_hallway)
"qpQ" = (
/obj/item/reagent_container/glass/beaker/bluespace,
/obj/structure/machinery/chem_dispenser/medbay,
@@ -59375,15 +59647,22 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_f_p)
-"qqb" = (
-/obj/structure/machinery/light{
- dir = 8
+"qpY" = (
+/obj/structure/machinery/cryopod/right{
+ layer = 3.1;
+ pixel_y = 13;
+ dir = 4
},
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "blue"
+/turf/open/floor/almayer/aicore/no_build{
+ icon_state = "ai_cargo"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/command/airoom)
+"qqa" = (
+/obj/effect/step_trigger/clone_cleaner,
+/turf/open/floor/plating/almayer{
+ allow_construction = 0
+ },
+/area/almayer/hallways/upper/fore_hallway)
"qqf" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer,
@@ -59480,21 +59759,6 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/engineering/ce_room)
-"qtj" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 2
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out";
- layer = 2.5
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NW-out"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/port)
"qtv" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/almayer{
@@ -59528,20 +59792,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/cryo_tubes)
-"quy" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/sign/safety/maint{
- pixel_x = 8;
- pixel_y = -32
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out";
- pixel_x = -1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/command/lifeboat)
"quJ" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 6
@@ -59580,6 +59830,16 @@
icon_state = "green"
},
/area/almayer/living/grunt_rnr)
+"qvh" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "NE-out";
+ pixel_x = 1
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "silvercorner"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"qvC" = (
/obj/structure/machinery/power/apc/almayer{
dir = 4
@@ -59604,6 +59864,18 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/starboard_hallway)
+"qvF" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/turf/open/floor/almayer{
+ icon_state = "dark_sterile"
+ },
+/area/almayer/maint/upper/u_a_s)
"qvI" = (
/obj/structure/sign/safety/maint{
pixel_x = -17
@@ -59625,13 +59897,6 @@
icon_state = "test_floor4"
},
/area/almayer/command/corporateliaison)
-"qwf" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"qwo" = (
/obj/structure/machinery/washing_machine,
/obj/structure/machinery/washing_machine{
@@ -59666,18 +59931,32 @@
},
/area/almayer/living/offices)
"qwJ" = (
-/obj/structure/machinery/door_control{
- id = "ARES Operations Left";
- name = "ARES Operations Shutter";
- pixel_x = -24;
- pixel_y = -8;
- req_one_access_txt = "90;91;92"
+/obj/effect/projector{
+ name = "Almayer_AresDown";
+ vector_x = 96;
+ vector_y = -65
},
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_silver";
+/obj/structure/platform{
dir = 8
},
+/obj/structure/stairs{
+ dir = 1;
+ icon_state = "ramptop"
+ },
+/turf/open/floor/almayer/aicore/no_build,
/area/almayer/command/airoom)
+"qwU" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out"
+ },
+/obj/structure/sign/safety/distribution_pipes{
+ pixel_x = -17
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/port)
"qwY" = (
/obj/structure/machinery/vending/coffee,
/turf/open/floor/almayer{
@@ -59773,12 +60052,6 @@
/obj/structure/largecrate/random/case/double,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_m_s)
-"qxK" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"qxL" = (
/obj/structure/machinery/medical_pod/autodoc,
/turf/open/floor/almayer{
@@ -59798,6 +60071,13 @@
dir = 4
},
/area/almayer/medical/containment/cell)
+"qxS" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_f_s)
"qyi" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -59822,6 +60102,16 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/south1)
+"qyA" = (
+/obj/structure/machinery/cm_vending/clothing/intelligence_officer{
+ density = 0;
+ pixel_x = -32
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "silver"
+ },
+/area/almayer/command/computerlab)
"qyD" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/recharger,
@@ -59966,6 +60256,9 @@
/area/almayer/maint/hull/upper/u_a_p)
"qAT" = (
/obj/structure/machinery/light,
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out"
+ },
/obj/structure/surface/table/almayer,
/obj/structure/machinery/reagentgrinder{
pixel_y = 8
@@ -59979,9 +60272,6 @@
pixel_x = -16;
pixel_y = 5
},
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out"
- },
/turf/open/floor/almayer{
icon_state = "sterile_green_side"
},
@@ -60114,15 +60404,6 @@
icon_state = "test_floor4"
},
/area/almayer/maint/hull/upper/u_a_p)
-"qDN" = (
-/obj/structure/machinery/light{
- dir = 8
- },
-/obj/structure/machinery/cm_vending/sorted/medical/marinemed,
-/turf/open/floor/almayer{
- icon_state = "redfull"
- },
-/area/almayer/command/cic)
"qDP" = (
/obj/structure/machinery/light{
dir = 4
@@ -60141,10 +60422,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_p)
-"qEc" = (
-/obj/effect/step_trigger/clone_cleaner,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
"qEk" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -60241,18 +60518,6 @@
icon_state = "test_floor4"
},
/area/almayer/hallways/lower/port_fore_hallway)
-"qEZ" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/turf/open/floor/almayer{
- icon_state = "dark_sterile"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"qFi" = (
/obj/structure/bed/chair/comfy/black{
dir = 4
@@ -60344,27 +60609,12 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/operating_room_two)
-"qGP" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/manifold/hidden/supply{
- dir = 1
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/stern_hallway)
"qGU" = (
/obj/structure/closet/firecloset,
/turf/open/floor/almayer{
icon_state = "cargo"
},
/area/almayer/lifeboat_pumps/south2)
-"qGZ" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"qHg" = (
/turf/open/floor/almayer{
dir = 1;
@@ -60381,12 +60631,13 @@
icon_state = "test_floor4"
},
/area/almayer/powered)
-"qHu" = (
-/obj/structure/machinery/light{
- dir = 1
+"qHD" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
},
/turf/open/floor/almayer,
-/area/almayer/hallways/upper/stern_hallway)
+/area/almayer/hallways/upper/aft_hallway)
"qHG" = (
/obj/structure/machinery/light/small{
dir = 1
@@ -60405,6 +60656,13 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering)
+"qHT" = (
+/obj/structure/sign/safety/hvac_old{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_m_p)
"qIa" = (
/obj/structure/platform{
dir = 4
@@ -60433,6 +60691,16 @@
icon_state = "test_floor4"
},
/area/almayer/command/corporateliaison)
+"qIF" = (
+/obj/structure/sign/safety/rewire{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"qIL" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/camera/autoname/almayer{
@@ -60605,6 +60873,19 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/port)
+"qKZ" = (
+/obj/effect/step_trigger/teleporter_vector{
+ name = "Almayer_AresUp";
+ vector_x = -96;
+ vector_y = 65
+ },
+/obj/structure/stairs{
+ dir = 1
+ },
+/turf/open/floor/almayer/aicore/glowing/no_build{
+ icon_state = "ai_floor3"
+ },
+/area/almayer/command/airoom)
"qLg" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/almayer{
@@ -60627,6 +60908,15 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/containment)
+"qLk" = (
+/obj/structure/machinery/door/airlock/almayer/maint,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/upper/u_a_p)
"qLs" = (
/obj/effect/landmark/start/maint,
/turf/open/floor/plating/plating_catwalk,
@@ -60713,6 +61003,20 @@
},
/turf/open/floor/almayer,
/area/almayer/living/briefing)
+"qNc" = (
+/obj/structure/machinery/door_control{
+ id = "ARES StairsLower";
+ name = "ARES Core Lockdown";
+ pixel_x = 24;
+ pixel_y = 8;
+ req_one_access_txt = "90;91;92"
+ },
+/obj/effect/step_trigger/clone_cleaner,
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 4;
+ icon_state = "ai_silver"
+ },
+/area/almayer/command/airoom)
"qNd" = (
/obj/structure/machinery/cryopod,
/obj/structure/machinery/light{
@@ -60800,6 +61104,14 @@
icon_state = "test_floor4"
},
/area/almayer/maint/hull/upper/u_f_p)
+"qOZ" = (
+/obj/structure/machinery/cm_vending/sorted/medical/marinemed,
+/obj/structure/medical_supply_link,
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "sterile_green_side"
+ },
+/area/almayer/medical/lower_medical_lobby)
"qPk" = (
/turf/open/floor/almayer,
/area/almayer/hallways/lower/starboard_fore_hallway)
@@ -60809,13 +61121,6 @@
icon_state = "test_floor4"
},
/area/almayer/maint/hull/lower/l_a_s)
-"qPv" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/upper/aft_hallway)
"qPD" = (
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/perma)
@@ -60871,6 +61176,9 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/south1)
+"qQu" = (
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/fore_hallway)
"qQy" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -60878,13 +61186,19 @@
/obj/structure/pipes/standard/manifold/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/lower)
-"qQG" = (
-/obj/structure/largecrate/supply/floodlights,
+"qQD" = (
+/obj/structure/sign/safety/distribution_pipes{
+ pixel_x = 15;
+ pixel_y = 32
+ },
+/obj/structure/sign/safety/intercom{
+ pixel_y = 32
+ },
/turf/open/floor/almayer{
- dir = 6;
- icon_state = "red"
+ dir = 1;
+ icon_state = "blue"
},
-/area/almayer/maint/hull/upper/u_a_p)
+/area/almayer/hallways/upper/midship_hallway)
"qQS" = (
/turf/open/floor/almayer/aicore/no_build,
/area/almayer/command/airoom)
@@ -60930,24 +61244,29 @@
icon_state = "test_floor4"
},
/area/almayer/command/corporateliaison)
-"qRx" = (
-/obj/structure/sign/safety/stairs{
- pixel_x = -15
+"qRX" = (
+/obj/structure/pipes/standard/simple/hidden/supply/no_boom{
+ dir = 4
},
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "green"
+/turf/open/floor/almayer/aicore/glowing/no_build{
+ icon_state = "ai_floor3"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/command/airoom)
"qSm" = (
/obj/structure/pipes/vents/pump{
dir = 4
},
/turf/open/floor/almayer,
/area/almayer/shipboard/port_point_defense)
-"qSw" = (
-/turf/open/floor/plating,
-/area/almayer/maint/hull/upper/u_m_p)
+"qSp" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/almayer{
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"qSE" = (
/obj/structure/surface/table/almayer,
/obj/item/reagent_container/food/condiment/hotsauce/cholula,
@@ -60984,6 +61303,14 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/south1)
+"qTi" = (
+/obj/structure/closet/crate,
+/obj/item/ammo_box/magazine/l42a,
+/obj/item/ammo_box/magazine/l42a,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"qTu" = (
/obj/structure/machinery/power/apc/almayer{
dir = 1
@@ -60992,6 +61319,12 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/port_umbilical)
+"qTA" = (
+/obj/structure/largecrate/random/case,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_p)
"qTQ" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -61000,6 +61333,13 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/chief_mp_office)
+"qTS" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out";
+ pixel_x = -1
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"qTY" = (
/obj/structure/machinery/gibber,
/turf/open/floor/plating/plating_catwalk,
@@ -61031,6 +61371,12 @@
icon_state = "cargo_arrow"
},
/area/almayer/squads/charlie_delta_shared)
+"qUu" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"qUx" = (
/obj/effect/decal/warning_stripes{
icon_state = "SW-out";
@@ -61051,26 +61397,11 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/processing)
-"qUG" = (
-/obj/structure/surface/table/almayer,
-/obj/item/clothing/mask/cigarette/pipe{
- pixel_x = 8
- },
-/obj/structure/transmitter/rotary{
- name = "Reporter Telephone";
- phone_category = "Almayer";
- phone_id = "Reporter";
- pixel_x = -4;
- pixel_y = 6
- },
-/obj/item/device/toner{
- pixel_y = -11;
- pixel_x = -2
- },
+"qUK" = (
/turf/open/floor/almayer{
- icon_state = "plate"
+ icon_state = "blue"
},
-/area/almayer/command/combat_correspondent)
+/area/almayer/hallways/upper/fore_hallway)
"qUL" = (
/obj/structure/machinery/landinglight/ds1/delaythree{
dir = 4
@@ -61194,38 +61525,18 @@
dir = 4
},
/area/almayer/medical/containment/cell/cl)
-"qWS" = (
-/obj/structure/surface/table/almayer,
-/obj/item/reagent_container/pill/happy{
- pixel_x = 6;
- pixel_y = -4
- },
-/obj/item/prop/helmetgarb/prescription_bottle{
- pixel_x = 9
- },
-/obj/item/tool/surgery/bonegel/empty{
- pixel_y = 15;
- pixel_x = 4
- },
-/obj/item/tool/surgery/bonegel/empty{
- pixel_y = 13;
- pixel_x = -8
- },
-/obj/item/tool/surgery/bonegel/empty{
- pixel_y = 19;
- pixel_x = -5;
- layer = 3.01
+"qXh" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/obj/item/storage/box/gloves{
- layer = 3.2;
- pixel_x = -5;
- pixel_y = 2
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
},
/turf/open/floor/almayer{
- dir = 1;
- icon_state = "sterile_green_corner"
+ dir = 6;
+ icon_state = "orange"
},
-/area/almayer/medical/lower_medical_medbay)
+/area/almayer/hallways/upper/midship_hallway)
"qXk" = (
/turf/open/floor/almayer{
icon_state = "plate"
@@ -61304,6 +61615,12 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"qYd" = (
+/turf/open/floor/almayer{
+ dir = 6;
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/south2)
"qYq" = (
/turf/open/floor/almayer{
dir = 5;
@@ -61332,6 +61649,14 @@
icon_state = "plate"
},
/area/almayer/command/lifeboat)
+"qYz" = (
+/obj/structure/machinery/light/small{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"qYC" = (
/obj/structure/disposalpipe/down/almayer{
dir = 4;
@@ -61600,18 +61925,6 @@
},
/turf/open/floor/almayer,
/area/almayer/command/lifeboat)
-"rdo" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 9
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"rdt" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -61621,6 +61934,25 @@
},
/turf/open/floor/almayer/research/containment/corner4,
/area/almayer/medical/containment/cell)
+"rdz" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/machinery/door/airlock/almayer/command/reinforced{
+ closeOtherId = "ciclobby_s";
+ id_tag = "cic_exterior";
+ name = "\improper Combat Information Center"
+ },
+/obj/structure/machinery/door/poddoor/almayer/open{
+ dir = 4;
+ id = "CIC Lockdown";
+ name = "\improper Combat Information Center Blast Door"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/command/cic)
"rdA" = (
/obj/structure/sign/safety/maint{
pixel_x = -17;
@@ -61677,6 +62009,9 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/port_fore_hallway)
+"rdZ" = (
+/turf/open/floor/plating,
+/area/almayer/command/corporateliaison)
"rec" = (
/obj/structure/bed/chair/comfy/bravo{
dir = 1
@@ -61773,10 +62108,6 @@
icon_state = "plate"
},
/area/almayer/shipboard/port_point_defense)
-"rfQ" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/stern_hallway)
"rfT" = (
/obj/item/frame/camera{
desc = "The Staff Officer insisted he needed to monitor everyone at all times.";
@@ -61846,6 +62177,13 @@
"rgL" = (
/turf/open/floor/plating,
/area/almayer/maint/upper/u_m_p)
+"rgO" = (
+/obj/structure/disposalpipe/junction,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/midship_hallway)
"rgW" = (
/turf/open/floor/almayer{
icon_state = "emeraldcorner"
@@ -61857,6 +62195,13 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/u_f_s)
+"rho" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "orange"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"rht" = (
/obj/structure/machinery/vending/cola,
/turf/open/floor/almayer{
@@ -61897,16 +62242,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/port_emb)
-"rhX" = (
-/obj/structure/sign/safety/maint{
- pixel_x = 8;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/stern_hallway)
"rib" = (
/obj/structure/sink{
dir = 8;
@@ -61970,12 +62305,6 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/starboard)
-"riK" = (
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "silvercorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"riP" = (
/obj/structure/machinery/light,
/obj/structure/sign/safety/rewire{
@@ -62001,6 +62330,11 @@
icon_state = "green"
},
/area/almayer/living/grunt_rnr)
+"rjr" = (
+/turf/open/floor/almayer{
+ icon_state = "silvercorner"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"rjF" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -62030,7 +62364,7 @@
/area/almayer/engineering/lower/engine_core)
"rjV" = (
/obj/structure/surface/table/almayer,
-/obj/structure/machinery/computer/cameras/wooden_tv/prop{
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{
dir = 8;
layer = 3.2;
pixel_x = -3;
@@ -62066,6 +62400,15 @@
icon_state = "blue"
},
/area/almayer/living/port_emb)
+"rjX" = (
+/obj/structure/sign/safety/hvac_old{
+ pixel_x = 15;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/lifeboat_pumps/north2)
"rka" = (
/obj/structure/surface/table/almayer,
/obj/item/paper_bin/uscm,
@@ -62184,6 +62527,18 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/starboard_hallway)
+"rmo" = (
+/obj/structure/pipes/standard/cap/hidden{
+ dir = 4
+ },
+/obj/structure/sign/safety/hvac_old{
+ pixel_x = 15;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/lifeboat_pumps/south2)
"rmx" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/recharger,
@@ -62199,11 +62554,6 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/starboard_fore_hallway)
-"rmB" = (
-/turf/open/floor/almayer{
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"rmD" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
@@ -62221,24 +62571,16 @@
icon_state = "dark_sterile"
},
/area/almayer/engineering/upper_engineering/port)
+"rmG" = (
+/obj/structure/blocker/fuelpump,
+/turf/open/floor/almayer,
+/area/almayer/lifeboat_pumps/north2)
"rna" = (
/obj/structure/machinery/status_display{
pixel_y = 30
},
/turf/open/floor/almayer/aicore/no_build,
/area/almayer/command/airoom)
-"rnd" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"rnF" = (
/obj/structure/machinery/door/airlock/almayer/engineering{
dir = 2;
@@ -62263,6 +62605,15 @@
},
/turf/open/floor/almayer/aicore/glowing/no_build,
/area/almayer/command/airoom)
+"rnM" = (
+/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
+ pixel_y = 25
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"rnN" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/sign/nosmoking_2{
@@ -62273,15 +62624,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/upper_medical)
-"rnO" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/stern_hallway)
"rob" = (
/obj/structure/pipes/standard/manifold/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
@@ -62332,15 +62674,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/grunt_rnr)
-"roY" = (
-/obj/structure/sign/safety/maint{
- pixel_x = -17
- },
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/stern_hallway)
"rpp" = (
/obj/effect/landmark/start/executive,
/turf/open/floor/plating/plating_catwalk,
@@ -62362,6 +62695,15 @@
icon_state = "plate"
},
/area/almayer/command/cichallway)
+"rpV" = (
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"rqb" = (
/obj/structure/sign/safety/distribution_pipes{
pixel_x = 32
@@ -62482,13 +62824,6 @@
icon_state = "test_floor4"
},
/area/almayer/living/bridgebunks)
-"rrG" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/stern_hallway)
"rrK" = (
/obj/structure/bed/chair{
can_buckle = 0;
@@ -62722,19 +63057,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/p_bow)
-"rwf" = (
-/obj/structure/sign/safety/analysis_lab{
- pixel_y = 26
- },
-/obj/structure/sign/safety/terminal{
- pixel_x = 15;
- pixel_y = 26
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"rwj" = (
/turf/open/floor/almayer{
dir = 4;
@@ -62787,6 +63109,28 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_m_p)
+"rxl" = (
+/obj/effect/step_trigger/clone_cleaner,
+/obj/structure/machinery/disposal/delivery{
+ density = 0;
+ desc = "A pneumatic delivery unit.";
+ icon_state = "delivery_engi";
+ name = "Security Vault";
+ pixel_y = 28;
+ pixel_x = -24
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/structure/machinery/door_control{
+ id = "ARES StairsUpper";
+ name = "ARES Core Access";
+ pixel_x = -32;
+ pixel_y = 40;
+ req_one_access_txt = "90;91;92"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"rxq" = (
/obj/structure/disposalpipe/segment{
dir = 2;
@@ -62800,12 +63144,16 @@
/obj/structure/pipes/standard/manifold/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/navigation)
-"rxO" = (
-/obj/structure/machinery/cm_vending/clothing/intelligence_officer,
-/turf/open/floor/almayer{
- icon_state = "silverfull"
+"rxQ" = (
+/obj/structure/pipes/standard/manifold/hidden/supply,
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/area/almayer/command/computerlab)
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/fore_hallway)
+"ryn" = (
+/turf/closed/wall/almayer/outer,
+/area/almayer/command/securestorage)
"ryt" = (
/obj/structure/pipes/standard/manifold/visible,
/turf/open/floor/almayer{
@@ -62818,6 +63166,14 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/north1)
+"ryJ" = (
+/obj/structure/machinery/door/airlock/almayer/maint{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/upper/u_a_p)
"ryR" = (
/obj/structure/machinery/cm_vending/clothing/staff_officer_armory,
/turf/open/floor/almayer{
@@ -62920,6 +63276,10 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/starboard)
+"rAS" = (
+/obj/structure/largecrate/random/case/double,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_s)
"rBa" = (
/obj/structure/machinery/cm_vending/clothing/synth,
/obj/structure/prop/invuln/overhead_pipe{
@@ -62966,14 +63326,13 @@
icon_state = "test_floor4"
},
/area/almayer/maint/upper/u_m_p)
-"rBH" = (
-/obj/structure/machinery/constructable_frame{
- icon_state = "box_2"
- },
-/turf/open/floor/almayer{
- icon_state = "mono"
+"rBY" = (
+/obj/structure/machinery/shower{
+ pixel_y = 16
},
-/area/almayer/lifeboat_pumps/south1)
+/obj/item/tool/soap,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_s)
"rCh" = (
/obj/structure/disposalpipe/segment{
dir = 1;
@@ -62983,12 +63342,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_m_p)
-"rCi" = (
-/obj/structure/machinery/camera/autoname/almayer/containment/ares{
- dir = 8
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"rCl" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -62999,20 +63352,6 @@
icon_state = "red"
},
/area/almayer/hallways/upper/port)
-"rCw" = (
-/obj/effect/step_trigger/teleporter_vector{
- name = "Almayer_AresDown";
- vector_x = 97;
- vector_y = -65
- },
-/obj/structure/platform{
- dir = 8
- },
-/obj/structure/stairs{
- dir = 1
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"rCD" = (
/obj/structure/machinery/light/small{
dir = 4
@@ -63035,6 +63374,10 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/briefing)
+"rCZ" = (
+/obj/docking_port/stationary/escape_pod/east,
+/turf/open/floor/plating,
+/area/almayer/maint/upper/u_m_s)
"rDb" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 6
@@ -63071,11 +63414,6 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/starboard_umbilical)
-"rDm" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"rDr" = (
/obj/structure/pipes/vents/pump,
/turf/open/floor/almayer{
@@ -63182,11 +63520,6 @@
icon_state = "outerhull_dir"
},
/area/space)
-"rEs" = (
-/turf/open/floor/almayer{
- icon_state = "orange"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"rEt" = (
/obj/structure/largecrate/random/secure,
/turf/open/floor/almayer{
@@ -63219,12 +63552,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_f_p)
-"rEL" = (
-/obj/structure/machinery/cm_vending/gear/intelligence_officer,
-/turf/open/floor/almayer{
- icon_state = "silverfull"
- },
-/area/almayer/command/computerlab)
"rEY" = (
/obj/structure/machinery/disposal,
/obj/structure/disposalpipe/trunk{
@@ -63274,15 +63601,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_medbay)
-"rGc" = (
-/obj/structure/sign/safety/maint{
- pixel_x = -17
- },
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/stern_hallway)
"rGj" = (
/turf/open/floor/almayer{
icon_state = "red"
@@ -63350,13 +63668,6 @@
icon_state = "plate"
},
/area/almayer/squads/alpha_bravo_shared)
-"rHn" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/almayer{
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"rHo" = (
/obj/structure/machinery/door/firedoor/border_only/almayer{
layer = 1.9
@@ -63453,17 +63764,6 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/port)
-"rIE" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/closet/secure_closet/guncabinet,
-/obj/item/weapon/gun/rifle/l42a,
-/obj/item/weapon/gun/rifle/l42a{
- pixel_y = 6
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_s)
"rIH" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -63573,14 +63873,6 @@
/obj/structure/pipes/vents/pump,
/turf/open/floor/almayer,
/area/almayer/living/briefing)
-"rJY" = (
-/obj/item/book/manual/medical_diagnostics_manual,
-/obj/structure/surface/rack,
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "red"
- },
-/area/almayer/maint/hull/upper/u_a_p)
"rKd" = (
/turf/open/floor/almayer/uscm/directional{
dir = 5
@@ -63599,6 +63891,16 @@
icon_state = "rasputin15"
},
/area/almayer/powered/agent)
+"rKt" = (
+/obj/structure/sign/safety/rewire{
+ pixel_x = 32
+ },
+/obj/structure/machinery/power/apc/almayer,
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "orange"
+ },
+/area/almayer/hallways/lower/port_aft_hallway)
"rKA" = (
/obj/structure/bed{
can_buckle = 0
@@ -63683,6 +63985,13 @@
dir = 8
},
/area/almayer/medical/containment/cell/cl)
+"rMh" = (
+/obj/structure/machinery/light,
+/turf/open/floor/almayer{
+ dir = 10;
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/north1)
"rMj" = (
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/almayer{
@@ -63752,13 +64061,6 @@
icon_state = "dark_sterile"
},
/area/almayer/living/port_emb)
-"rNF" = (
-/obj/structure/machinery/light{
- unacidable = 1;
- unslashable = 1
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"rNK" = (
/obj/structure/surface/table/almayer,
/turf/open/floor/almayer{
@@ -63928,21 +64230,6 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/south1)
-"rRb" = (
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_s)
-"rRf" = (
-/obj/structure/sign/safety/maint{
- pixel_x = -17
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/aft_hallway)
"rRq" = (
/turf/closed/wall/almayer,
/area/almayer/lifeboat_pumps/south2)
@@ -63953,6 +64240,11 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/south1)
+"rRT" = (
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"rRU" = (
/obj/structure/machinery/light{
dir = 8
@@ -64029,6 +64321,13 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/port_emb)
+"rSH" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out";
+ pixel_x = 1
+ },
+/turf/open/floor/almayer,
+/area/almayer/lifeboat_pumps/south1)
"rSR" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/sign/safety/cryo{
@@ -64036,16 +64335,12 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/lower/cryo_cells)
-"rTe" = (
-/obj/structure/machinery/light{
- dir = 1
- },
-/obj/structure/janitorialcart,
-/obj/item/tool/mop,
+"rSW" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer,
/turf/open/floor/almayer{
- icon_state = "plate"
+ icon_state = "test_floor4"
},
-/area/almayer/maint/upper/u_m_p)
+/area/almayer/hallways/upper/fore_hallway)
"rTk" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 4
@@ -64188,12 +64483,6 @@
icon_state = "cargo"
},
/area/almayer/living/cryo_cells)
-"rWP" = (
-/obj/effect/step_trigger/clone_cleaner,
-/turf/open/floor/almayer{
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"rWT" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/manifold/hidden/supply{
@@ -64224,6 +64513,12 @@
icon_state = "cargo"
},
/area/almayer/living/cryo_cells)
+"rXq" = (
+/obj/structure/machinery/door/airlock/almayer/maint,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/upper/u_a_p)
"rXv" = (
/obj/structure/machinery/door/airlock/almayer/maint,
/obj/structure/disposalpipe/segment{
@@ -64294,15 +64589,6 @@
icon_state = "cargo"
},
/area/almayer/maint/hull/lower/l_f_s)
-"rXV" = (
-/obj/structure/machinery/camera/autoname/almayer{
- dir = 1;
- name = "ship-grade camera"
- },
-/turf/open/floor/almayer{
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/stern_hallway)
"rYh" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -64337,15 +64623,6 @@
icon_state = "plate"
},
/area/almayer/engineering/upper_engineering/starboard)
-"rYG" = (
-/obj/structure/machinery/light{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"rYI" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -64364,6 +64641,12 @@
icon_state = "plate"
},
/area/almayer/living/offices/flight)
+"rYU" = (
+/obj/structure/machinery/light/small,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"rZt" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -64391,15 +64674,6 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/lower_medical_medbay)
-"rZC" = (
-/obj/structure/sign/safety/ladder{
- pixel_x = 8;
- pixel_y = -32
- },
-/turf/open/floor/almayer{
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"rZP" = (
/obj/structure/surface/table/almayer,
/obj/item/tool/weldpack,
@@ -64408,6 +64682,17 @@
icon_state = "plate"
},
/area/almayer/shipboard/starboard_point_defense)
+"rZZ" = (
+/obj/structure/sign/poster{
+ desc = "It says DRUG.";
+ icon_state = "poster2";
+ pixel_y = 30
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_p)
"sab" = (
/obj/effect/landmark/start/doctor,
/obj/effect/landmark/late_join/doctor,
@@ -64428,13 +64713,6 @@
icon_state = "test_floor4"
},
/area/almayer/command/corporateliaison)
-"saT" = (
-/obj/structure/disposalpipe/junction,
-/obj/structure/pipes/standard/manifold/hidden/supply{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
"sbq" = (
/obj/structure/machinery/door/poddoor/almayer/locked{
icon_state = "almayer_pdoor";
@@ -64476,6 +64754,26 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/cryo)
+"sbZ" = (
+/obj/structure/machinery/camera/autoname/almayer{
+ name = "ship-grade camera"
+ },
+/obj/structure/machinery/suit_storage_unit/compression_suit/uscm,
+/obj/structure/sign/safety/hazard{
+ pixel_y = 32
+ },
+/obj/structure/sign/safety/airlock{
+ pixel_x = 15;
+ pixel_y = 32
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "NE-out";
+ pixel_y = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/lower/starboard_umbilical)
"sco" = (
/obj/structure/sign/prop1{
layer = 3.1
@@ -64563,6 +64861,12 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_m_s)
+"sdd" = (
+/obj/item/tool/wirecutters/clippers,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"sdf" = (
/obj/effect/step_trigger/clone_cleaner,
/obj/effect/decal/warning_stripes{
@@ -64573,16 +64877,6 @@
icon_state = "red"
},
/area/almayer/hallways/upper/starboard)
-"sdl" = (
-/obj/structure/surface/rack{
- density = 0;
- pixel_y = 16
- },
-/obj/item/tool/wet_sign,
-/obj/item/tool/wet_sign,
-/obj/item/tool/wet_sign,
-/turf/open/floor/plating,
-/area/almayer/command/airoom)
"sdn" = (
/obj/structure/sink{
dir = 4;
@@ -64636,6 +64930,16 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/port_fore_hallway)
+"sfz" = (
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
+"sfA" = (
+/obj/structure/machinery/fuelpump,
+/turf/open/floor/almayer,
+/area/almayer/lifeboat_pumps/south1)
"sfT" = (
/turf/open/floor/almayer,
/area/almayer/hallways/upper/port)
@@ -64742,6 +65046,12 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/cells)
+"sgH" = (
+/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
+ pixel_y = 25
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"sgL" = (
/obj/structure/machinery/door/poddoor/shutters/almayer/open{
dir = 4;
@@ -64813,6 +65123,12 @@
"sht" = (
/turf/open/floor/almayer,
/area/almayer/living/pilotbunks)
+"shC" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"shL" = (
/obj/structure/surface/table/almayer,
/obj/item/storage/toolbox/electrical,
@@ -64824,6 +65140,11 @@
icon_state = "cargo"
},
/area/almayer/engineering/lower/engine_core)
+"sin" = (
+/turf/open/floor/almayer{
+ icon_state = "bluecorner"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"sir" = (
/obj/structure/machinery/door/airlock/almayer/maint{
req_access = null;
@@ -64891,15 +65212,6 @@
icon_state = "plate"
},
/area/almayer/engineering/lower)
-"siS" = (
-/obj/structure/sign/safety/maint{
- pixel_x = 32
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/stern_hallway)
"siT" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -64952,16 +65264,6 @@
icon_state = "test_floor4"
},
/area/almayer/command/lifeboat)
-"sjw" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "W";
- pixel_x = -1
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "silver"
- },
-/area/almayer/maint/hull/upper/u_m_p)
"sjz" = (
/obj/effect/decal/warning_stripes{
icon_state = "SW-out";
@@ -64971,6 +65273,20 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/north2)
+"sjG" = (
+/obj/structure/sign/safety/distribution_pipes{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
+"sjM" = (
+/obj/effect/landmark/start/reporter,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_m_p)
"skj" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -65366,18 +65682,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_m_s)
-"spW" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"sqa" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -65413,16 +65717,6 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering)
-"sqP" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/computer/emails{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_s)
"sqW" = (
/obj/structure/machinery/portable_atmospherics/hydroponics,
/obj/item/seeds/tomatoseed,
@@ -65497,20 +65791,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_m_p)
-"ssF" = (
-/obj/structure/sign/safety/distribution_pipes{
- pixel_x = 32;
- pixel_y = 6
- },
-/obj/structure/sign/safety/reduction{
- pixel_x = 32;
- pixel_y = -8
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/aft_hallway)
"ssU" = (
/obj/structure/machinery/constructable_frame,
/turf/open/floor/almayer{
@@ -65542,15 +65822,6 @@
/obj/structure/pipes/vents/pump,
/turf/open/floor/almayer,
/area/almayer/shipboard/navigation)
-"stk" = (
-/obj/structure/sign/safety/distribution_pipes{
- pixel_x = -17
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"str" = (
/obj/effect/step_trigger/teleporter_vector{
name = "Almayer_Down3";
@@ -65570,12 +65841,6 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/north1)
-"stA" = (
-/obj/structure/machinery/portable_atmospherics/hydroponics,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"stO" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/faxmachine/uscm/brig,
@@ -65669,6 +65934,12 @@
icon_state = "plate"
},
/area/almayer/command/lifeboat)
+"svq" = (
+/obj/structure/bed/chair{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_m_s)
"svt" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer{
@@ -65695,22 +65966,31 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_m_p)
-"svV" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/closet/secure_closet/guncabinet,
-/obj/item/weapon/gun/rifle/l42a{
- pixel_y = 6
+"swn" = (
+/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
+ pixel_y = -25
},
-/obj/item/weapon/gun/rifle/l42a,
/turf/open/floor/almayer{
- icon_state = "plate"
+ icon_state = "orangecorner"
},
-/area/almayer/maint/hull/upper/u_m_s)
+/area/almayer/hallways/upper/aft_hallway)
"swt" = (
/turf/open/floor/almayer{
icon_state = "greencorner"
},
/area/almayer/living/grunt_rnr)
+"swx" = (
+/obj/effect/projector{
+ name = "Almayer_AresUp";
+ vector_x = -96;
+ vector_y = 65
+ },
+/obj/structure/stairs{
+ dir = 1;
+ icon_state = "ramptop"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"swE" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/alarm/almayer{
@@ -65799,12 +66079,37 @@
icon_state = "silver"
},
/area/almayer/command/cichallway)
+"syg" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/machinery/door/airlock/almayer/security/reinforced{
+ access_modified = 1;
+ closeOtherId = "astroladder_n";
+ name = "\improper Astronavigational Deck";
+ req_access = null;
+ req_one_access_txt = "3;19"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/shipboard/navigation)
"syj" = (
/obj/structure/sign/safety/escapepod{
pixel_y = 32
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/starboard_fore_hallway)
+"syp" = (
+/turf/open/floor/almayer{
+ dir = 6;
+ icon_state = "silver"
+ },
+/area/almayer/maint/upper/u_m_p)
"syH" = (
/obj/structure/machinery/firealarm{
pixel_y = -28
@@ -65814,13 +66119,10 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/delta)
-"szb" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
+"syO" = (
+/obj/structure/machinery/light,
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"szf" = (
/obj/structure/disposalpipe/segment{
dir = 1;
@@ -65927,14 +66229,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/general_equipment)
-"sBK" = (
-/obj/structure/pipes/standard/manifold/hidden/supply{
- dir = 8
- },
-/turf/open/floor/almayer{
- icon_state = "redfull"
- },
-/area/almayer/hallways/upper/stern_hallway)
"sBL" = (
/obj/structure/machinery/portable_atmospherics/hydroponics,
/obj/structure/machinery/light,
@@ -65942,6 +66236,18 @@
icon_state = "green"
},
/area/almayer/living/grunt_rnr)
+"sBQ" = (
+/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{
+ closeOtherId = "briglobby";
+ name = "\improper Brig Cells"
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/shipboard/brig/processing)
"sBY" = (
/obj/item/tool/wet_sign,
/obj/structure/disposalpipe/segment,
@@ -66017,33 +66323,6 @@
/obj/structure/surface/table/almayer,
/turf/open/floor/plating,
/area/almayer/maint/lower/constr)
-"sDe" = (
-/obj/structure/machinery/power/apc/almayer{
- dir = 4
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- layer = 3.33;
- pixel_x = 2
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- layer = 3.33;
- pixel_y = 2
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "W";
- layer = 3.3
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "S";
- layer = 3.3
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/hallways/upper/stern_hallway)
"sDu" = (
/obj/item/clothing/under/marine/dress,
/turf/open/floor/almayer{
@@ -66301,6 +66580,21 @@
icon_state = "orange"
},
/area/almayer/engineering/lower/workshop)
+"sHC" = (
+/obj/structure/machinery/alarm/almayer{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
+"sHI" = (
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"sHM" = (
/obj/structure/machinery/door/firedoor/border_only/almayer,
/turf/open/floor/almayer{
@@ -66315,17 +66609,6 @@
icon_state = "red"
},
/area/almayer/squads/alpha)
-"sIf" = (
-/obj/effect/step_trigger/teleporter_vector{
- name = "Almayer_AresDown";
- vector_x = 97;
- vector_y = -65
- },
-/obj/structure/stairs{
- dir = 1
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"sIr" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -66354,6 +66637,17 @@
icon_state = "silver"
},
/area/almayer/engineering/port_atmos)
+"sII" = (
+/obj/effect/step_trigger/clone_cleaner,
+/obj/structure/machinery/door/poddoor/shutters/almayer{
+ id = "ARES ReceptStairs2";
+ name = "\improper ARES Reception Stairway Shutters";
+ plane = -7
+ },
+/turf/open/floor/almayer/no_build{
+ icon_state = "test_floor4"
+ },
+/area/almayer/command/airoom)
"sIR" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -66411,6 +66705,12 @@
icon_state = "cargo"
},
/area/almayer/engineering/lower/workshop/hangar)
+"sJN" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/aft_hallway)
"sJY" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -66426,6 +66726,15 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/morgue)
+"sKf" = (
+/obj/structure/machinery/power/apc/almayer{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "orange"
+ },
+/area/almayer/engineering/lower)
"sKM" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 10
@@ -66625,6 +66934,14 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_a_p)
+"sOK" = (
+/obj/structure/disposalpipe/down/almayer{
+ dir = 2;
+ id = "ares_vault_out";
+ name = "wycomms"
+ },
+/turf/closed/wall/almayer/outer,
+/area/almayer/command/airoom)
"sOL" = (
/obj/structure/machinery/light/small{
dir = 1
@@ -66644,6 +66961,26 @@
icon_state = "redfull"
},
/area/almayer/medical/upper_medical)
+"sPa" = (
+/obj/structure/surface/rack,
+/obj/item/stack/cable_coil,
+/obj/item/attachable/flashlight/grip,
+/obj/item/ammo_box/magazine/l42a{
+ pixel_y = 14
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
+"sPb" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/starboard)
"sPc" = (
/obj/structure/machinery/light{
dir = 1
@@ -66682,14 +67019,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/port_fore_hallway)
-"sQu" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out"
- },
-/turf/open/floor/almayer{
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"sQF" = (
/turf/open/floor/almayer{
icon_state = "red"
@@ -66701,6 +67030,15 @@
icon_state = "plate"
},
/area/almayer/command/lifeboat)
+"sRC" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"sRM" = (
/obj/structure/machinery/power/apc/almayer{
dir = 1
@@ -66709,12 +67047,17 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_s)
-"sRP" = (
+"sRZ" = (
+/obj/effect/projector{
+ name = "Almayer_Down2";
+ vector_x = 1;
+ vector_y = -100
+ },
/turf/open/floor/almayer{
- dir = 8;
- icon_state = "red"
+ allow_construction = 0;
+ icon_state = "plate"
},
-/area/almayer/maint/hull/upper/u_a_p)
+/area/almayer/hallways/upper/fore_hallway)
"sSa" = (
/obj/structure/machinery/door/airlock/almayer/marine/requisitions{
dir = 2;
@@ -66736,6 +67079,15 @@
icon_state = "tcomms"
},
/area/almayer/shipboard/weapon_room)
+"sSj" = (
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ dir = 9;
+ icon_state = "red"
+ },
+/area/almayer/lifeboat_pumps/north1)
"sSl" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
@@ -66877,6 +67229,14 @@
icon_state = "blue"
},
/area/almayer/squads/delta)
+"sUS" = (
+/obj/structure/disposalpipe/junction{
+ dir = 4;
+ icon_state = "pipe-j2"
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/fore_hallway)
"sVc" = (
/obj/structure/machinery/portable_atmospherics/hydroponics,
/obj/item/seeds/orangeseed,
@@ -66885,13 +67245,11 @@
icon_state = "green"
},
/area/almayer/shipboard/brig/cells)
-"sVA" = (
-/obj/structure/sign/safety/maint{
- pixel_x = -17
- },
+"sVv" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
- dir = 8;
- icon_state = "green"
+ dir = 1;
+ icon_state = "red"
},
/area/almayer/hallways/upper/aft_hallway)
"sVT" = (
@@ -66914,6 +67272,16 @@
"sVV" = (
/turf/open/floor/almayer,
/area/almayer/hallways/upper/starboard)
+"sWb" = (
+/obj/effect/projector{
+ name = "Almayer_Down2";
+ vector_x = 1;
+ vector_y = -100
+ },
+/turf/open/floor/almayer{
+ allow_construction = 0
+ },
+/area/almayer/hallways/upper/fore_hallway)
"sWp" = (
/obj/structure/machinery/light/small{
dir = 8
@@ -67038,16 +67406,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_medbay)
-"sYj" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
- },
-/obj/effect/step_trigger/clone_cleaner,
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"sYl" = (
/obj/structure/machinery/body_scanconsole{
dir = 8
@@ -67111,6 +67469,18 @@
/obj/structure/machinery/door/firedoor/border_only/almayer,
/turf/open/floor/plating,
/area/almayer/medical/upper_medical)
+"sYU" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"sZc" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -67183,6 +67553,10 @@
icon_state = "blue"
},
/area/almayer/living/port_emb)
+"sZY" = (
+/obj/structure/blocker/fuelpump,
+/turf/open/floor/almayer,
+/area/almayer/lifeboat_pumps/south2)
"tab" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/item/storage/box/flashbangs{
@@ -67275,17 +67649,6 @@
icon_state = "plate"
},
/area/almayer/hallways/upper/starboard)
-"tbD" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/stern_hallway)
-"tbF" = (
-/turf/open/floor/almayer{
- icon_state = "silvercorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"tcd" = (
/obj/structure/surface/table/almayer,
/obj/item/device/radio{
@@ -67442,17 +67805,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/port_midship_hallway)
-"teu" = (
-/obj/structure/surface/table/reinforced/prison,
-/obj/item/weapon/gun/shotgun/pump{
- starting_attachment_types = list(/obj/item/attachable/stock/shotgun)
- },
-/turf/open/floor/almayer,
-/area/almayer/squads/charlie_delta_shared)
-"tey" = (
-/obj/item/tool/wet_sign,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/upper/u_m_s)
"tez" = (
/obj/effect/landmark/ert_spawns/distress_cryo,
/obj/effect/landmark/late_join,
@@ -67476,6 +67828,19 @@
icon_state = "plate"
},
/area/almayer/command/cic)
+"teZ" = (
+/obj/structure/machinery/door_control{
+ id = "ARES StairsLower";
+ name = "ARES Core Lockdown";
+ pixel_x = -24;
+ pixel_y = -8;
+ req_one_access_txt = "90;91;92"
+ },
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 8;
+ icon_state = "ai_silver"
+ },
+/area/almayer/command/airoom)
"tfb" = (
/turf/open/floor/almayer{
dir = 8;
@@ -67499,6 +67864,12 @@
icon_state = "plate"
},
/area/almayer/shipboard/brig/execution_storage)
+"tfF" = (
+/turf/open/floor/almayer{
+ dir = 6;
+ icon_state = "orange"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"tfH" = (
/obj/structure/machinery/light/containment,
/obj/effect/decal/warning_stripes{
@@ -67656,6 +68027,13 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/port)
+"tie" = (
+/obj/structure/largecrate/supply/floodlights,
+/turf/open/floor/almayer{
+ dir = 6;
+ icon_state = "red"
+ },
+/area/almayer/maint/upper/u_a_p)
"tig" = (
/obj/structure/surface/table/almayer,
/obj/item/reagent_container/food/condiment/hotsauce/tabasco{
@@ -67664,12 +68042,6 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/alpha)
-"tih" = (
-/obj/structure/largecrate/random/case/double,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_p)
"tii" = (
/obj/structure/machinery/firealarm{
pixel_x = 6;
@@ -67773,10 +68145,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_p)
-"tiZ" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"tjj" = (
/turf/open/floor/almayer{
dir = 5;
@@ -67801,16 +68169,6 @@
},
/turf/open/floor/almayer,
/area/almayer/living/tankerbunks)
-"tjz" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/storage/toolbox/mechanical{
- pixel_x = 4;
- pixel_y = -3
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_s)
"tjH" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/item/device/radio/headset/almayer/mt,
@@ -67825,6 +68183,16 @@
icon_state = "orange"
},
/area/almayer/maint/hull/lower/l_m_s)
+"tkd" = (
+/obj/structure/sign/safety/escapepod{
+ pixel_y = -32
+ },
+/obj/structure/sign/safety/south{
+ pixel_x = 15;
+ pixel_y = -32
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"tkg" = (
/obj/structure/sign/safety/distribution_pipes{
pixel_x = 8;
@@ -67852,6 +68220,15 @@
},
/turf/open/floor/almayer,
/area/almayer/shipboard/weapon_room)
+"tkF" = (
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"tkN" = (
/obj/structure/machinery/cm_vending/sorted/cargo_ammo/squad{
req_access = null;
@@ -67926,6 +68303,11 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/lower_medical_lobby)
+"tlM" = (
+/turf/open/floor/almayer{
+ icon_state = "orangecorner"
+ },
+/area/almayer/maint/upper/u_a_s)
"tmg" = (
/obj/structure/surface/table/almayer,
/obj/item/reagent_container/hypospray,
@@ -67965,33 +68347,20 @@
icon_state = "redcorner"
},
/area/almayer/shipboard/brig/execution)
-"tmI" = (
-/obj/structure/machinery/light,
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out";
- pixel_x = -1
- },
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "red"
- },
-/area/almayer/lifeboat_pumps/south1)
-"tmK" = (
-/obj/structure/machinery/door/airlock/almayer/maint{
- dir = 1;
- req_one_access = null;
- req_one_access_txt = "91;92"
- },
-/turf/open/floor/almayer/no_build{
- icon_state = "test_floor4"
- },
-/area/almayer/command/airoom)
"tmQ" = (
/obj/structure/machinery/light/small{
dir = 1
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/stern)
+"tmV" = (
+/obj/structure/machinery/camera/autoname/almayer/containment/ares{
+ dir = 8;
+ autoname = 0;
+ c_tag = "AI - SecVault"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"tmX" = (
/obj/effect/landmark/start/professor,
/obj/effect/landmark/late_join/cmo,
@@ -68032,6 +68401,12 @@
"tob" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/u_m_s)
+"tof" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/aft_hallway)
"tos" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -68109,6 +68484,24 @@
icon_state = "test_floor4"
},
/area/almayer/hallways/lower/starboard_fore_hallway)
+"toS" = (
+/obj/structure/surface/table/reinforced/prison,
+/obj/structure/machinery/door/window/eastright{
+ dir = 8;
+ req_access_txt = "8"
+ },
+/obj/structure/machinery/door/window/eastleft{
+ req_access_txt = "8"
+ },
+/obj/item/desk_bell{
+ pixel_x = -6;
+ pixel_y = 10;
+ anchored = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "sterile_green"
+ },
+/area/almayer/medical/lower_medical_medbay)
"tpa" = (
/obj/structure/machinery/portable_atmospherics/hydroponics,
/obj/structure/window/reinforced{
@@ -68125,20 +68518,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/upper_engineering/port)
-"tpj" = (
-/obj/structure/stairs{
- dir = 8;
- icon_state = "ramptop"
- },
-/obj/effect/projector{
- name = "Almayer_Down2";
- vector_x = 1;
- vector_y = -100
- },
-/turf/open/floor/plating/almayer{
- allow_construction = 0
- },
-/area/almayer/hallways/upper/aft_hallway)
"tpn" = (
/turf/closed/wall/almayer,
/area/almayer/shipboard/brig/evidence_storage)
@@ -68189,6 +68568,16 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/vehiclehangar)
+"tqu" = (
+/obj/effect/step_trigger/clone_cleaner,
+/obj/structure/machinery/door_control{
+ id = "ARES ReceptStairs1";
+ name = "ARES Reception Shutters";
+ pixel_y = -24;
+ req_one_access_txt = "91;92"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"tqE" = (
/obj/structure/machinery/light{
dir = 8
@@ -68262,6 +68651,20 @@
icon_state = "orangecorner"
},
/area/almayer/engineering/lower)
+"tru" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
+"trx" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"trB" = (
/turf/open/floor/almayer{
dir = 10;
@@ -68276,7 +68679,6 @@
icon_state = "W";
pixel_x = -1
},
-/obj/structure/surface/table/almayer,
/obj/item/storage/firstaid/o2{
pixel_x = -6;
pixel_y = 6
@@ -68293,6 +68695,7 @@
pixel_x = 8;
pixel_y = -2
},
+/obj/structure/surface/table/almayer,
/turf/open/floor/almayer{
dir = 8;
icon_state = "sterile_green_corner"
@@ -68328,6 +68731,9 @@
/obj/item/clothing/suit/chef/classic,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/grunt_rnr)
+"tsn" = (
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/midship_hallway)
"tsr" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/maint/upper/mess)
@@ -68407,14 +68813,6 @@
},
/turf/open/floor/plating,
/area/almayer/powered/agent)
-"tty" = (
-/obj/structure/surface/table/almayer,
-/obj/item/clipboard,
-/obj/item/paper,
-/obj/item/clothing/glasses/mgoggles,
-/obj/item/clothing/glasses/mgoggles,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_s)
"ttB" = (
/obj/structure/largecrate/random/case/double,
/turf/open/floor/plating/plating_catwalk,
@@ -68535,6 +68933,10 @@
icon_state = "orange"
},
/area/almayer/hallways/hangar)
+"tuX" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/fore_hallway)
"tuZ" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
@@ -68549,15 +68951,6 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/starboard_midship_hallway)
-"tvr" = (
-/obj/structure/machinery/disposal,
-/obj/structure/disposalpipe/trunk{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"tvt" = (
/obj/structure/window/framed/almayer/hull,
/turf/open/floor/plating,
@@ -68618,10 +69011,6 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/south1)
-"tvS" = (
-/obj/docking_port/stationary/escape_pod/south,
-/turf/open/floor/plating,
-/area/almayer/maint/hull/upper/u_m_s)
"twp" = (
/obj/structure/ladder{
height = 1;
@@ -68633,23 +69022,6 @@
},
/turf/open/floor/plating/almayer,
/area/almayer/maint/hull/lower/l_a_s)
-"twq" = (
-/obj/structure/surface/table/reinforced/prison,
-/obj/item/tool/hand_labeler{
- pixel_x = 7
- },
-/obj/item/paper_bin/uscm{
- pixel_y = 5
- },
-/obj/item/tool/pen,
-/obj/structure/machinery/computer/working_joe{
- dir = 8;
- pixel_x = 17
- },
-/turf/open/floor/almayer{
- icon_state = "sterile_green_side"
- },
-/area/almayer/medical/lower_medical_medbay)
"twB" = (
/obj/structure/prop/almayer/name_stencil{
icon_state = "almayer2"
@@ -68698,19 +69070,13 @@
},
/turf/open/floor/almayer,
/area/almayer/living/port_emb)
-"txd" = (
+"txf" = (
/obj/structure/disposalpipe/segment{
- dir = 1;
+ dir = 2;
icon_state = "pipe-c"
},
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 5
- },
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_s)
"txp" = (
/obj/structure/largecrate/random/barrel/white,
/turf/open/floor/plating/plating_catwalk,
@@ -68773,6 +69139,15 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/port_emb)
+"tyC" = (
+/obj/structure/sign/safety/medical{
+ pixel_x = 8;
+ pixel_y = -32
+ },
+/turf/open/floor/almayer{
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"tyD" = (
/turf/open/floor/almayer/research/containment/corner_var1{
dir = 4
@@ -68827,6 +69202,13 @@
icon_state = "test_floor5"
},
/area/almayer/medical/hydroponics)
+"tzO" = (
+/obj/structure/machinery/cm_vending/sorted/medical/chemistry,
+/obj/structure/medical_supply_link,
+/turf/open/floor/almayer{
+ icon_state = "dark_sterile"
+ },
+/area/almayer/medical/chemistry)
"tzP" = (
/obj/structure/barricade/handrail/medical,
/turf/open/floor/almayer{
@@ -68855,6 +69237,30 @@
icon_state = "plate"
},
/area/almayer/engineering/upper_engineering/port)
+"tAt" = (
+/obj/effect/step_trigger/clone_cleaner,
+/obj/structure/machinery/door/poddoor/almayer/open{
+ dir = 4;
+ id = "ARES StairsLock";
+ name = "ARES Exterior Lockdown"
+ },
+/obj/effect/step_trigger/ares_alert/access_control,
+/obj/structure/disposalpipe/trunk{
+ dir = 1
+ },
+/obj/structure/disposaloutlet{
+ density = 0;
+ desc = "An outlet for the pneumatic delivery system.";
+ icon_state = "delivery_outlet";
+ name = "returns outlet";
+ pixel_y = 28;
+ range = 0;
+ pixel_x = -7
+ },
+/turf/open/floor/almayer/no_build{
+ icon_state = "test_floor4"
+ },
+/area/almayer/command/airoom)
"tAL" = (
/obj/structure/machinery/cryopod,
/turf/open/floor/almayer{
@@ -68969,24 +69375,32 @@
},
/area/almayer/hallways/upper/port)
"tCC" = (
+/obj/structure/machinery/camera/autoname/almayer/containment/ares{
+ dir = 1;
+ c_tag = "AI - Reception Interior";
+ autoname = 0
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
+"tCH" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer,
/obj/structure/disposalpipe/segment{
dir = 4
},
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "orange"
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
},
-/area/almayer/maint/hull/upper/u_a_s)
-"tCD" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
+/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{
+ closeOtherId = "brignorth";
+ dir = 2;
+ name = "\improper Brig Armoury";
+ req_access = null;
+ req_one_access_txt = "1;3"
},
/turf/open/floor/almayer{
- dir = 8;
- icon_state = "cargo_arrow"
+ icon_state = "test_floor4"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/shipboard/brig/starboard_hallway)
"tCT" = (
/obj/structure/bed/chair/comfy/blue{
dir = 8
@@ -69078,11 +69492,20 @@
icon_state = "test_floor4"
},
/area/almayer/command/airoom)
-"tFQ" = (
+"tFJ" = (
+/obj/structure/largecrate/supply/supplies/mre,
/turf/open/floor/almayer{
- icon_state = "orange"
+ dir = 1;
+ icon_state = "red"
+ },
+/area/almayer/maint/upper/u_a_p)
+"tFO" = (
+/obj/structure/largecrate/supply/supplies/flares,
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "red"
},
-/area/almayer/hallways/upper/stern_hallway)
+/area/almayer/maint/upper/u_a_p)
"tFS" = (
/obj/structure/machinery/computer/supplycomp,
/obj/structure/sign/safety/terminal{
@@ -69166,20 +69589,12 @@
/obj/structure/machinery/light{
dir = 1
},
-/obj/structure/machinery/photocopier{
- anchored = 0
- },
/obj/structure/sign/poster/art{
pixel_y = 32
},
+/obj/structure/machinery/photocopier/wyphotocopier,
/turf/open/floor/wood/ship,
/area/almayer/command/corporateliaison)
-"tGW" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "red"
- },
-/area/almayer/hallways/upper/stern_hallway)
"tHk" = (
/obj/structure/surface/rack,
/obj/effect/spawner/random/toolbox,
@@ -69271,6 +69686,15 @@
icon_state = "test_floor4"
},
/area/almayer/living/port_emb)
+"tIu" = (
+/obj/structure/bed/chair/office/dark{
+ dir = 8
+ },
+/turf/open/floor/almayer/aicore/glowing/no_build{
+ icon_state = "ai_floor3";
+ light_range = 3
+ },
+/area/almayer/command/airoom)
"tIF" = (
/obj/structure/largecrate/random/barrel/green,
/turf/open/floor/almayer{
@@ -69330,6 +69754,11 @@
icon_state = "plate"
},
/area/almayer/living/bridgebunks)
+"tJm" = (
+/turf/open/floor/almayer{
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"tJq" = (
/obj/structure/machinery/light/small{
dir = 1
@@ -69342,21 +69771,6 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/charlie_delta_shared)
-"tJH" = (
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/stern_hallway)
-"tJN" = (
-/obj/structure/machinery/cryopod/right{
- layer = 3.1;
- pixel_y = 13
- },
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_cargo"
- },
-/area/almayer/command/airoom)
"tJR" = (
/obj/structure/machinery/vending/cigarette,
/obj/structure/sign/safety/medical{
@@ -69374,15 +69788,6 @@
icon_state = "green"
},
/area/almayer/living/grunt_rnr)
-"tKf" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/command/lifeboat)
"tKr" = (
/obj/structure/machinery/cryopod/right{
dir = 2
@@ -69456,13 +69861,16 @@
icon_state = "orange"
},
/area/almayer/engineering/lower/workshop/hangar)
-"tMT" = (
-/obj/item/tool/weldingtool,
-/obj/structure/surface/rack,
+"tMi" = (
+/obj/effect/step_trigger/clone_cleaner,
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out"
+ },
/turf/open/floor/almayer{
- icon_state = "red"
+ dir = 8;
+ icon_state = "green"
},
-/area/almayer/maint/hull/upper/u_a_p)
+/area/almayer/hallways/upper/fore_hallway)
"tMU" = (
/obj/structure/sign/safety/hvac_old{
pixel_x = 8;
@@ -69512,6 +69920,12 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/alpha)
+"tNY" = (
+/obj/structure/largecrate/random/case/small,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"tOr" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -69599,20 +70013,6 @@
icon_state = "bluefull"
},
/area/almayer/living/briefing)
-"tPz" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
-"tPB" = (
-/obj/effect/projector{
- name = "Almayer_Down2";
- vector_x = 1;
- vector_y = -100
- },
-/turf/open/floor/almayer{
- allow_construction = 0
- },
-/area/almayer/hallways/upper/aft_hallway)
"tPI" = (
/obj/structure/bed/chair{
dir = 4
@@ -69646,27 +70046,11 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/cryo)
-"tQA" = (
-/obj/structure/machinery/door/airlock/almayer/maint/reinforced{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/maint/upper/u_m_s)
"tQL" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/machinery/light,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/hangar)
-"tQO" = (
-/obj/structure/sign/safety/restrictedarea{
- pixel_y = -32
- },
-/turf/open/floor/almayer{
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"tQV" = (
/turf/closed/wall/almayer/outer,
/area/almayer/lifeboat_pumps/south1)
@@ -69720,15 +70104,16 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
-"tSY" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
+"tSX" = (
+/obj/structure/surface/table/almayer,
+/obj/item/weapon/gun/rifle/l42a{
+ pixel_y = 6
},
-/obj/structure/disposalpipe/segment{
- dir = 4
+/obj/item/weapon/gun/rifle/l42a,
+/turf/open/floor/almayer{
+ icon_state = "plate"
},
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/stern_hallway)
+/area/almayer/maint/upper/u_m_s)
"tTk" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -69781,6 +70166,11 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/starboard_hallway)
+"tTZ" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/fore_hallway)
"tUh" = (
/obj/structure/disposalpipe/segment{
dir = 8;
@@ -69859,12 +70249,6 @@
icon_state = "cargo_arrow"
},
/area/almayer/squads/alpha)
-"tVs" = (
-/obj/structure/closet,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_s)
"tVx" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -69880,15 +70264,6 @@
/obj/structure/largecrate/random/case,
/turf/open/floor/plating,
/area/almayer/maint/lower/constr)
-"tWf" = (
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"tWi" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 8
@@ -69933,10 +70308,6 @@
icon_state = "silver"
},
/area/almayer/hallways/lower/repair_bay)
-"tWM" = (
-/obj/docking_port/stationary/escape_pod/north,
-/turf/open/floor/plating,
-/area/almayer/maint/upper/u_m_s)
"tWY" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -69957,6 +70328,17 @@
icon_state = "test_floor4"
},
/area/almayer/medical/upper_medical)
+"tXa" = (
+/obj/item/storage/toolbox/mechanical{
+ pixel_y = 13
+ },
+/obj/structure/machinery/power/apc/almayer{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"tXb" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/bed/chair/comfy/charlie{
@@ -70116,12 +70498,6 @@
icon_state = "test_floor4"
},
/area/almayer/hallways/upper/port)
-"tZM" = (
-/obj/structure/sink{
- pixel_y = 24
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_s)
"tZZ" = (
/obj/structure/machinery/cryopod,
/obj/effect/decal/warning_stripes{
@@ -70218,6 +70594,14 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/command/computerlab)
+"ubv" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/fore_hallway)
"ubA" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -70247,18 +70631,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/starboard_aft_hallway)
-"uch" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/aft_hallway)
"ucp" = (
/obj/structure/window/framed/almayer,
/turf/open/floor/plating,
@@ -70333,6 +70705,15 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/lower_medical_lobby)
+"udv" = (
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"udx" = (
/obj/structure/machinery/vending/snack,
/turf/open/floor/almayer{
@@ -70410,6 +70791,13 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/u_f_p)
+"uey" = (
+/obj/structure/machinery/cm_vending/sorted/medical/bolted,
+/obj/structure/medical_supply_link/green,
+/turf/open/floor/almayer{
+ icon_state = "sterile_green_side"
+ },
+/area/almayer/medical/lockerroom)
"ueG" = (
/obj/item/bedsheet/orange,
/obj/structure/bed{
@@ -70434,6 +70822,10 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/medical_science)
+"ueY" = (
+/obj/structure/machinery/light,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_s)
"ueZ" = (
/obj/structure/machinery/door/firedoor/border_only/almayer,
/obj/structure/machinery/door/airlock/multi_tile/almayer/marine/alpha{
@@ -70480,6 +70872,16 @@
icon_state = "orange"
},
/area/almayer/maint/hull/lower/l_m_s)
+"ugo" = (
+/obj/item/tool/weldpack{
+ pixel_y = 15
+ },
+/obj/structure/surface/table/almayer,
+/obj/item/clothing/head/welding,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"ugu" = (
/obj/structure/machinery/cm_vending/sorted/marine_food,
/turf/open/floor/almayer,
@@ -70571,6 +70973,12 @@
icon_state = "cargo_arrow"
},
/area/almayer/living/offices)
+"uig" = (
+/obj/structure/largecrate/supply/floodlights,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_p)
"uiC" = (
/obj/structure/machinery/alarm/almayer{
dir = 1
@@ -70620,12 +71028,6 @@
icon_state = "test_floor4"
},
/area/almayer/command/cichallway)
-"ujf" = (
-/obj/structure/largecrate/random/barrel/yellow,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_s)
"ujz" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/simple/hidden/supply,
@@ -70753,16 +71155,6 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/starboard)
-"umD" = (
-/obj/structure/sign/safety/storage{
- pixel_x = 8;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"umI" = (
/obj/structure/machinery/door/firedoor/border_only/almayer,
/turf/open/floor/almayer{
@@ -70839,16 +71231,6 @@
icon_state = "plate"
},
/area/almayer/living/pilotbunks)
-"unU" = (
-/obj/structure/machinery/light{
- dir = 4
- },
-/obj/structure/machinery/cm_vending/sorted/medical/bolted,
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "sterile_green_side"
- },
-/area/almayer/medical/lower_medical_medbay)
"unZ" = (
/obj/structure/platform{
dir = 1
@@ -70929,6 +71311,13 @@
/obj/structure/largecrate/random/case/double,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/u_m_p)
+"upW" = (
+/obj/structure/sign/safety/intercom{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"uqd" = (
/obj/structure/surface/table/almayer,
/obj/effect/decal/warning_stripes{
@@ -70978,6 +71367,17 @@
"uqo" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/armory)
+"uqs" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/closet/secure_closet/guncabinet,
+/obj/item/weapon/gun/rifle/m41a{
+ pixel_y = 6
+ },
+/obj/item/weapon/gun/rifle/m41a,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"uqA" = (
/obj/structure/machinery/firealarm{
dir = 8;
@@ -70994,15 +71394,6 @@
},
/turf/open/floor/almayer,
/area/almayer/command/lifeboat)
-"uqJ" = (
-/turf/open/floor/almayer{
- icon_state = "orangecorner"
- },
-/area/almayer/maint/hull/upper/u_a_s)
-"urg" = (
-/obj/docking_port/stationary/escape_pod/east,
-/turf/open/floor/plating,
-/area/almayer/maint/hull/upper/u_m_p)
"urk" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -71013,12 +71404,6 @@
icon_state = "orangecorner"
},
/area/almayer/hallways/lower/starboard_umbilical)
-"urs" = (
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"ury" = (
/obj/structure/bed/chair{
dir = 8
@@ -71031,23 +71416,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_f_p)
-"urL" = (
-/obj/structure/prop/invuln/overhead_pipe{
- dir = 4;
- pixel_y = 13
- },
-/obj/structure/prop/invuln/overhead_pipe{
- dir = 4;
- pixel_x = -16;
- pixel_y = 13
- },
-/obj/structure/prop/invuln/overhead_pipe{
- dir = 4;
- pixel_x = 12;
- pixel_y = 13
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/upper/u_m_s)
"urM" = (
/obj/structure/machinery/light{
dir = 8
@@ -71085,6 +71453,15 @@
icon_state = "redfull"
},
/area/almayer/shipboard/panic)
+"usu" = (
+/obj/structure/surface/rack,
+/obj/item/roller,
+/obj/item/roller,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_s)
"usy" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -71096,15 +71473,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/medical_science)
-"usL" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 2
- },
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/port)
"usX" = (
/obj/structure/disposalpipe/segment{
dir = 1;
@@ -71146,15 +71514,9 @@
icon_state = "cargo"
},
/area/almayer/engineering/upper_engineering)
-"utC" = (
-/obj/structure/machinery/portable_atmospherics/canister/air,
-/obj/structure/machinery/light/small{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "cargo"
- },
-/area/almayer/maint/hull/upper/u_a_s)
+"utp" = (
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_f_s)
"utK" = (
/obj/structure/machinery/light{
dir = 4
@@ -71185,6 +71547,18 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/bravo)
+"uul" = (
+/obj/structure/pipes/standard/cap/hidden{
+ dir = 4
+ },
+/obj/structure/sign/safety/life_support{
+ pixel_x = 14;
+ pixel_y = -25
+ },
+/turf/open/floor/almayer{
+ icon_state = "mono"
+ },
+/area/almayer/lifeboat_pumps/south2)
"uun" = (
/obj/structure/machinery/door/firedoor/border_only/almayer{
dir = 2
@@ -71294,18 +71668,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/s_bow)
-"uvq" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"uvt" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer{
@@ -71358,10 +71720,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/cells)
-"uwf" = (
-/obj/structure/machinery/light,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_s)
"uws" = (
/obj/structure/machinery/light{
dir = 4
@@ -71436,12 +71794,6 @@
icon_state = "emerald"
},
/area/almayer/squads/charlie)
-"uxs" = (
-/obj/structure/machinery/pipedispenser/orderable,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"uxC" = (
/obj/structure/machinery/light{
dir = 4
@@ -71498,12 +71850,14 @@
"uyH" = (
/turf/closed/wall/almayer/research/containment/wall/divide,
/area/almayer/medical/containment/cell)
-"uyJ" = (
-/obj/structure/machinery/cm_vending/sorted/medical/chemistry,
+"uyQ" = (
+/obj/structure/largecrate/random/case{
+ layer = 2.98
+ },
/turf/open/floor/almayer{
- icon_state = "dark_sterile"
+ icon_state = "plate"
},
-/area/almayer/medical/chemistry)
+/area/almayer/maint/upper/u_a_s)
"uzv" = (
/obj/structure/bed/chair{
dir = 8;
@@ -71525,37 +71879,12 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/ce_room)
-"uzH" = (
-/obj/structure/machinery/door/airlock/almayer/medical/glass{
- name = "\improper Brig Medbay";
- req_access = null;
- req_one_access = null;
- req_one_access_txt = "20;3";
- closeOtherId = "brigmed"
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/shipboard/brig/medical)
"uAb" = (
/obj/effect/decal/warning_stripes{
icon_state = "SE-out"
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/hangar)
-"uAi" = (
-/obj/structure/sign/safety/maint{
- pixel_x = 8;
- pixel_y = -32
- },
-/turf/open/floor/almayer{
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"uAj" = (
/obj/structure/bed/chair,
/obj/effect/decal/cleanable/dirt,
@@ -71618,6 +71947,20 @@
/obj/item/toy/plush/farwa,
/turf/open/floor/wood/ship,
/area/almayer/shipboard/brig/cells)
+"uAP" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/sign/safety/autoopenclose{
+ pixel_x = 7;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"uAW" = (
/obj/structure/machinery/cryopod{
layer = 3.1;
@@ -71667,6 +72010,13 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/u_m_p)
+"uBG" = (
+/obj/item/tool/weldingtool,
+/obj/structure/surface/rack,
+/turf/open/floor/almayer{
+ icon_state = "red"
+ },
+/area/almayer/maint/upper/u_a_p)
"uBM" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 5
@@ -71897,6 +72247,15 @@
icon_state = "green"
},
/area/almayer/hallways/lower/port_midship_hallway)
+"uGi" = (
+/obj/structure/machinery/suit_storage_unit/compression_suit/uscm,
+/obj/structure/machinery/alarm/almayer{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/lower/starboard_umbilical)
"uGN" = (
/obj/structure/pipes/vents/pump,
/turf/open/floor/almayer,
@@ -71939,11 +72298,6 @@
icon_state = "plate"
},
/area/almayer/maint/lower/s_bow)
-"uIa" = (
-/turf/open/floor/almayer{
- icon_state = "greencorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"uIv" = (
/turf/open/floor/almayer{
icon_state = "orange"
@@ -72042,16 +72396,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_s)
-"uKv" = (
-/obj/structure/surface/table/reinforced/prison,
-/obj/item/device/multitool{
- desc = "A large handheld tool used to override various machine functions. Primarily used to pulse Airlock and APC wires on a shortwave frequency. It contains a small data buffer as well. This one is comically oversized. Made in Texas.";
- icon_state = "multitool_big";
- name = "\improper Oversized Security Access Tuner";
- pixel_y = 8
- },
-/turf/open/floor/almayer,
-/area/almayer/squads/alpha_bravo_shared)
"uKH" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -72130,6 +72474,27 @@
icon_state = "emerald"
},
/area/almayer/living/port_emb)
+"uMO" = (
+/obj/effect/projector{
+ name = "Almayer_AresDown";
+ vector_x = 96;
+ vector_y = -65
+ },
+/obj/structure/platform{
+ dir = 4
+ },
+/obj/structure/stairs{
+ dir = 1;
+ icon_state = "ramptop"
+ },
+/obj/structure/machinery/door_control{
+ id = "ARES StairsUpper";
+ name = "ARES Core Access";
+ pixel_x = 24;
+ req_one_access_txt = "90;91;92"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"uMS" = (
/turf/open/floor/almayer{
dir = 5;
@@ -72210,17 +72575,17 @@
},
/turf/open/floor/almayer,
/area/almayer/command/lifeboat)
-"uOi" = (
-/turf/closed/wall/almayer/outer,
-/area/almayer/lifeboat_pumps/south2)
-"uOE" = (
-/obj/structure/pipes/vents/pump{
- dir = 1
+"uOh" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
},
/turf/open/floor/almayer{
- icon_state = "plate"
+ icon_state = "test_floor4"
},
-/area/almayer/maint/hull/upper/u_a_p)
+/area/almayer/hallways/upper/fore_hallway)
+"uOi" = (
+/turf/closed/wall/almayer/outer,
+/area/almayer/lifeboat_pumps/south2)
"uOJ" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
@@ -72236,12 +72601,22 @@
"uPE" = (
/turf/open/floor/almayer,
/area/almayer/hallways/lower/port_aft_hallway)
-"uPN" = (
-/obj/item/tool/wirecutters/clippers,
-/turf/open/floor/almayer{
- icon_state = "plate"
+"uPI" = (
+/obj/structure/surface/table/reinforced/almayer_B{
+ indestructible = 1;
+ unacidable = 1;
+ unslashable = 1
},
-/area/almayer/maint/hull/upper/u_a_s)
+/obj/structure/transmitter/rotary{
+ name = "AI Reception Telephone";
+ phone_category = "ARES";
+ phone_color = "blue";
+ phone_id = "AI Reception"
+ },
+/turf/open/floor/almayer/no_build{
+ icon_state = "ai_floors"
+ },
+/area/almayer/command/airoom)
"uPP" = (
/obj/structure/machinery/door/airlock/almayer/engineering{
dir = 2;
@@ -72273,11 +72648,6 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/starboard_aft_hallway)
-"uQi" = (
-/turf/open/floor/almayer{
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"uQm" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -72382,6 +72752,15 @@
icon_state = "red"
},
/area/almayer/hallways/upper/port)
+"uSk" = (
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"uSH" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/reagent_dispensers/water_cooler{
@@ -72417,20 +72796,17 @@
icon_state = "plating"
},
/area/almayer/engineering/lower/engine_core)
-"uSZ" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 10
- },
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"uTk" = (
/obj/structure/largecrate/random/secure,
/turf/open/floor/plating,
/area/almayer/maint/lower/constr)
+"uTl" = (
+/obj/structure/surface/table/almayer,
+/obj/item/weapon/gun/rifle/m41a,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"uTs" = (
/obj/structure/machinery/door/poddoor/almayer/open{
dir = 4;
@@ -72594,6 +72970,18 @@
},
/turf/open/floor/plating,
/area/almayer/engineering/upper_engineering/port)
+"uUB" = (
+/obj/structure/surface/table/reinforced/almayer_B{
+ indestructible = 1;
+ unacidable = 1;
+ unslashable = 1
+ },
+/obj/item/paper_bin/uscm{
+ pixel_y = 6
+ },
+/obj/item/tool/pen,
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"uVc" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 1
@@ -72608,15 +72996,6 @@
icon_state = "silver"
},
/area/almayer/shipboard/brig/cic_hallway)
-"uVg" = (
-/obj/structure/sign/safety/maint{
- pixel_x = -17
- },
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"uVh" = (
/obj/structure/filingcabinet/seeds,
/turf/open/floor/almayer{
@@ -72669,18 +73048,27 @@
icon_state = "plate"
},
/area/almayer/living/pilotbunks)
-"uVZ" = (
+"uVY" = (
+/obj/structure/largecrate/random/case/small,
/turf/open/floor/almayer{
- dir = 5;
- icon_state = "green"
+ icon_state = "plate"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/maint/upper/u_m_p)
"uWc" = (
/obj/structure/surface/table/almayer,
/turf/open/floor/almayer{
icon_state = "emeraldfull"
},
/area/almayer/living/briefing)
+"uWk" = (
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ dir = 9;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"uWm" = (
/obj/effect/projector{
name = "Almayer_Up4";
@@ -72767,6 +73155,13 @@
icon_state = "test_floor4"
},
/area/almayer/shipboard/brig/interrogation)
+"uXE" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"uXL" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -72856,12 +73251,6 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/starboard)
-"uZI" = (
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "bluecorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"uZV" = (
/obj/structure/reagent_dispensers/fueltank/gas/methane{
anchored = 1
@@ -72893,25 +73282,6 @@
/obj/structure/pipes/standard/manifold/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/starboard_fore_hallway)
-"vaM" = (
-/obj/structure/machinery/power/apc/almayer{
- dir = 1
- },
-/obj/structure/sign/safety/hazard{
- pixel_y = 32
- },
-/obj/structure/sign/safety/airlock{
- pixel_x = 15;
- pixel_y = 32
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NW-out";
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/lower/starboard_umbilical)
"vaQ" = (
/obj/structure/machinery/door/airlock/almayer/medical{
dir = 1;
@@ -72952,16 +73322,29 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"vbu" = (
-/obj/structure/surface/table/almayer,
-/obj/item/tool/weldpack,
-/obj/item/storage/toolbox/mechanical,
-/obj/item/reagent_container/spray/cleaner,
-/turf/open/floor/almayer{
+"vbo" = (
+/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{
+ closeOtherId = "brigcells";
+ name = "\improper Brig Prisoner Yard"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 8
+ },
+/obj/structure/machinery/door/poddoor/almayer/open{
dir = 4;
- icon_state = "orange"
+ id = "courtyard_cells";
+ name = "\improper Courtyard Lockdown Shutter"
},
-/area/almayer/maint/hull/upper/u_a_s)
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/shipboard/brig/processing)
"vbB" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/lifeboat_pumps/south1)
@@ -73014,6 +73397,15 @@
icon_state = "plate"
},
/area/almayer/medical/morgue)
+"vbU" = (
+/obj/structure/sign/safety/maint{
+ pixel_x = 8;
+ pixel_y = -32
+ },
+/turf/open/floor/almayer{
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"vbV" = (
/obj/structure/bed/chair/wheelchair{
dir = 1
@@ -73066,6 +73458,14 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/south2)
+"vcG" = (
+/obj/item/device/radio/intercom{
+ freerange = 1;
+ name = "General Listening Channel";
+ pixel_y = 28
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"vcI" = (
/obj/effect/decal/cleanable/blood/oil/streak,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -73073,15 +73473,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/u_f_s)
-"vcO" = (
-/obj/structure/machinery/light{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/aft_hallway)
"vdl" = (
/obj/structure/window/reinforced/ultra{
pixel_y = -12
@@ -73129,14 +73520,15 @@
icon_state = "mono"
},
/area/almayer/medical/medical_science)
-"vdT" = (
-/obj/structure/bed/chair/office/dark{
- dir = 8
+"vdR" = (
+/obj/structure/sign/safety/maint{
+ pixel_x = -17
},
/turf/open/floor/almayer{
- icon_state = "plate"
+ dir = 9;
+ icon_state = "red"
},
-/area/almayer/maint/upper/u_m_s)
+/area/almayer/lifeboat_pumps/south2)
"ven" = (
/obj/structure/bed/chair,
/turf/open/floor/almayer{
@@ -73159,27 +73551,6 @@
icon_state = "emeraldfull"
},
/area/almayer/living/briefing)
-"veO" = (
-/obj/structure/closet/secure_closet/guncabinet,
-/obj/item/weapon/gun/rifle/l42a{
- pixel_y = 6
- },
-/obj/item/weapon/gun/rifle/l42a,
-/obj/item/weapon/gun/rifle/l42a{
- pixel_y = -6
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_s)
-"veW" = (
-/obj/structure/machinery/door/airlock/almayer/generic/glass{
- name = "\improper Passenger Cryogenics Bay"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/maint/hull/upper/u_m_p)
"vfa" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -73317,6 +73688,12 @@
"vgO" = (
/turf/closed/wall/almayer/research/containment/wall/east,
/area/almayer/medical/containment/cell)
+"vhb" = (
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "red"
+ },
+/area/almayer/maint/upper/u_a_p)
"vhe" = (
/obj/structure/filingcabinet{
density = 0;
@@ -73426,6 +73803,15 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/port_emb)
+"viv" = (
+/obj/structure/bed/sofa/south/white/right{
+ pixel_y = 16
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "silver"
+ },
+/area/almayer/maint/upper/u_m_p)
"viB" = (
/obj/structure/pipes/standard/manifold/hidden/supply/no_boom{
dir = 1
@@ -73463,16 +73849,6 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/south1)
-"vjd" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/obj/effect/decal/warning_stripes{
- icon_state = "NW-out";
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/command/lifeboat)
"vjg" = (
/obj/structure/prop/almayer/missile_tube{
icon_state = "missiletubesouth"
@@ -73483,29 +73859,6 @@
icon_state = "plating"
},
/area/almayer/shipboard/port_missiles)
-"vjk" = (
-/obj/structure/machinery/camera/autoname/almayer{
- name = "ship-grade camera"
- },
-/obj/structure/machinery/alarm/almayer{
- dir = 1
- },
-/obj/structure/machinery/suit_storage_unit/compression_suit/uscm,
-/obj/structure/sign/safety/hazard{
- pixel_y = 32
- },
-/obj/structure/sign/safety/airlock{
- pixel_x = 15;
- pixel_y = 32
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/lower/starboard_umbilical)
"vjv" = (
/obj/effect/decal/cleanable/blood/oil,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -73656,12 +74009,6 @@
icon_state = "plate"
},
/area/almayer/maint/lower/s_bow)
-"vkQ" = (
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"vkR" = (
/obj/structure/machinery/power/apc/almayer{
dir = 1
@@ -73672,10 +74019,6 @@
icon_state = "silver"
},
/area/almayer/shipboard/brig/cic_hallway)
-"vkV" = (
-/obj/effect/landmark/start/liaison,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_m_p)
"vlk" = (
/obj/structure/closet/emcloset,
/obj/item/clothing/mask/gas,
@@ -73744,13 +74087,6 @@
icon_state = "plate"
},
/area/almayer/living/port_emb)
-"vlR" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"vlX" = (
/obj/structure/machinery/cm_vending/sorted/cargo_guns/squad_prep,
/turf/open/floor/almayer{
@@ -73776,12 +74112,6 @@
"vmq" = (
/turf/open/floor/almayer,
/area/almayer/maint/hull/lower/l_m_s)
-"vmu" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_p)
"vmE" = (
/turf/open/floor/almayer{
icon_state = "orangecorner"
@@ -73838,16 +74168,13 @@
"vnY" = (
/turf/open/floor/almayer,
/area/almayer/hallways/lower/repair_bay)
-"vnZ" = (
-/obj/structure/machinery/light,
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/manifold/hidden/supply,
+"voj" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
- icon_state = "orange"
+ icon_state = "mono"
},
-/area/almayer/hallways/upper/stern_hallway)
+/area/almayer/hallways/upper/fore_hallway)
"vop" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -73864,6 +74191,77 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_m_p)
+"vou" = (
+/obj/structure/surface/rack{
+ desc = "A bunch of metal shelves stacked on top of eachother. Excellent for storage purposes, less so as cover. One of the shelf legs is damaged, resulting in the rack being propped up by what appears to be circuit boards."
+ },
+/obj/structure/machinery/light/small{
+ dir = 4;
+ icon_state = "bulb-burned";
+ status = 3
+ },
+/obj/effect/decal/cleanable/blood,
+/obj/item/prop{
+ desc = "A blood bag with a hole in it. The rats must have gotten to it first.";
+ icon = 'icons/obj/items/bloodpack.dmi';
+ icon_state = "bloodpack";
+ name = "blood bag"
+ },
+/obj/item/prop{
+ desc = "A blood bag with a hole in it. The rats must have gotten to it first.";
+ icon = 'icons/obj/items/bloodpack.dmi';
+ icon_state = "bloodpack";
+ name = "blood bag"
+ },
+/obj/item/prop{
+ desc = "A blood bag with a hole in it. The rats must have gotten to it first.";
+ icon = 'icons/obj/items/bloodpack.dmi';
+ icon_state = "bloodpack";
+ name = "blood bag"
+ },
+/obj/item/prop{
+ desc = "The words \"Cloning Pod\" are scrawled onto it. It appears to be heavily damaged.";
+ icon = 'icons/obj/items/circuitboards.dmi';
+ icon_state = "id_mod";
+ layer = 2.78;
+ name = "circuit board";
+ pixel_x = 8;
+ pixel_y = 10
+ },
+/obj/item/prop{
+ desc = "The words \"Cloning Scanner\" are scrawled onto it. It appears to be heavily damaged.";
+ icon = 'icons/obj/items/circuitboards.dmi';
+ icon_state = "id_mod";
+ layer = 2.79;
+ name = "circuit board";
+ pixel_x = 8;
+ pixel_y = 7
+ },
+/turf/open/floor/almayer{
+ icon_state = "sterile_green_corner"
+ },
+/area/almayer/medical/lower_medical_medbay)
+"voV" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "W";
+ pixel_x = -1
+ },
+/obj/structure/machinery/door/airlock/almayer/research/reinforced{
+ closeOtherId = "containment_n";
+ dir = 8;
+ name = "\improper Containment Airlock"
+ },
+/obj/structure/machinery/door/poddoor/almayer/biohazard/white{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/medical/containment)
"vpe" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/machinery/door/airlock/almayer/engineering/reinforced/OT{
@@ -73896,6 +74294,23 @@
/obj/item/clothing/mask/cigarette/weed,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/upper_engineering/port)
+"vpH" = (
+/obj/structure/surface/table/reinforced/almayer_B{
+ indestructible = 1;
+ unacidable = 1;
+ unslashable = 1
+ },
+/obj/item/desk_bell{
+ pixel_y = 14;
+ pixel_x = -5;
+ anchored = 1
+ },
+/obj/structure/machinery/computer/working_joe{
+ layer = 3.3;
+ dir = 8
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"vpI" = (
/obj/structure/sign/safety/hvac_old{
pixel_x = 8;
@@ -73964,6 +74379,20 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/starboard)
+"vqI" = (
+/obj/structure/surface/table/reinforced/prison,
+/obj/item/device/camera_film{
+ pixel_x = 4;
+ pixel_y = 1;
+ layer = 3.03
+ },
+/obj/item/stack/sheet/cardboard/small_stack{
+ pixel_x = -5;
+ pixel_y = 3;
+ layer = 3.02
+ },
+/turf/open/floor/almayer,
+/area/almayer/squads/charlie_delta_shared)
"vqK" = (
/obj/structure/pipes/standard/manifold/hidden/supply,
/turf/open/floor/almayer{
@@ -74213,16 +74642,6 @@
icon_state = "plate"
},
/area/almayer/engineering/lower/workshop)
-"vuE" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "NW-out";
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/aft_hallway)
"vuF" = (
/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{
access_modified = 1;
@@ -74363,6 +74782,12 @@
icon_state = "dark_sterile"
},
/area/almayer/living/port_emb)
+"vwj" = (
+/obj/structure/machinery/power/apc/almayer,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_p)
"vwC" = (
/obj/effect/step_trigger/clone_cleaner,
/obj/effect/decal/warning_stripes{
@@ -74392,13 +74817,12 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/grunt_rnr)
-"vwJ" = (
-/obj/structure/largecrate/random/case/double,
-/obj/structure/machinery/light/small,
+"vwT" = (
/turf/open/floor/almayer{
- icon_state = "plate"
+ dir = 4;
+ icon_state = "blue"
},
-/area/almayer/maint/hull/upper/u_m_p)
+/area/almayer/hallways/upper/midship_hallway)
"vwU" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
@@ -74420,22 +74844,6 @@
/obj/structure/machinery/light,
/turf/open/floor/almayer,
/area/almayer/hallways/hangar)
-"vxh" = (
-/obj/structure/machinery/door/poddoor/shutters/almayer/open{
- dir = 2;
- id = "Warden Office Shutters";
- name = "\improper Privacy Shutters"
- },
-/obj/structure/pipes/standard/simple/hidden/supply,
-/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{
- dir = 1;
- name = "\improper Warden's Office";
- closeOtherId = "brigwarden"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/shipboard/brig/warden_office)
"vxu" = (
/obj/structure/machinery/meter,
/obj/structure/pipes/standard/simple/visible{
@@ -74544,6 +74952,15 @@
"vyB" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/vehiclehangar)
+"vyE" = (
+/obj/structure/pipes/standard/simple/hidden/supply/no_boom{
+ dir = 4
+ },
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 4;
+ icon_state = "ai_arrow"
+ },
+/area/almayer/command/airoom)
"vyH" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -74611,15 +75028,6 @@
"vzK" = (
/turf/open/floor/almayer,
/area/almayer/engineering/ce_room)
-"vzO" = (
-/obj/structure/machinery/door/airlock/almayer/maint{
- req_one_access = null;
- req_one_access_txt = "2;30;34"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/maint/upper/u_m_s)
"vzP" = (
/obj/structure/surface/table/almayer,
/obj/item/storage/box/cups,
@@ -74715,15 +75123,6 @@
icon_state = "mono"
},
/area/almayer/medical/medical_science)
-"vAU" = (
-/obj/structure/pipes/vents/scrubber/no_boom{
- dir = 4
- },
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_silver";
- dir = 8
- },
-/area/almayer/command/airoom)
"vBp" = (
/obj/structure/bed/chair/comfy{
dir = 1
@@ -74781,6 +75180,18 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/hydroponics)
+"vCt" = (
+/obj/structure/sign/safety/storage{
+ pixel_x = 8;
+ pixel_y = -32
+ },
+/turf/open/floor/almayer,
+/area/almayer/lifeboat_pumps/north1)
+"vCv" = (
+/turf/open/floor/almayer{
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"vCx" = (
/obj/structure/machinery/status_display{
pixel_y = -30
@@ -74804,6 +75215,22 @@
/obj/structure/largecrate/random/barrel/yellow,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/s_bow)
+"vCH" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "S";
+ layer = 3.3
+ },
+/obj/structure/machinery/camera/autoname/almayer/containment/ares{
+ dir = 4;
+ c_tag = "AI - Primary Processors";
+ autoname = 0
+ },
+/turf/open/floor/almayer/aicore/glowing/no_build,
+/area/almayer/command/airoom)
"vCO" = (
/obj/effect/landmark/start/bridge,
/turf/open/floor/plating/plating_catwalk,
@@ -74835,13 +75262,6 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/port_aft_hallway)
-"vDt" = (
-/obj/item/stool,
-/obj/effect/landmark/yautja_teleport,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_s)
"vDz" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 9
@@ -74855,14 +75275,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_m_p)
-"vDR" = (
-/obj/structure/surface/rack,
-/obj/item/tool/wet_sign,
-/obj/item/tool/wet_sign,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_p)
"vEf" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 10
@@ -74925,6 +75337,12 @@
/obj/structure/closet/firecloset,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_f_s)
+"vER" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"vEV" = (
/obj/effect/decal/warning_stripes{
icon_state = "SE-out";
@@ -74966,19 +75384,6 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/north1)
-"vFy" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "NW-out"
- },
-/obj/effect/step_trigger/clone_cleaner,
-/obj/structure/sign/safety/stairs{
- pixel_x = -17
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"vFH" = (
/obj/structure/largecrate/random/case/double,
/turf/open/floor/almayer{
@@ -74998,6 +75403,16 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_f_p)
+"vGi" = (
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/aft_hallway)
"vGn" = (
/turf/open/floor/almayer{
dir = 1;
@@ -75026,6 +75441,15 @@
icon_state = "dark_sterile"
},
/area/almayer/living/numbertwobunks)
+"vGQ" = (
+/obj/structure/machinery/light{
+ dir = 4
+ },
+/obj/structure/bed/chair{
+ dir = 8
+ },
+/turf/open/floor/almayer,
+/area/almayer/lifeboat_pumps/north1)
"vHa" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/structure/machinery/computer/ares_console{
@@ -75133,22 +75557,6 @@
icon_state = "plate"
},
/area/almayer/command/cic)
-"vHA" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 2
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out"
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_x = 1;
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/starboard)
"vHO" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -75161,6 +75569,16 @@
icon_state = "containment_corner_variant_2"
},
/area/almayer/medical/containment/cell)
+"vHP" = (
+/obj/structure/surface/table/almayer,
+/obj/item/paper_bin{
+ pixel_x = -6;
+ pixel_y = 7
+ },
+/obj/item/tool/pen,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_f_s)
"vHW" = (
/obj/structure/surface/rack,
/obj/item/tool/extinguisher,
@@ -75187,20 +75605,22 @@
icon_state = "test_floor4"
},
/area/almayer/maint/hull/lower/l_a_s)
-"vIr" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/aft_hallway)
+"vIo" = (
+/turf/closed/wall/almayer,
+/area/almayer/maint/upper/u_f_p)
"vIu" = (
/obj/structure/machinery/light{
dir = 4
},
/turf/open/floor/almayer,
/area/almayer/command/cichallway)
+"vIZ" = (
+/obj/structure/pipes/standard/manifold/hidden/supply,
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"vJc" = (
/turf/open/floor/almayer{
dir = 4;
@@ -75270,6 +75690,23 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
+"vKr" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 1
+ },
+/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{
+ closeOtherId = "brigcells";
+ dir = 1;
+ name = "\improper Brig Prison Yard And Offices"
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/shipboard/brig/processing)
"vKB" = (
/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m4ra_rifle,
/obj/structure/machinery/light/small{
@@ -75277,13 +75714,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/armory)
-"vKF" = (
-/obj/structure/machinery/cm_vending/sorted/medical,
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "sterile_green_side"
- },
-/area/almayer/shipboard/brig/medical)
"vKI" = (
/obj/structure/machinery/light{
dir = 1
@@ -75321,6 +75751,16 @@
icon_state = "silver"
},
/area/almayer/hallways/lower/repair_bay)
+"vLz" = (
+/obj/structure/machinery/door_control{
+ id = "ARES Mainframe Right";
+ name = "ARES Mainframe Lockdown";
+ pixel_x = -24;
+ pixel_y = -24;
+ req_one_access_txt = "200;91;92"
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"vLA" = (
/obj/effect/decal/warning_stripes{
icon_state = "W";
@@ -75349,6 +75789,12 @@
/obj/effect/landmark/start/otech,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/offices)
+"vMt" = (
+/turf/open/floor/almayer/aicore/no_build{
+ dir = 8;
+ icon_state = "ai_silver"
+ },
+/area/almayer/command/airoom)
"vMA" = (
/obj/structure/machinery/firealarm{
pixel_y = 28
@@ -75411,10 +75857,6 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
-"vMQ" = (
-/obj/docking_port/stationary/escape_pod/north,
-/turf/open/floor/plating,
-/area/almayer/maint/hull/upper/u_m_p)
"vMU" = (
/obj/effect/decal/warning_stripes{
icon_state = "NE-out";
@@ -75425,6 +75867,13 @@
icon_state = "redcorner"
},
/area/almayer/hallways/lower/port_fore_hallway)
+"vNo" = (
+/obj/structure/largecrate/random/case/double,
+/obj/structure/machinery/light/small,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_p)
"vNp" = (
/obj/structure/sign/safety/three{
pixel_x = -17
@@ -75619,6 +76068,12 @@
icon_state = "redfull"
},
/area/almayer/engineering/lower/workshop/hangar)
+"vPT" = (
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_s)
"vPW" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -75652,6 +76107,14 @@
/obj/item/device/camera,
/turf/open/floor/almayer,
/area/almayer/command/computerlab)
+"vQN" = (
+/obj/structure/sign/safety/restrictedarea{
+ pixel_y = -32
+ },
+/turf/open/floor/almayer{
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"vQR" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/wood/ship,
@@ -75697,16 +76160,17 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/starboard)
-"vRJ" = (
-/obj/structure/machinery/door/airlock/almayer/maint{
- dir = 1;
- name = "\improper Emergency Air Storage"
+"vRA" = (
+/obj/effect/step_trigger/teleporter_vector{
+ name = "Almayer_AresDown";
+ vector_x = 96;
+ vector_y = -65
},
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
+/obj/structure/stairs{
+ dir = 1
},
-/area/almayer/maint/hull/upper/u_a_s)
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"vRR" = (
/obj/effect/step_trigger/clone_cleaner,
/obj/effect/decal/warning_stripes{
@@ -75835,6 +76299,14 @@
icon_state = "plate"
},
/area/almayer/engineering/upper_engineering)
+"vTE" = (
+/obj/structure/machinery/door/airlock/almayer/maint{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/upper/u_a_s)
"vTM" = (
/obj/structure/surface/rack,
/obj/effect/spawner/random/toolbox,
@@ -75857,21 +76329,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/lower)
-"vTV" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out"
- },
-/obj/structure/machinery/door_control{
- id = "OTStore";
- name = "Shutters";
- pixel_y = -24
- },
-/obj/structure/surface/rack,
-/obj/item/reagent_container/glass/bucket/janibucket,
-/turf/open/floor/almayer{
- icon_state = "orange"
- },
-/area/almayer/engineering/lower/workshop/hangar)
"vTX" = (
/obj/structure/sign/safety/distribution_pipes{
pixel_y = -32
@@ -75901,6 +76358,20 @@
/obj/structure/machinery/light,
/turf/open/floor/almayer,
/area/almayer/command/lifeboat)
+"vUn" = (
+/obj/structure/machinery/camera/autoname/almayer{
+ dir = 8;
+ name = "ship-grade camera"
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out";
+ pixel_x = 1
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "red"
+ },
+/area/almayer/hallways/upper/port)
"vUI" = (
/obj/structure/bed/chair/comfy/orange{
dir = 8
@@ -75922,15 +76393,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_p)
-"vUO" = (
-/obj/structure/machinery/light{
- dir = 8
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"vUP" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/shipboard/brig/cic_hallway)
@@ -75952,6 +76414,13 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/briefing)
+"vVk" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/turf/closed/wall/almayer/aicore/hull,
+/area/almayer/command/airoom)
"vVs" = (
/turf/open/floor/almayer{
icon_state = "sterile_green"
@@ -75996,9 +76465,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_lobby)
-"vVY" = (
-/turf/open/floor/plating,
-/area/almayer/maint/hull/upper/u_m_s)
"vVZ" = (
/obj/structure/machinery/door/airlock/almayer/maint,
/obj/structure/disposalpipe/segment{
@@ -76153,12 +76619,6 @@
},
/turf/open/floor/almayer/aicore/glowing/no_build,
/area/almayer/command/airoom)
-"vXk" = (
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/stern_hallway)
"vXo" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -76196,6 +76656,28 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/vehiclehangar)
+"vYi" = (
+/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{
+ closeOtherId = "brigwarden";
+ name = "\improper Warden's Office"
+ },
+/obj/structure/machinery/door/poddoor/shutters/almayer/open{
+ dir = 4;
+ id = "Warden Office Shutters";
+ name = "\improper Privacy Shutters"
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 8
+ },
+/obj/structure/machinery/door/poddoor/almayer/open{
+ dir = 4;
+ id = "courtyard_cells";
+ name = "\improper Courtyard Lockdown Shutter"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/shipboard/brig/warden_office)
"vYm" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/almayer,
@@ -76281,25 +76763,24 @@
"vZw" = (
/turf/open/floor/almayer/research/containment/floor2,
/area/almayer/medical/containment/cell/cl)
-"vZU" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/power/apc/almayer{
+"vZI" = (
+/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/structure/machinery/cell_charger,
-/obj/structure/sign/safety/high_rad{
- pixel_x = 32;
- pixel_y = -8
- },
-/obj/structure/sign/safety/hazard{
- pixel_x = 32;
- pixel_y = 7
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
},
/turf/open/floor/almayer{
dir = 4;
- icon_state = "orange"
+ icon_state = "blue"
},
-/area/almayer/engineering/lower)
+/area/almayer/hallways/upper/midship_hallway)
+"vZJ" = (
+/turf/open/floor/almayer{
+ dir = 6;
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"wac" = (
/obj/structure/window/reinforced{
dir = 8;
@@ -76331,17 +76812,12 @@
icon_state = "red"
},
/area/almayer/hallways/upper/port)
-"waV" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_x = 1;
- pixel_y = 1
- },
+"waP" = (
+/obj/structure/closet/firecloset,
/turf/open/floor/almayer{
- dir = 8;
- icon_state = "red"
+ icon_state = "cargo"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/hallways/upper/fore_hallway)
"wbu" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/camera/autoname/almayer{
@@ -76506,25 +76982,6 @@
icon_state = "silver"
},
/area/almayer/shipboard/brig/cic_hallway)
-"wdo" = (
-/obj/structure/machinery/door/airlock/almayer/research/reinforced{
- dir = 8;
- name = "\improper Containment Airlock";
- closeOtherId = "containment_s"
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/obj/structure/machinery/door/poddoor/almayer/biohazard/white{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply/no_boom{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/medical/medical_science)
"wdv" = (
/obj/structure/machinery/door/airlock/almayer/maint{
name = "\improper Core Hatch"
@@ -76545,6 +77002,14 @@
/obj/effect/landmark/late_join/charlie,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/charlie)
+"wdE" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"wdF" = (
/turf/open/floor/almayer{
allow_construction = 0
@@ -76618,16 +77083,6 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/repair_bay)
-"wes" = (
-/obj/structure/machinery/cm_vending/sorted/medical/marinemed,
-/obj/structure/sign/safety/medical{
- pixel_x = 8;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/shipboard/panic)
"wex" = (
/obj/structure/sign/safety/bathunisex{
pixel_x = 8;
@@ -76739,6 +77194,16 @@
icon_state = "plate"
},
/area/almayer/shipboard/port_point_defense)
+"whc" = (
+/obj/structure/sign/safety/medical{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"whm" = (
/obj/structure/prop/invuln/overhead_pipe{
pixel_x = 12
@@ -76765,6 +77230,10 @@
icon_state = "silver"
},
/area/almayer/command/cichallway)
+"whO" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_s)
"whQ" = (
/obj/structure/closet/secure_closet/personal/cabinet{
req_access = null
@@ -76777,6 +77246,12 @@
"wid" = (
/turf/closed/wall/almayer/outer,
/area/almayer/maint/hull/lower/p_bow)
+"wiu" = (
+/obj/structure/pipes/standard/simple/hidden/supply/no_boom,
+/turf/open/floor/almayer/aicore/glowing/no_build{
+ icon_state = "ai_floor3"
+ },
+/area/almayer/command/airoom)
"wiz" = (
/obj/structure/bed/chair{
dir = 4
@@ -76880,35 +77355,11 @@
icon_state = "plate"
},
/area/almayer/shipboard/port_point_defense)
-"wjE" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 2
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out"
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NW-out";
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/starboard)
"wjL" = (
/turf/open/floor/almayer{
icon_state = "plate"
},
/area/almayer/hallways/lower/repair_bay)
-"wjP" = (
-/obj/structure/sign/safety/storage{
- pixel_x = 8;
- pixel_y = -32
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"wjQ" = (
/obj/structure/disposalpipe/segment,
/obj/structure/prop/invuln/overhead_pipe{
@@ -76954,6 +77405,15 @@
icon_state = "sterile_green"
},
/area/almayer/medical/lockerroom)
+"wks" = (
+/obj/structure/bed/chair{
+ dir = 8;
+ pixel_y = 3
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"wky" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -77059,12 +77519,12 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/req)
-"wlB" = (
-/obj/structure/largecrate/random/case/small,
+"wlr" = (
/turf/open/floor/almayer{
- icon_state = "plate"
+ dir = 5;
+ icon_state = "silver"
},
-/area/almayer/maint/hull/upper/u_m_p)
+/area/almayer/hallways/upper/midship_hallway)
"wlD" = (
/obj/structure/machinery/suit_storage_unit/compression_suit/uscm,
/obj/effect/decal/warning_stripes{
@@ -77110,6 +77570,19 @@
icon_state = "red"
},
/area/almayer/shipboard/starboard_missiles)
+"wmo" = (
+/obj/structure/sign/safety/bridge{
+ pixel_x = 15;
+ pixel_y = 32
+ },
+/obj/structure/sign/safety/west{
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"wmz" = (
/obj/structure/bed/chair/comfy/bravo{
dir = 1
@@ -77118,12 +77591,6 @@
icon_state = "orangefull"
},
/area/almayer/living/briefing)
-"wmH" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"wmK" = (
/obj/structure/surface/table/almayer,
/obj/item/clipboard,
@@ -77157,6 +77624,18 @@
icon_state = "cargo"
},
/area/almayer/living/bridgebunks)
+"wnb" = (
+/obj/structure/closet/secure_closet/guncabinet,
+/obj/item/weapon/gun/smg/m39{
+ pixel_y = 6
+ },
+/obj/item/weapon/gun/smg/m39{
+ pixel_y = -6
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"wnh" = (
/obj/structure/window/framed/almayer/aicore/hull,
/turf/open/floor/plating,
@@ -77227,16 +77706,24 @@
icon_state = "rasputin3"
},
/area/almayer/powered/agent)
-"wph" = (
-/obj/item/paper_bin/wy,
-/obj/structure/surface/table/woodentable/fancy,
-/obj/item/tool/pen/clicky,
-/obj/item/tool/pen/clicky,
-/obj/structure/machinery/status_display{
- pixel_x = -32
+"wpt" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/machinery/door/poddoor/almayer/open{
+ dir = 4;
+ id = "CIC Lockdown";
+ name = "\improper Combat Information Center Blast Door"
},
-/turf/open/floor/carpet,
-/area/almayer/command/corporateliaison)
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/machinery/door/airlock/almayer/command/reinforced{
+ closeOtherId = "ciclobby_s";
+ name = "\improper Combat Information Center"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/command/cic)
"wpu" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/item/device/flashlight/lamp{
@@ -77251,29 +77738,6 @@
icon_state = "mono"
},
/area/almayer/medical/upper_medical)
-"wpw" = (
-/obj/structure/bed/chair/comfy/ares{
- dir = 1
- },
-/obj/structure/pipes/vents/pump/no_boom{
- desc = "Has a valve and pump attached to it, connected to multiple gas tanks.";
- name = "Security Vent"
- },
-/turf/open/floor/almayer/no_build{
- icon_state = "plating"
- },
-/area/almayer/command/airoom)
-"wpz" = (
-/obj/item/device/radio/intercom{
- freerange = 1;
- name = "General Listening Channel";
- pixel_y = 28
- },
-/obj/structure/closet,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/living/port_emb)
"wpI" = (
/turf/open/floor/almayer{
dir = 4;
@@ -77290,12 +77754,6 @@
icon_state = "orange"
},
/area/almayer/engineering/lower)
-"wpT" = (
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_s)
"wqc" = (
/obj/structure/sign/poster{
pixel_y = 32
@@ -77377,6 +77835,11 @@
},
/turf/open/floor/almayer,
/area/almayer/living/gym)
+"wrI" = (
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_p)
"wrN" = (
/obj/effect/step_trigger/clone_cleaner,
/obj/structure/machinery/camera/autoname/almayer{
@@ -77392,13 +77855,6 @@
allow_construction = 0
},
/area/almayer/hallways/lower/port_fore_hallway)
-"wrQ" = (
-/obj/structure/sign/safety/storage{
- pixel_x = 8;
- pixel_y = -32
- },
-/turf/open/floor/almayer,
-/area/almayer/living/starboard_garden)
"wrT" = (
/obj/structure/surface/table/almayer,
/obj/item/device/radio/marine,
@@ -77586,6 +78042,28 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_f_p)
+"wui" = (
+/obj/structure/machinery/cryopod{
+ pixel_y = 6
+ },
+/obj/structure/sign/safety/cryo{
+ pixel_x = -17
+ },
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/maint/upper/u_m_p)
+"wuk" = (
+/obj/structure/sign/safety/maint{
+ pixel_x = 8;
+ pixel_y = -32
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out";
+ pixel_x = -1
+ },
+/turf/open/floor/almayer,
+/area/almayer/command/lifeboat)
"wup" = (
/obj/structure/supply_drop/echo,
/turf/open/floor/almayer,
@@ -77608,6 +78086,15 @@
icon_state = "orange"
},
/area/almayer/engineering/lower/workshop)
+"wuS" = (
+/obj/structure/machinery/door/airlock/almayer/maint{
+ dir = 1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/upper/u_a_s)
"wuT" = (
/obj/structure/machinery/light/small{
dir = 8
@@ -77675,6 +78162,19 @@
icon_state = "cargo"
},
/area/almayer/living/synthcloset)
+"wvX" = (
+/obj/structure/sign/safety/analysis_lab{
+ pixel_y = 26
+ },
+/obj/structure/sign/safety/terminal{
+ pixel_x = 15;
+ pixel_y = 26
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"wwr" = (
/obj/structure/machinery/cryopod{
layer = 3.1;
@@ -77819,16 +78319,6 @@
},
/turf/open/floor/plating,
/area/almayer/maint/lower/constr)
-"wyE" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_x = 1
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "silvercorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"wyG" = (
/obj/structure/disposalpipe/segment,
/obj/structure/machinery/door/airlock/almayer/maint{
@@ -77860,18 +78350,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/almayer,
/area/almayer/hallways/lower/port_aft_hallway)
-"wzL" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"wzZ" = (
/obj/structure/machinery/door/airlock/almayer/medical/glass{
dir = 1;
@@ -77885,26 +78363,20 @@
icon_state = "test_floor4"
},
/area/almayer/medical/lower_medical_medbay)
+"wAE" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"wAK" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/port_umbilical)
-"wBd" = (
-/obj/structure/machinery/status_display{
- pixel_x = 32
- },
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/camera/autoname/almayer{
- dir = 1;
- name = "ship-grade camera"
- },
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "red"
- },
-/area/almayer/shipboard/brig/lobby)
"wBw" = (
/obj/structure/pipes/vents/pump,
/obj/structure/machinery/status_display{
@@ -77922,6 +78394,12 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/upper/starboard)
+"wCe" = (
+/obj/structure/machinery/light,
+/turf/open/floor/almayer{
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"wCk" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/computer/cameras/wooden_tv/ot{
@@ -77929,6 +78407,14 @@
},
/turf/open/floor/almayer,
/area/almayer/engineering/lower/workshop/hangar)
+"wCn" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out"
+ },
+/turf/open/floor/almayer{
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"wCs" = (
/obj/structure/machinery/vending/security,
/obj/structure/machinery/power/apc/almayer{
@@ -77944,20 +78430,6 @@
icon_state = "redcorner"
},
/area/almayer/living/briefing)
-"wCT" = (
-/obj/effect/step_trigger/teleporter_vector{
- name = "Almayer_AresDown";
- vector_x = 97;
- vector_y = -65
- },
-/obj/structure/machinery/light{
- dir = 1
- },
-/obj/structure/stairs{
- dir = 1
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"wDg" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -78085,6 +78557,10 @@
icon_state = "rasputin3"
},
/area/almayer/powered/agent)
+"wEw" = (
+/obj/effect/landmark/start/pilot/dropship_pilot,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/living/pilotbunks)
"wEI" = (
/obj/structure/surface/table/reinforced/black,
/obj/item/tool/pen,
@@ -78113,12 +78589,34 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/south2)
+"wET" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/closet/secure_closet/guncabinet,
+/obj/item/weapon/gun/rifle/l42a{
+ pixel_y = 6
+ },
+/obj/item/weapon/gun/rifle/l42a,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"wFb" = (
/turf/open/floor/almayer{
dir = 4;
icon_state = "sterile_green_corner"
},
/area/almayer/medical/lower_medical_medbay)
+"wFi" = (
+/obj/structure/machinery/cm_vending/sorted/medical/marinemed,
+/obj/structure/sign/safety/medical{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/obj/structure/medical_supply_link,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/shipboard/panic)
"wFn" = (
/obj/structure/surface/rack,
/obj/item/clothing/suit/storage/marine/light/vest,
@@ -78255,6 +78753,12 @@
},
/turf/open/floor/almayer,
/area/almayer/lifeboat_pumps/south1)
+"wHr" = (
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 1
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/aft_hallway)
"wIr" = (
/obj/structure/machinery/cm_vending/clothing/senior_officer{
req_access = list();
@@ -78321,12 +78825,6 @@
"wJb" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/medical/lower_medical_medbay)
-"wJd" = (
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/stern_hallway)
"wJh" = (
/obj/structure/machinery/door/firedoor/border_only/almayer{
dir = 2
@@ -78346,12 +78844,6 @@
icon_state = "test_floor4"
},
/area/almayer/medical/upper_medical)
-"wJB" = (
-/obj/structure/machinery/cryopod/right,
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_cargo"
- },
-/area/almayer/command/airoom)
"wJC" = (
/obj/structure/largecrate/random/barrel/yellow,
/turf/open/floor/plating/plating_catwalk,
@@ -78421,6 +78913,25 @@
},
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/cells)
+"wKL" = (
+/obj/structure/machinery/door/airlock/almayer/research/reinforced{
+ closeOtherId = "containment_s";
+ dir = 8;
+ name = "\improper Containment Airlock"
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/obj/structure/machinery/door/poddoor/almayer/biohazard/white{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply/no_boom{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/medical/medical_science)
"wKN" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -78479,6 +78990,40 @@
dir = 1
},
/area/almayer/medical/containment/cell)
+"wLC" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/sign/safety/bridge{
+ pixel_y = 32
+ },
+/obj/structure/sign/safety/reception{
+ pixel_x = 15;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/upper/fore_hallway)
+"wLF" = (
+/obj/structure/machinery/door/airlock/almayer/medical/glass{
+ closeOtherId = "brigmed";
+ name = "\improper Brig Medbay";
+ req_access = null;
+ req_one_access = null;
+ req_one_access_txt = "20;3"
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/shipboard/brig/medical)
"wLG" = (
/obj/item/bedsheet/blue{
layer = 3.2
@@ -78654,6 +79199,14 @@
allow_construction = 0
},
/area/almayer/hallways/lower/starboard_midship_hallway)
+"wNC" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"wNG" = (
/obj/effect/projector{
name = "Almayer_Up2";
@@ -78727,18 +79280,6 @@
icon_state = "cargo_arrow"
},
/area/almayer/hallways/lower/port_midship_hallway)
-"wPm" = (
-/obj/structure/pipes/standard/cap/hidden{
- dir = 4
- },
-/obj/structure/sign/safety/life_support{
- pixel_x = 8;
- pixel_y = -25
- },
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/stern_hallway)
"wPz" = (
/turf/open/floor/almayer{
icon_state = "mono"
@@ -78765,15 +79306,6 @@
icon_state = "bluefull"
},
/area/almayer/command/cichallway)
-"wPR" = (
-/obj/structure/closet,
-/obj/item/clothing/under/marine,
-/obj/item/clothing/suit/storage/marine,
-/obj/item/clothing/head/helmet/marine,
-/obj/item/clothing/head/beret/cm,
-/obj/item/clothing/head/beret/cm,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_s)
"wQu" = (
/obj/effect/projector{
name = "Almayer_Up3";
@@ -78798,6 +79330,16 @@
icon_state = "orange"
},
/area/almayer/engineering/lower/engine_core)
+"wQI" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/computer/emails{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_f_s)
"wRf" = (
/obj/structure/machinery/light/small,
/obj/structure/sign/safety/nonpress_0g{
@@ -78811,6 +79353,13 @@
icon_state = "test_floor4"
},
/area/almayer/hallways/lower/port_umbilical)
+"wRk" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out";
+ pixel_y = 1
+ },
+/turf/open/floor/almayer,
+/area/almayer/command/lifeboat)
"wRN" = (
/obj/structure/machinery/portable_atmospherics/hydroponics,
/obj/item/seeds/goldappleseed,
@@ -78883,6 +79432,9 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_p)
+"wSB" = (
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_p)
"wSQ" = (
/turf/open/floor/almayer{
dir = 1;
@@ -78973,12 +79525,6 @@
icon_state = "plate"
},
/area/almayer/squads/charlie_delta_shared)
-"wTy" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/lifeboat_pumps/south1)
"wTB" = (
/obj/structure/surface/table/almayer,
/obj/item/fuel_cell,
@@ -79294,30 +79840,6 @@
},
/turf/open/floor/plating,
/area/almayer/engineering/ce_room)
-"wZk" = (
-/obj/structure/stairs{
- dir = 8;
- icon_state = "ramptop"
- },
-/obj/effect/projector{
- name = "Almayer_Down3";
- vector_x = 1;
- vector_y = -102
- },
-/obj/structure/machinery/light,
-/turf/open/floor/plating/almayer{
- allow_construction = 0
- },
-/area/almayer/hallways/upper/aft_hallway)
-"wZp" = (
-/obj/structure/pipes/standard/manifold/hidden/supply{
- dir = 1
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/stern_hallway)
"wZv" = (
/obj/structure/prop/invuln{
desc = "An inflated membrane. This one is puncture proof. Wow!";
@@ -79352,6 +79874,16 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/command/lifeboat)
+"xac" = (
+/obj/structure/sign/safety/ladder{
+ pixel_x = 8;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "blue"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"xad" = (
/obj/item/device/radio/intercom{
freerange = 1;
@@ -79452,34 +79984,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_m_s)
-"xbN" = (
-/obj/structure/surface/rack{
- density = 0;
- pixel_y = 16
- },
-/obj/structure/janitorialcart,
-/obj/item/tool/mop,
-/turf/open/floor/plating,
-/area/almayer/command/airoom)
-"xci" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out"
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/starboard)
-"xcs" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out"
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_y = 1
- },
-/obj/structure/machinery/door/airlock/almayer/maint,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"xcI" = (
/obj/structure/sign/safety/water{
pixel_x = 8;
@@ -79499,16 +80003,6 @@
icon_state = "plate"
},
/area/almayer/shipboard/panic)
-"xcY" = (
-/obj/structure/machinery/camera/autoname/almayer{
- dir = 8;
- name = "ship-grade camera"
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"xdf" = (
/obj/structure/pipes/standard/manifold/fourway/hidden/supply,
/obj/structure/disposalpipe/segment{
@@ -79516,11 +80010,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/port_midship_hallway)
-"xdl" = (
-/turf/open/floor/almayer{
- icon_state = "red"
- },
-/area/almayer/hallways/upper/aft_hallway)
"xdx" = (
/obj/structure/surface/rack,
/obj/item/storage/firstaid/regular/empty,
@@ -79535,6 +80024,18 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_medbay)
+"xdA" = (
+/obj/structure/surface/rack{
+ density = 0;
+ pixel_y = 16
+ },
+/obj/structure/machinery/faxmachine/uscm/command{
+ density = 0;
+ department = "AI Core";
+ pixel_y = 32
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"xdJ" = (
/obj/structure/machinery/light{
dir = 4;
@@ -79590,38 +80091,25 @@
icon_state = "plate"
},
/area/almayer/engineering/lower/workshop)
-"xeq" = (
-/obj/structure/sign/safety/distribution_pipes{
- pixel_x = 8;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/stern_hallway)
"xer" = (
/obj/structure/machinery/power/apc/almayer,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_f_s)
-"xew" = (
-/obj/structure/surface/rack,
-/obj/item/facepaint/sniper,
+"xeU" = (
+/obj/structure/machinery/door/airlock/almayer/generic{
+ name = "\improper Laundry Room";
+ req_one_access = list(19,7);
+ req_access = list()
+ },
/turf/open/floor/almayer{
- icon_state = "plate"
+ icon_state = "test_floor4"
},
-/area/almayer/maint/hull/upper/u_m_s)
+/area/almayer/engineering/laundry)
"xfm" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/window/framed/almayer,
/turf/open/floor/plating,
/area/almayer/living/cafeteria_officer)
-"xfo" = (
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"xfq" = (
/obj/structure/sign/safety/hvac_old{
pixel_x = 8;
@@ -79677,17 +80165,9 @@
icon_state = "sterile_green_corner"
},
/area/almayer/medical/operating_room_one)
-"xfW" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/closet/secure_closet/guncabinet,
-/obj/item/weapon/gun/rifle/m41a{
- pixel_y = 6
- },
-/obj/item/weapon/gun/rifle/m41a,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/hull/upper/u_m_s)
+"xga" = (
+/turf/closed/wall/almayer,
+/area/almayer/hallways/upper/aft_hallway)
"xgh" = (
/obj/structure/pipes/vents/scrubber{
dir = 4
@@ -79720,16 +80200,6 @@
},
/turf/open/floor/plating/almayer,
/area/almayer/maint/hull/lower/l_a_p)
-"xgE" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 9
- },
-/obj/structure/disposalpipe/segment{
- dir = 8;
- icon_state = "pipe-c"
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"xgJ" = (
/obj/structure/machinery/light{
dir = 1
@@ -79780,11 +80250,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_m_p)
-"xhi" = (
-/turf/open/floor/almayer{
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/stern_hallway)
"xhn" = (
/obj/structure/largecrate/random/case/double,
/turf/open/floor/almayer{
@@ -79863,6 +80328,12 @@
"xiV" = (
/turf/closed/wall/almayer/outer,
/area/almayer/maint/hull/upper/p_bow)
+"xiW" = (
+/obj/structure/machinery/power/apc/almayer{
+ dir = 1
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_a_p)
"xjb" = (
/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{
access_modified = 1;
@@ -79915,12 +80386,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/processing)
-"xjI" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/stern_hallway)
"xjK" = (
/obj/structure/sign/safety/hazard{
pixel_y = 32
@@ -79962,16 +80427,6 @@
"xkd" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/shipboard/brig/cells)
-"xky" = (
-/obj/structure/sign/safety/maint{
- pixel_x = 8;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"xkB" = (
/obj/structure/bed/chair/comfy/charlie{
dir = 1
@@ -80056,6 +80511,15 @@
icon_state = "plate"
},
/area/almayer/living/port_emb)
+"xmP" = (
+/obj/structure/machinery/camera/autoname/almayer{
+ dir = 1;
+ name = "ship-grade camera"
+ },
+/turf/open/floor/almayer{
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"xmT" = (
/obj/structure/machinery/cryopod{
pixel_y = 6
@@ -80067,18 +80531,14 @@
icon_state = "cargo"
},
/area/almayer/medical/lower_medical_medbay)
-"xns" = (
-/obj/structure/machinery/door_control{
- id = "ARES JoeCryo";
- name = "Working Joe Cryogenics Lockdown";
- pixel_x = -24;
- pixel_y = -8;
- req_one_access_txt = "91;92"
+"xnh" = (
+/obj/structure/closet,
+/obj/item/clothing/ears/earmuffs,
+/obj/item/clothing/glasses/regular/hipster,
+/turf/open/floor/almayer{
+ icon_state = "plate"
},
-/obj/effect/landmark/late_join/working_joe,
-/obj/effect/landmark/start/working_joe,
-/turf/open/floor/plating/plating_catwalk/aicore,
-/area/almayer/command/airoom)
+/area/almayer/maint/upper/u_a_s)
"xnz" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -80093,18 +80553,14 @@
/obj/effect/landmark/start/requisition,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/req)
-"xnR" = (
-/obj/structure/machinery/door/airlock/almayer/maint{
- dir = 1;
- name = "\improper Engineering Storage"
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer{
+"xnX" = (
+/obj/structure/machinery/power/apc/almayer{
dir = 1
},
/turf/open/floor/almayer{
- icon_state = "test_floor4"
+ icon_state = "plate"
},
-/area/almayer/engineering/upper_engineering)
+/area/almayer/maint/upper/u_a_s)
"xoe" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -80120,16 +80576,6 @@
icon_state = "bluecorner"
},
/area/almayer/squads/delta)
-"xog" = (
-/obj/effect/step_trigger/clone_cleaner,
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"xoj" = (
/turf/open/floor/almayer,
/area/almayer/engineering/lower/workshop)
@@ -80234,6 +80680,11 @@
icon_state = "plating"
},
/area/almayer/engineering/lower/engine_core)
+"xqh" = (
+/obj/structure/surface/table/almayer,
+/obj/item/tool/weldingtool,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_m_s)
"xqp" = (
/obj/structure/machinery/body_scanconsole{
dir = 8;
@@ -80363,6 +80814,17 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/repair_bay)
+"xsi" = (
+/obj/structure/stairs{
+ dir = 1
+ },
+/obj/effect/step_trigger/teleporter_vector{
+ name = "Almayer_AresUp2";
+ vector_x = -102;
+ vector_y = 61
+ },
+/turf/open/floor/almayer/aicore/no_build,
+/area/almayer/command/airoom)
"xsl" = (
/obj/structure/machinery/alarm/almayer{
dir = 1
@@ -80417,13 +80879,6 @@
/obj/item/weapon/dart/green,
/turf/open/floor/plating,
/area/almayer/maint/lower/constr)
-"xsX" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/machinery/light,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/stern_hallway)
"xtM" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer{
@@ -80431,17 +80886,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_lobby)
-"xtO" = (
-/obj/item/device/radio/intercom{
- freerange = 1;
- name = "General Listening Channel";
- pixel_y = 28
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/aft_hallway)
"xub" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -80530,30 +80974,6 @@
icon_state = "test_floor4"
},
/area/almayer/squads/charlie)
-"xvM" = (
-/obj/structure/machinery/door_control{
- id = "ARES StairsLower";
- name = "ARES Core Lockdown";
- pixel_x = 24;
- pixel_y = 8;
- req_one_access_txt = "90;91;92"
- },
-/obj/effect/step_trigger/clone_cleaner,
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_silver";
- dir = 4
- },
-/area/almayer/command/airoom)
-"xvO" = (
-/obj/structure/disposalpipe/segment{
- dir = 2;
- icon_state = "pipe-c"
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"xvQ" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/computer/sentencing{
@@ -80635,14 +81055,14 @@
},
/area/almayer/living/briefing)
"xwU" = (
-/obj/structure/sign/safety/medical{
- pixel_x = 8;
- pixel_y = -32
+/obj/structure/pipes/vents/pump/no_boom/gas{
+ vent_tag = "Comms";
+ dir = 1
},
-/turf/open/floor/almayer{
- icon_state = "green"
+/turf/open/floor/almayer/aicore/no_build{
+ icon_state = "ai_plates"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/command/airoom)
"xwX" = (
/turf/open/floor/almayer{
dir = 9;
@@ -80724,6 +81144,10 @@
},
/turf/open/floor/plating,
/area/almayer/living/port_emb)
+"xxB" = (
+/obj/structure/machinery/fuelpump,
+/turf/open/floor/almayer,
+/area/almayer/lifeboat_pumps/north1)
"xxG" = (
/obj/structure/prop/holidays/string_lights{
pixel_y = 27
@@ -80788,6 +81212,18 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/carpet,
/area/almayer/living/commandbunks)
+"xyp" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"xyt" = (
/obj/structure/surface/table/almayer,
/obj/item/storage/toolbox/mechanical{
@@ -80870,6 +81306,14 @@
"xzh" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/upper/u_m_p)
+"xzx" = (
+/obj/structure/machinery/light/small{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"xzB" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_f_s)
@@ -80971,6 +81415,23 @@
icon_state = "plate"
},
/area/almayer/squads/req)
+"xBW" = (
+/obj/structure/prop/invuln/overhead_pipe{
+ dir = 4;
+ pixel_y = 13
+ },
+/obj/structure/prop/invuln/overhead_pipe{
+ dir = 4;
+ pixel_x = -16;
+ pixel_y = 13
+ },
+/obj/structure/prop/invuln/overhead_pipe{
+ dir = 4;
+ pixel_x = 12;
+ pixel_y = 13
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_f_s)
"xBY" = (
/turf/open/floor/almayer,
/area/almayer/engineering/laundry)
@@ -80994,6 +81455,12 @@
},
/turf/open/floor/carpet,
/area/almayer/command/corporateliaison)
+"xCs" = (
+/turf/open/floor/almayer{
+ dir = 10;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"xCy" = (
/obj/structure/sign/safety/maint{
pixel_x = -19;
@@ -81005,6 +81472,15 @@
},
/turf/open/floor/almayer,
/area/almayer/maint/hull/upper/u_f_p)
+"xCB" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/fore_hallway)
"xDe" = (
/obj/effect/projector{
name = "Almayer_Down4";
@@ -81021,6 +81497,12 @@
icon_state = "silver"
},
/area/almayer/shipboard/brig/cic_hallway)
+"xDy" = (
+/obj/structure/machinery/door/airlock/almayer/maint,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/maint/upper/u_f_p)
"xDC" = (
/obj/structure/pipes/standard/simple/hidden/supply/no_boom,
/turf/open/floor/almayer/aicore/no_build,
@@ -81032,15 +81514,6 @@
icon_state = "orange"
},
/area/almayer/engineering/lower/workshop/hangar)
-"xDG" = (
-/obj/structure/machinery/door/airlock/almayer/maint{
- dir = 1
- },
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/maint/hull/upper/u_a_s)
"xDV" = (
/obj/effect/step_trigger/clone_cleaner,
/obj/effect/decal/warning_stripes{
@@ -81084,18 +81557,19 @@
"xFt" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_f_p)
+"xFx" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/almayer{
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"xFP" = (
/turf/open/floor/almayer{
dir = 5;
icon_state = "red"
},
/area/almayer/shipboard/starboard_missiles)
-"xFW" = (
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/almayer{
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/aft_hallway)
"xFZ" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/manifold/hidden/supply{
@@ -81155,6 +81629,19 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_f_p)
+"xGI" = (
+/obj/structure/closet/secure_closet/guncabinet,
+/obj/item/weapon/gun/rifle/l42a{
+ pixel_y = 6
+ },
+/obj/item/weapon/gun/rifle/l42a,
+/obj/item/weapon/gun/rifle/l42a{
+ pixel_y = -6
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_m_s)
"xGJ" = (
/obj/structure/flora/pottedplant{
icon_state = "pottedplant_22";
@@ -81205,17 +81692,21 @@
icon_state = "orange"
},
/area/almayer/squads/alpha_bravo_shared)
-"xHD" = (
-/obj/structure/machinery/light,
-/obj/effect/decal/warning_stripes{
- icon_state = "W";
- pixel_x = -1
+"xHt" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 1
+ },
+/obj/structure/machinery/door/airlock/almayer/maint{
+ access_modified = 1;
+ dir = 1;
+ name = "\improper Engineering Storage";
+ req_one_access = null;
+ req_one_access_txt = "2;7"
},
/turf/open/floor/almayer{
- dir = 10;
- icon_state = "silver"
+ icon_state = "test_floor4"
},
-/area/almayer/maint/hull/upper/u_m_p)
+/area/almayer/engineering/upper_engineering)
"xHS" = (
/obj/structure/reagent_dispensers/fueltank/oxygentank{
anchored = 1
@@ -81245,6 +81736,9 @@
icon_state = "cargo"
},
/area/almayer/squads/req)
+"xIj" = (
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"xIk" = (
/obj/structure/machinery/cryopod/right{
pixel_y = 6
@@ -81347,6 +81841,22 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/cells)
+"xJV" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/cell_charger,
+/obj/structure/sign/safety/high_rad{
+ pixel_x = 32;
+ pixel_y = -8
+ },
+/obj/structure/sign/safety/hazard{
+ pixel_x = 32;
+ pixel_y = 7
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "orange"
+ },
+/area/almayer/engineering/lower)
"xKG" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -81415,6 +81925,11 @@
/obj/structure/largecrate/random/barrel/red,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/u_m_s)
+"xLw" = (
+/turf/open/floor/almayer{
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"xLX" = (
/obj/structure/disposalpipe/junction{
dir = 4;
@@ -81513,7 +82028,7 @@
},
/area/almayer/shipboard/panic)
"xML" = (
-/obj/structure/machinery/computer/cameras/wooden_tv/prop{
+/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{
pixel_x = -4;
pixel_y = 2
},
@@ -81579,12 +82094,6 @@
icon_state = "cargo"
},
/area/almayer/hallways/hangar)
-"xNl" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"xNu" = (
/obj/structure/toilet{
dir = 1
@@ -81693,12 +82202,6 @@
icon_state = "orange"
},
/area/almayer/engineering/lower/workshop/hangar)
-"xPu" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 10
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_p)
"xPZ" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 10
@@ -81806,12 +82309,6 @@
icon_state = "silver"
},
/area/almayer/command/computerlab)
-"xRn" = (
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "greencorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"xRw" = (
/turf/open/floor/almayer/uscm/directional{
dir = 1
@@ -81837,16 +82334,6 @@
icon_state = "orangefull"
},
/area/almayer/living/briefing)
-"xSl" = (
-/obj/structure/machinery/firealarm{
- dir = 4;
- pixel_x = 24
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "red"
- },
-/area/almayer/hallways/upper/stern_hallway)
"xSw" = (
/obj/structure/machinery/door/firedoor/border_only/almayer{
dir = 2
@@ -81927,18 +82414,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/processing)
-"xTL" = (
-/obj/structure/machinery/cm_vending/gear/executive_officer{
- pixel_y = 30;
- density = 0
- },
-/obj/structure/machinery/power/apc/almayer{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/living/numbertwobunks)
"xTR" = (
/obj/structure/window/framed/almayer,
/obj/structure/machinery/door/poddoor/almayer/open{
@@ -82141,6 +82616,12 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/port)
+"xXd" = (
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "silvercorner"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"xXh" = (
/turf/closed/wall/almayer/research/containment/wall/west,
/area/almayer/medical/containment/cell)
@@ -82234,12 +82715,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/upper_engineering)
-"xZf" = (
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/aft_hallway)
"xZk" = (
/obj/item/prop/helmetgarb/gunoil{
layer = 4.2;
@@ -82267,10 +82742,22 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
-"xZz" = (
-/obj/item/paper/almayer_storage,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_p)
+"xZt" = (
+/obj/structure/sign/safety/refridgeration{
+ pixel_y = -32
+ },
+/obj/structure/sign/safety/medical{
+ pixel_x = 15;
+ pixel_y = -32
+ },
+/obj/structure/machinery/camera/autoname/almayer{
+ dir = 1;
+ name = "ship-grade camera"
+ },
+/turf/open/floor/almayer{
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
"xZG" = (
/obj/structure/machinery/light{
dir = 4
@@ -82333,6 +82820,9 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/starboard_fore_hallway)
+"yat" = (
+/turf/closed/wall/almayer,
+/area/almayer/maint/upper/u_a_p)
"yaz" = (
/obj/structure/machinery/door/airlock/multi_tile/almayer/comdoor{
name = "\improper Officer's Study"
@@ -82365,18 +82855,6 @@
},
/turf/open/floor/almayer/aicore/no_build,
/area/almayer/command/airoom)
-"yaR" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/stern_hallway)
"yaX" = (
/obj/structure/machinery/door/poddoor/railing{
dir = 2;
@@ -82397,9 +82875,6 @@
},
/turf/open/floor/almayer/aicore/no_build,
/area/almayer/command/airoom)
-"ybk" = (
-/turf/closed/wall/almayer,
-/area/almayer/hallways/upper/stern_hallway)
"ybm" = (
/obj/structure/surface/table/almayer,
/obj/item/clothing/head/hardhat{
@@ -82484,6 +82959,18 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
+"ycA" = (
+/obj/structure/disposalpipe/junction{
+ dir = 8;
+ icon_state = "pipe-j2"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 10
+ },
+/turf/open/floor/almayer{
+ icon_state = "orangecorner"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"ycH" = (
/obj/structure/surface/table/almayer,
/obj/item/pizzabox/margherita{
@@ -82598,6 +83085,28 @@
icon_state = "plate"
},
/area/almayer/command/lifeboat)
+"yeg" = (
+/obj/structure/sign/safety/escapepod{
+ pixel_y = -32
+ },
+/obj/structure/sign/safety/east{
+ pixel_x = 15;
+ pixel_y = -32
+ },
+/turf/open/floor/almayer{
+ icon_state = "green"
+ },
+/area/almayer/hallways/upper/fore_hallway)
+"yei" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 9
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"yeH" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
@@ -82666,6 +83175,12 @@
icon_state = "plate"
},
/area/almayer/squads/delta)
+"yfn" = (
+/obj/structure/machinery/pipedispenser/orderable,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"yfy" = (
/obj/structure/barricade/handrail{
dir = 1;
@@ -82685,41 +83200,6 @@
},
/turf/open/floor/wood/ship,
/area/almayer/living/commandbunks)
-"yfL" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "W";
- pixel_x = -1
- },
-/obj/structure/bed/sofa/south/white/left{
- pixel_y = 16
- },
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "silver"
- },
-/area/almayer/maint/hull/upper/u_m_p)
-"yfO" = (
-/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{
- name = "\improper Warden's Office";
- closeOtherId = "brigwarden"
- },
-/obj/structure/machinery/door/poddoor/shutters/almayer/open{
- dir = 4;
- id = "Warden Office Shutters";
- name = "\improper Privacy Shutters"
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 8
- },
-/obj/structure/machinery/door/poddoor/almayer/open{
- dir = 4;
- id = "courtyard_cells";
- name = "\improper Courtyard Lockdown Shutter"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/shipboard/brig/warden_office)
"yfS" = (
/obj/structure/window/framed/almayer,
/obj/structure/machinery/door/firedoor/border_only/almayer{
@@ -82827,12 +83307,15 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_m_s)
-"yit" = (
-/obj/structure/pipes/vents/pump/no_boom{
- dir = 1
+"yiu" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
},
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/midship_hallway)
"yiW" = (
/obj/structure/machinery/cryopod/right{
layer = 3.1;
@@ -82873,6 +83356,10 @@
icon_state = "test_floor4"
},
/area/almayer/engineering/upper_engineering/notunnel)
+"yjr" = (
+/obj/docking_port/stationary/escape_pod/north,
+/turf/open/floor/plating,
+/area/almayer/maint/upper/u_f_s)
"yjE" = (
/obj/structure/sign/safety/water{
pixel_x = 8;
@@ -82943,82 +83430,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/lower)
-"ykY" = (
-/obj/structure/machinery/light/small{
- dir = 1
- },
-/obj/structure/closet/crate,
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/obj/item/ammo_magazine/rifle/l42a/ap{
- current_rounds = 0
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_m_s)
-"ylc" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "W";
- pixel_x = -1
- },
-/obj/structure/machinery/door/airlock/almayer/research/reinforced{
- dir = 8;
- name = "\improper Containment Airlock";
- closeOtherId = "containment_s"
- },
-/obj/structure/machinery/door/poddoor/almayer/biohazard/white{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/medical/containment)
"yle" = (
/obj/effect/landmark/start/marine/engineer/delta,
/obj/effect/landmark/late_join/delta,
@@ -91410,7 +91821,7 @@ cth
gkr
xkc
oGj
-hSj
+iVD
xkc
mph
nlh
@@ -91427,9 +91838,9 @@ qPD
qPD
quJ
rdA
-alF
+jyY
sql
-alF
+jyY
rwe
pdp
hZw
@@ -91819,7 +92230,7 @@ hvd
hvd
hvd
hvd
-mze
+bLF
eyD
naB
kry
@@ -93661,7 +94072,7 @@ kuJ
sLA
jSw
xkd
-cJh
+qFu
xkd
xkd
icM
@@ -94270,7 +94681,7 @@ wdF
kQu
cqM
xkd
-cJh
+qFu
xkd
xkd
pns
@@ -95072,7 +95483,7 @@ ksm
bxE
cmM
oeZ
-uzH
+wLF
oeZ
oeZ
ptq
@@ -95483,7 +95894,7 @@ aIY
oeZ
cFC
oIh
-lUm
+sBQ
skj
tXc
cqM
@@ -95583,9 +95994,9 @@ bIy
alU
alU
alU
-cmI
+syg
alU
-cmJ
+noo
alU
alU
alU
@@ -95680,7 +96091,7 @@ cQv
kYU
tUK
kTp
-vKF
+krO
nWS
glG
oeZ
@@ -95881,14 +96292,14 @@ cQv
tlk
cQv
uhA
-bKN
+tCH
oeZ
oeZ
-uzH
+wLF
oeZ
oeZ
mFc
-eKa
+fbr
emp
lze
wSm
@@ -95904,7 +96315,7 @@ cHk
rkV
rkV
cHk
-yfO
+vYi
cHk
pRs
pdp
@@ -96100,7 +96511,7 @@ emp
emp
emp
emp
-lFJ
+vbo
emp
emp
cHk
@@ -96192,9 +96603,9 @@ kcp
alU
alU
alU
-mBp
+iTW
alU
-cmJ
+noo
alU
alU
alU
@@ -96491,7 +96902,7 @@ oJm
cQG
cQG
hzG
-asC
+nzT
tff
cDN
oFY
@@ -96502,14 +96913,14 @@ jcf
bju
cMW
qEy
-iis
+vKr
rQc
oDy
oDy
wsq
vxK
gwj
-vxh
+oiz
csy
csy
bWQ
@@ -96700,7 +97111,7 @@ uFq
wsl
wSu
xIW
-wBd
+nah
emp
gbw
oRk
@@ -98406,12 +98817,12 @@ aaa
fwK
elY
uaG
-vjk
+sbZ
lxd
dPk
nBV
dyq
-lxd
+uGi
uaG
lYN
byr
@@ -99421,7 +99832,7 @@ aaa
fwK
jru
uaG
-vaM
+aEf
lxd
cif
jaz
@@ -101045,7 +101456,7 @@ aaa
sGw
xzB
bfs
-wes
+wFi
qxI
dKO
ykv
@@ -103609,7 +104020,7 @@ wlE
gvq
wVW
lrW
-qDN
+mqh
vHW
wVW
ccg
@@ -104819,11 +105230,11 @@ wVW
wVW
wVW
aCf
-ayt
+kcx
aCf
wVW
aCf
-hzL
+wpt
aCf
wVW
wVW
@@ -105835,13 +106246,13 @@ awX
wVW
wVW
wVW
-aAl
+lMF
jnX
-dum
+rdz
wVW
wVW
wVW
-jOc
+cbF
aGZ
awF
cST
@@ -106033,14 +106444,14 @@ aiX
wbO
avU
avU
-awY
-awY
+mKN
+wEw
kOB
awZ
aiX
-opN
-bDi
-vIr
+wLC
+mGb
+uOh
awF
aEM
aGV
@@ -106241,9 +106652,9 @@ pXx
jrm
evg
aiX
-dCb
-dDc
-rdo
+iiU
+eAx
+cmS
awF
aFg
aGY
@@ -106444,9 +106855,9 @@ wWC
auZ
aiX
aiX
-mJp
-bNT
-cbK
+qmK
+oIp
+pTS
awF
hRk
aGY
@@ -106647,11 +107058,11 @@ pQV
apq
ana
aiX
-glc
-bNT
-rmB
+gwh
+oIp
+qUK
awF
-xTL
+gyh
lmA
rvA
aqm
@@ -106828,7 +107239,7 @@ add
fsU
aHU
aTm
-awW
+xxB
aTm
jgF
fsU
@@ -106850,9 +107261,9 @@ xQg
wWC
szO
aiX
-nLM
-bNT
-iPU
+jkT
+oIp
+fNX
awF
awF
aEW
@@ -106874,7 +107285,7 @@ aJU
gBW
ouQ
iun
-baw
+sfA
vPm
qys
gBW
@@ -107031,7 +107442,7 @@ awW
auK
aIr
aTm
-bvd
+cpP
aTm
juX
scu
@@ -107053,10 +107464,10 @@ yjM
qbO
aqw
hnI
-kGS
-bNT
-gFN
-bMi
+dME
+oIp
+oGI
+waP
awF
nvG
vGI
@@ -107077,7 +107488,7 @@ baw
lRE
tuf
vbB
-rBH
+aqB
vbB
mlz
sOy
@@ -107234,7 +107645,7 @@ awW
avc
aIv
aTm
-kJL
+cpP
cbM
jzZ
sLo
@@ -107256,10 +107667,10 @@ aqy
nBE
pOD
bZa
-nIF
-duR
-gFN
-mqd
+voj
+sUS
+oGI
+qUu
awF
aHn
szU
@@ -107280,7 +107691,7 @@ baw
hJk
yac
vbB
-kUQ
+aqB
vbB
fDS
iLd
@@ -107437,7 +107848,7 @@ add
fsU
aHU
aTm
-awW
+fnk
aTm
jgF
fsU
@@ -107459,9 +107870,9 @@ aiX
aiX
aiX
aiX
-eFI
-bNT
-sQu
+diw
+oIp
+wCn
tsr
tsr
tsr
@@ -107483,7 +107894,7 @@ aJU
gBW
ouQ
vbB
-baw
+aqB
tBq
qys
gBW
@@ -107662,9 +108073,9 @@ aiX
aKG
amb
aiX
-eWN
-bNT
-rmB
+hOd
+oIp
+qUK
tsr
sOL
jIC
@@ -107865,9 +108276,9 @@ aqz
aKH
and
aiX
-umD
-bNT
-kGS
+aaE
+oIp
+dME
fyT
xIV
xIV
@@ -108068,9 +108479,9 @@ aiX
aiX
aiX
aiX
-cwi
-bNT
-fBA
+qIF
+oIp
+aPV
tsr
iPN
dbX
@@ -108271,9 +108682,9 @@ aqz
mBe
atT
aiX
-fXf
-bNT
-hCF
+bhR
+oIp
+mYA
tsr
tsr
vOY
@@ -108474,9 +108885,9 @@ aiX
asf
atT
aiX
-cKW
-mqR
-xZf
+hOd
+lSN
+qUK
lIj
tBY
gkE
@@ -108573,7 +108984,7 @@ arX
vSG
iag
nvM
-bek
+qOZ
qjN
gGJ
ham
@@ -108677,9 +109088,9 @@ aiX
aiX
aiX
aiX
-dRo
-fsu
-enz
+wmo
+icQ
+pwl
lIj
lIj
dvZ
@@ -108772,11 +109183,11 @@ kLE
bkA
bcC
bej
-uyJ
+tzO
fVG
qpQ
nvM
-bek
+qOZ
qjN
sld
ham
@@ -108784,11 +109195,11 @@ ham
qjN
oDY
omo
-fvJ
+eTC
fdZ
ixj
fdZ
-bET
+uey
gfW
kSA
tpB
@@ -108855,12 +109266,12 @@ adq
aei
aka
aWn
-njn
-njn
-njn
-njn
-njn
-njn
+gLl
+gLl
+gLl
+gLl
+gLl
+gLl
oGC
awW
acW
@@ -108869,31 +109280,31 @@ awW
awW
fSm
hiy
-ddp
-fCP
-fCP
-stk
-fCP
-kGS
-kGS
-sVA
-fCP
-vUO
-fCP
-fCP
-wzL
-fCP
-fCP
-vUO
-pwd
-sVA
-fCP
-fCP
-fCP
-fCP
-stk
-fCP
-uVg
+esQ
+iKy
+iKy
+oyB
+iKy
+dME
+dME
+gJC
+iKy
+udv
+iKy
+iKy
+gji
+iKy
+iKy
+udv
+oGW
+gJC
+iKy
+iKy
+iKy
+iKy
+oyB
+iKy
+kmT
pEY
jsP
baw
@@ -108902,15 +109313,15 @@ baw
sgU
baw
baw
-nIN
-nIN
-nIN
-nIN
-nIN
-nIN
-hXV
+vIo
+vIo
+vIo
+vIo
+vIo
+vIo
+gnv
yhI
-rRz
+tTu
pgD
tQV
aaa
@@ -108979,7 +109390,7 @@ qpx
bet
bgu
nvM
-bek
+qOZ
qjN
gGJ
ham
@@ -109055,15 +109466,15 @@ aaa
aaa
abs
adq
-apr
-apr
-aoV
-njn
-rWz
-rWz
-rWz
-tWM
-njn
+afr
+akc
+apg
+gLl
+mis
+mis
+mis
+yjr
+gLl
aea
oGC
xjD
@@ -109072,31 +109483,31 @@ ajf
ajf
oAO
pIZ
-qwf
-jRm
-gDQ
-gDQ
-gDQ
-rUN
-gDQ
-gDQ
-dFd
-rDm
-rDm
-gDQ
-saT
-gDQ
-rUN
-rUN
-bxt
-tPz
-tPz
-tiZ
-tPz
-tPz
-tPz
-jRm
-rHn
+nsr
+fSx
+tTZ
+tTZ
+tTZ
+dNj
+tTZ
+tTZ
+pcs
+fCW
+fCW
+tTZ
+bjv
+tTZ
+dNj
+dNj
+ubv
+plK
+plK
+tuX
+plK
+plK
+plK
+fSx
+xFx
tFW
dGC
aZz
@@ -109105,15 +109516,15 @@ aZz
nsc
baw
cxk
-nIN
-rgL
-rgL
-rgL
-nTc
-nIN
-wTy
-wTy
-wTy
+vIo
+ojX
+ojX
+ojX
+mxo
+vIo
+crh
+csI
+qhb
pgD
tQV
aaa
@@ -109258,15 +109669,15 @@ aaa
aaa
abs
adq
-aub
-akc
-euO
-njn
-rWz
-rWz
-rWz
-rWz
-njn
+nfC
+akt
+awW
+gLl
+mis
+mis
+mis
+mis
+gLl
oGC
sHp
oGC
@@ -109275,31 +109686,31 @@ awW
awW
aSJ
isI
-dgP
-jao
-uIa
-qxK
-rYG
-qxK
-qxK
-iRi
-qxK
-qxK
-qxK
-qxK
-xcY
-qxK
-iRi
-qxK
-qxK
-qxK
-qxK
-qxK
-rYG
-qxK
-bTD
-jao
-uQi
+gvu
+xCB
+nyK
+llo
+epT
+llo
+llo
+pub
+llo
+llo
+llo
+llo
+aVK
+llo
+pub
+llo
+llo
+llo
+llo
+llo
+epT
+llo
+aWM
+xCB
+tJm
dCD
aXe
baw
@@ -109308,15 +109719,15 @@ baw
mnA
baw
baw
-nIN
-rgL
-rgL
-rgL
-rgL
-nIN
-crh
-csI
-nqG
+vIo
+ojX
+ojX
+ojX
+ojX
+vIo
+baw
+sMM
+rSH
pgD
tQV
aaa
@@ -109465,22 +109876,22 @@ avd
akt
awW
qHq
-rWz
-rWz
-rWz
-rWz
-njn
-vzO
-njn
-njn
-njn
-njn
-njn
-njn
-njn
-dgP
-jao
-uQi
+mis
+mis
+mis
+mis
+gLl
+eHX
+gLl
+gLl
+gLl
+gLl
+gLl
+gLl
+gLl
+gvu
+xCB
+tJm
aoe
aoe
aoe
@@ -109500,22 +109911,22 @@ aoe
aoe
aoe
aoe
-maF
-jao
-mOw
-nIN
-nIN
-nIN
-nIN
-nIN
-nIN
-rBD
-nIN
-nIN
-rgL
-rgL
-rgL
-rgL
+hwB
+xCB
+kaj
+vIo
+vIo
+vIo
+vIo
+vIo
+vIo
+xDy
+vIo
+vIo
+ojX
+ojX
+ojX
+ojX
eOM
baw
sMM
@@ -109667,23 +110078,23 @@ adq
aGP
aka
aWu
-njn
-rWz
-rWz
-rWz
-rWz
-njn
-gur
-osn
-vDt
-puJ
-deA
-olC
-ujf
-njn
-xky
-jao
-uQi
+gLl
+mis
+mis
+mis
+mis
+gLl
+lNL
+kUJ
+qgn
+eIf
+mfL
+hto
+qhg
+gLl
+pzw
+xCB
+tJm
aoe
aoh
jHQ
@@ -109703,23 +110114,23 @@ cnV
isN
cnZ
aoe
-dgP
-jao
-uQi
-nIN
-cHn
-cHn
-gNo
-aZv
-gNo
-xzh
-dcZ
-nIN
-rgL
-rgL
-rgL
-rgL
-nIN
+gvu
+xCB
+tJm
+vIo
+giD
+giD
+wrI
+lST
+wrI
+pep
+mCJ
+vIo
+ojX
+ojX
+ojX
+ojX
+vIo
hWB
yhI
qSX
@@ -109815,9 +110226,9 @@ aId
vjv
gOR
aId
-vTV
+ary
nmY
-pdy
+nZm
smW
prP
xXl
@@ -109870,23 +110281,23 @@ adq
aGQ
akc
apg
-njn
-rWz
-rWz
-rWz
-rWz
-njn
-jsA
-cGR
-tey
-urL
-tey
-cGR
-jsA
-tQA
-kGS
-lOn
-uQi
+gLl
+mis
+mis
+mis
+mis
+gLl
+gtI
+utp
+cZq
+xBW
+cZq
+utp
+gtI
+kYF
+dME
+nbH
+tJm
aoe
vbS
arb
@@ -109906,23 +110317,23 @@ cnW
aEi
coa
aoe
-tWf
-lOn
-kGS
-aZv
-gNo
-xzh
-xzh
-nIN
-gJY
-gNo
-gNo
-nIN
-rgL
-rgL
-rgL
-rgL
-nIN
+lXR
+nbH
+dME
+lST
+wrI
+pep
+pep
+vIo
+fzt
+wrI
+wrI
+vIo
+ojX
+ojX
+ojX
+ojX
+vIo
wvj
csI
iPH
@@ -110073,11 +110484,11 @@ aee
avd
akt
qWI
-njn
-njn
-njn
-njn
-njn
+gLl
+gLl
+gLl
+gLl
+gLl
gxm
gxm
gxm
@@ -110087,9 +110498,9 @@ gxm
gxm
gxm
gxm
-tWf
-lOn
-uQi
+lXR
+nbH
+tJm
aoe
qQc
fXg
@@ -110109,9 +110520,9 @@ jBy
aEi
fFh
aoe
-dgP
-lOn
-uQi
+gvu
+nbH
+tJm
gxm
gxm
gxm
@@ -110121,11 +110532,11 @@ gxm
gxm
gxm
gxm
-nIN
-nIN
-nIN
-nIN
-nIN
+vIo
+vIo
+vIo
+vIo
+vIo
ehj
irS
ilJ
@@ -110200,7 +110611,7 @@ mKw
rcx
kan
ojZ
-jjn
+toS
ojZ
kan
leY
@@ -110273,26 +110684,26 @@ aaa
aaa
abs
adq
-aWm
-aka
-kyY
-njn
-mfR
-sqP
-tVs
-tVs
+nAv
+akt
+awW
+gLl
+vHP
+wQI
+cIS
+cIS
gxm
-tPB
-tPB
-tPB
+sWb
+sWb
+sWb
dkO
aps
aps
aps
gxm
-xtO
-jao
-uQi
+gpp
+xCB
+tJm
aoe
vbS
koB
@@ -110312,26 +110723,26 @@ aoe
hFF
aoe
aoe
-dgP
-jao
-uQi
+gvu
+xCB
+tJm
gxm
aiJ
aiJ
aiJ
qYr
-cJV
-cJV
-cJV
+kEA
+kEA
+kEA
gxm
-ear
-aGm
-xzh
-ear
-nIN
-rQW
-yhI
-tmI
+qTA
+bMZ
+pep
+qTA
+vIo
+baw
+sMM
+noO
pgD
tQV
aaa
@@ -110476,26 +110887,26 @@ aaa
aaa
abs
adq
-apr
-apr
-apr
-njn
-hzl
-vdT
-jsA
-jsA
+aWm
+aka
+kyY
+gLl
+lfZ
+lWS
+gtI
+gtI
gxm
-tPB
-tPB
-tPB
+sWb
+sWb
+sWb
vQe
aps
aps
aps
gxm
-hGo
-lOn
-uQi
+sHC
+nbH
+tJm
aoe
aop
koB
@@ -110515,26 +110926,26 @@ uRt
aQz
aRJ
ajl
-dgP
-lOn
-uQi
+gvu
+nbH
+tJm
gxm
aiJ
aiJ
aiJ
str
-cJV
-cJV
-cJV
+kEA
+kEA
+kEA
gxm
-aGm
-xzh
-xzh
-moq
-nIN
-wTy
-wTy
-wTy
+bMZ
+pep
+pep
+osr
+vIo
+rQW
+yhI
+rRz
pgD
tQV
aaa
@@ -110605,9 +111016,9 @@ tlA
nyj
vVW
vhX
-unU
+ctJ
rlZ
-twq
+pGE
vhX
jCK
nyj
@@ -110677,28 +111088,28 @@ bdH
bdH
bdH
bdH
-acf
-aet
-afB
-akW
-apu
-njn
-njn
-lBB
-cGR
-mOR
+abs
+adq
+afr
+akc
+apg
+gLl
+gLl
+nlI
+utp
+usu
gxm
-gHX
-gHX
-gHX
+sRZ
+sRZ
+sRZ
vQe
aps
aps
aps
gxm
-dgP
-hBy
-dlT
+gvu
+lYS
+mzn
hSI
pMp
gzK
@@ -110718,26 +111129,26 @@ akw
aQz
aRK
ajl
-kUs
-lOn
-uQi
+aUB
+nbH
+tJm
gxm
aiJ
aiJ
aiJ
str
-oAY
-oAY
-oAY
+jcu
+jcu
+jcu
gxm
-rTe
-xzh
-gNo
-nIN
-nIN
-crh
+cAa
+pep
+wrI
+vIo
+vIo
+vpn
csI
-qhb
+goL
pgD
tQV
bdH
@@ -110880,28 +111291,28 @@ aaf
aaf
aaf
aaf
-acv
-aez
-boL
-akY
-boL
-aiH
-hbl
-cGR
-fwP
-mOR
+abw
+eJU
+awW
+akt
+awW
+cUo
+dwu
+utp
+qxS
+usu
gxm
-tpj
-tpj
-tpj
+lmG
+lmG
+lmG
gxm
asm
asm
asm
gxm
-dgP
-mxg
-mnV
+gvu
+lSN
+xZt
aoe
pjF
wUd
@@ -110921,22 +111332,22 @@ akw
fOL
aRS
ajl
-hGo
-jao
-uQi
+sHC
+xCB
+tJm
gxm
alW
alW
alW
gxm
-nVA
-nVA
-nVA
+mWJ
+mWJ
+mWJ
gxm
-aGm
-ear
-gNo
-aZv
+bMZ
+qTA
+wrI
+lST
aJU
baw
sMM
@@ -111083,28 +111494,28 @@ aag
aag
aag
aag
-acv
-aez
-boL
-akY
-wrQ
-njn
-njn
-njn
-njn
-njn
+abw
+eJU
+awW
+akt
+vCt
+gLl
+gLl
+gLl
+gLl
+gLl
gxm
-tpj
-tpj
-tpj
+lmG
+lmG
+lmG
gxm
asm
asm
asm
gxm
-dgP
-lOn
-tQO
+gvu
+nbH
+vQN
sqf
sqf
sqf
@@ -111124,23 +111535,23 @@ upM
akw
alD
vEx
-kGS
-lOn
-uQi
+dME
+nbH
+tJm
gxm
alW
alW
alW
gxm
-nVA
-nVA
-nVA
+mWJ
+mWJ
+mWJ
gxm
-nIN
-nIN
-nIN
-nIN
-nIN
+vIo
+vIo
+vIo
+vIo
+vIo
nTH
sMM
baw
@@ -111206,10 +111617,10 @@ qPk
hKe
qPk
kan
-qWS
+mBk
oDJ
vaQ
-iIH
+iTt
rlZ
buu
rlZ
@@ -111286,28 +111697,28 @@ aag
aag
aag
aag
-acf
-aet
-agS
-aiP
-aYq
-njn
-rWz
-rWz
-rWz
-tWM
+abs
+adq
+aeZ
+aka
+aoI
+gLl
+mis
+mis
+mis
+yjr
gxm
-tpj
-tpj
-tpj
+lmG
+lmG
+lmG
gxm
asm
asm
asm
gxm
-dgP
-lOn
-uQi
+gvu
+nbH
+tJm
sqf
anp
wjz
@@ -111327,23 +111738,23 @@ ajl
onQ
alD
ajl
-bNI
-lOn
-uQi
+bgN
+nbH
+tJm
gxm
alW
alW
alW
gxm
-nVA
-nVA
-nVA
+mWJ
+mWJ
+mWJ
gxm
-rgL
-rgL
-rgL
-nTc
-nIN
+ojX
+ojX
+ojX
+mxo
+vIo
gnv
yhI
tTu
@@ -111409,7 +111820,7 @@ qPk
hKe
qPk
kan
-kAp
+vou
dYU
kan
cWm
@@ -111489,28 +111900,28 @@ aag
aag
aag
aag
-acf
-aet
-agB
-akW
-aYs
-njn
-rWz
-rWz
-rWz
-rWz
+abs
+adq
+afr
+akc
+apg
+gLl
+mis
+mis
+mis
+mis
gxm
-lbc
-tpj
-tpj
+aoz
+lmG
+lmG
gxm
asm
asm
asm
gxm
-dgP
-jao
-uQi
+gvu
+xCB
+tJm
sqf
sOZ
oNJ
@@ -111530,23 +111941,23 @@ ajl
aCp
alD
ajl
-kiq
-jao
-uQi
+evM
+xCB
+tJm
gxm
alW
alW
alW
gxm
-nVA
-nVA
-wZk
+mWJ
+mWJ
+kbl
gxm
-rgL
-rgL
-rgL
-rgL
-nIN
+ojX
+ojX
+ojX
+ojX
+vIo
vpn
csI
goL
@@ -111692,28 +112103,28 @@ aag
aag
aag
aag
-acv
-aez
-boL
-akY
-boL
+abw
+eJU
+awW
+akt
+awW
avJ
-rWz
-rWz
-rWz
-rWz
+mis
+mis
+mis
+mis
gxm
-tpj
-tpj
-tpj
+lmG
+lmG
+lmG
gxm
asm
asm
asm
gxm
-dgP
-mxg
-mOw
+gvu
+lSN
+kaj
sqf
anq
awn
@@ -111733,22 +112144,22 @@ fQu
akx
alD
gWG
-dgP
-jao
-uQi
+gvu
+xCB
+tJm
gxm
alW
alW
alW
gxm
-nVA
-nVA
-nVA
+mWJ
+mWJ
+mWJ
gxm
-rgL
-rgL
-rgL
-rgL
+ojX
+ojX
+ojX
+ojX
qxz
baw
sMM
@@ -111895,28 +112306,28 @@ aag
aag
aag
aag
-acv
-aez
-boL
-akY
-aqk
-njn
-rWz
-rWz
-rWz
-rWz
+abw
+eJU
+awW
+akt
+aAn
+gLl
+mis
+mis
+mis
+mis
gxm
-tpj
-tpj
-tpj
+lmG
+lmG
+lmG
gxm
asm
asm
asm
gxm
-dgP
-jao
-uQi
+gvu
+xCB
+tJm
sqf
anr
awn
@@ -111936,23 +112347,23 @@ fQu
akx
alD
gWG
-dgP
-jao
-uQi
+gvu
+xCB
+tJm
gxm
alW
alW
alW
gxm
-nVA
-nVA
-nVA
+mWJ
+mWJ
+mWJ
gxm
-rgL
-rgL
-rgL
-rgL
-nIN
+ojX
+ojX
+ojX
+ojX
+vIo
xuY
sMM
baw
@@ -112098,28 +112509,28 @@ aag
aag
aag
aag
-acf
-aet
-agS
-aiP
-aYq
-njn
-rWz
-rWz
-rWz
-rWz
+abs
+adq
+aeZ
+aka
+aoI
+gLl
+mis
+mis
+mis
+mis
gxm
-tpj
-tpj
-tpj
+lmG
+lmG
+lmG
gxm
asm
asm
asm
gxm
-maF
-jao
-uQi
+hwB
+xCB
+tJm
sqf
sqf
awp
@@ -112139,23 +112550,23 @@ ajl
hVz
alD
ajl
-tWf
-jao
-uQi
+lXR
+xCB
+tJm
gxm
alW
alW
alW
gxm
-nVA
-nVA
-nVA
+mWJ
+mWJ
+mWJ
gxm
-rgL
-rgL
-rgL
-rgL
-nIN
+ojX
+ojX
+ojX
+ojX
+vIo
gnv
yhI
tTu
@@ -112301,28 +112712,28 @@ aag
aag
aag
aag
-acf
-aet
-afB
-akW
-biT
-njn
-njn
-njn
-njn
-njn
+abs
+adq
+sSj
+akc
+rMh
+gLl
+gLl
+gLl
+gLl
+gLl
gxm
-hWV
-hWV
-hWV
+qqa
+qqa
+qqa
gxm
gxm
gxm
gxm
gxm
-mYd
-lOn
-xwU
+atz
+nbH
+tyC
ajl
qhx
akw
@@ -112342,23 +112753,23 @@ ajl
nMV
vIf
ajl
-maF
-lOn
-nwu
+hwB
+nbH
+yeg
gxm
gxm
gxm
gxm
gxm
-hWV
-hWV
-hWV
+qqa
+qqa
+qqa
gxm
-nIN
-nIN
-nIN
-nIN
-nIN
+vIo
+vIo
+vIo
+vIo
+vIo
crh
csI
qhb
@@ -112504,28 +112915,28 @@ aag
aag
aag
aag
-acv
-aez
-boL
-boL
-boL
-ahl
-cWv
-cWv
-cWv
-cWv
-omp
-kmx
-xog
-xog
-vFy
-ltt
-fCP
-vUO
-fCP
-xRn
-lOn
-kGS
+abw
+eJU
+awW
+awW
+awW
+wAE
+iKy
+iKy
+iKy
+iKy
+tMi
+lCg
+knb
+knb
+jsd
+iKy
+iKy
+udv
+iKy
+gre
+nbH
+dME
bVE
aos
akw
@@ -112545,23 +112956,23 @@ ans
aos
alE
bVE
-kGS
-lOn
-mnC
-vUO
-qRx
-fCP
-ltt
-cuI
-ocX
-ocX
-sYj
-fvj
-fCP
-fCP
-kGS
-fCP
-oiB
+dME
+nbH
+kPa
+iKy
+gDk
+iKy
+iKy
+gOa
+lCg
+lCg
+lCg
+ccx
+iKy
+iKy
+iKy
+iKy
+wAE
baw
baw
qYC
@@ -112707,28 +113118,28 @@ aag
aag
aag
aag
-acv
-aez
-boL
-asS
-boL
-ceu
-boL
-boL
-boL
-boL
-fGD
-bfb
-qEc
-qEc
-qEc
-ltt
-gfv
-gfv
-gfv
-gfv
-aPC
-tzF
+abw
+eJU
+awW
+aTm
+awW
+wAE
+qQu
+qQu
+qQu
+qQu
+kVW
+kVW
+oFz
+oFz
+oFz
+qQu
+dcR
+dcR
+dcR
+dcR
+hWa
+cEG
aEe
akA
akA
@@ -112748,23 +113159,23 @@ akA
oap
aSb
aEe
-tzF
-lzF
-gfv
-gfv
-gfv
-gfv
-ltt
-qEc
-qEc
-qEc
-rWP
-fGD
-acQ
-acQ
-acQ
-acQ
-uQi
+cEG
+rxQ
+dcR
+dcR
+dcR
+dcR
+qQu
+oFz
+oFz
+oFz
+kVW
+kVW
+qQu
+qQu
+qQu
+qQu
+wAE
baw
vbB
ley
@@ -112838,7 +113249,7 @@ bst
cjW
rlZ
rlZ
-hrJ
+oRy
kan
biy
boX
@@ -112910,28 +113321,28 @@ aah
aah
aah
aah
-acf
-acf
-boL
-ale
-bDD
-nub
-dux
-iYr
-dux
-ado
-ltt
-uVZ
-qxK
-qxK
-rYG
-ltt
-qxK
-qxK
-qxK
-bTD
-mxg
-uQi
+abs
+abs
+awW
+vGQ
+ajE
+wAE
+dME
+epT
+dME
+aVK
+llo
+llo
+llo
+llo
+epT
+llo
+llo
+llo
+llo
+aWM
+lSN
+tJm
vOy
vOy
vOy
@@ -112951,23 +113362,23 @@ vOy
wMO
wky
sqf
-bNI
-mxg
-uIa
-qxK
-qxK
-qxK
-ltt
-rYG
-qxK
-qxK
-fdf
-ltt
-qxK
-kGS
-ftZ
-qxK
-fdf
+bgN
+lSN
+nyK
+llo
+epT
+llo
+llo
+llo
+llo
+llo
+llo
+epT
+llo
+dME
+bRO
+llo
+wAE
baw
dBp
gVA
@@ -113115,10 +113526,10 @@ aaa
aaa
aaa
acf
-aet
-aet
biV
+aet
biV
+aet
ekY
aet
ekY
@@ -113132,9 +113543,9 @@ abE
abE
abE
abE
-bff
-rnd
-fdf
+cXq
+bXc
+vZJ
vOy
nos
fcy
@@ -113148,25 +113559,25 @@ vAQ
qIL
ncE
vWt
-kNx
+gei
vOy
ayX
kXw
pxo
sqf
-uVZ
-rnd
-fdf
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
+lPY
+bXc
+vZJ
+pBG
+pBG
+pBG
+pBG
+pBG
+pBG
+pBG
+pBG
+pBG
+pBG
oiq
mRU
mRU
@@ -113335,9 +113746,9 @@ gwo
aed
aeG
abE
-umI
-fsu
-umI
+rSW
+dNv
+rSW
vOy
oNp
aSn
@@ -113357,19 +113768,19 @@ niL
kXw
pxo
sqf
-umI
-uch
-umI
-mRU
-qSw
-qSw
-qSw
-qSw
-fHM
+rSW
+dYl
+rSW
+pBG
+rdZ
+rdZ
+rdZ
+rdZ
+bCs
pBG
rLp
ttX
-mRU
+pBG
vpf
mRU
vor
@@ -113538,9 +113949,9 @@ adF
aef
dWw
agA
-okx
-hgA
-xfo
+mRJ
+fjA
+gqH
vOy
anz
vgx
@@ -113560,19 +113971,19 @@ aCC
kXw
pxo
asn
-okx
-cFH
-xfo
-mRU
-qSw
-qSw
-qSw
-qSw
-qSw
+mRJ
+oEn
+gqH
+pBG
+rdZ
+rdZ
+rdZ
+rdZ
+rdZ
pBG
jZU
jAe
-mRU
+pBG
jtU
mRU
tNw
@@ -113650,7 +114061,7 @@ xMs
cjW
rlZ
rlZ
-jbO
+kSC
kan
quv
rZB
@@ -113741,9 +114152,9 @@ adF
aef
aef
uZZ
-kGS
-bNT
-rmB
+muW
+lGh
+bBH
vOy
awQ
oLU
@@ -113763,19 +114174,19 @@ edv
kXw
pxo
asn
-eWN
-lOn
-rmB
-mRU
-qSw
-qSw
-qSw
-qSw
-qSw
+lXl
+yiu
+bBH
+pBG
+rdZ
+rdZ
+rdZ
+rdZ
+rdZ
pBG
cVq
nOb
-mRU
+pBG
vpI
mRU
mRU
@@ -113944,9 +114355,9 @@ adF
bls
aeH
agq
-nIF
-ijn
-rmB
+ijd
+efV
+bBH
vOy
hng
dnC
@@ -113966,19 +114377,19 @@ aCt
kXw
pxo
asn
-eWN
-jao
-hCF
-mRU
-qSw
-qSw
-qSw
-qSw
-qSw
+lXl
+poD
+qmW
+pBG
+rdZ
+rdZ
+rdZ
+rdZ
+rdZ
pBG
dzp
ngV
-mRU
+pBG
jtU
jtU
uBx
@@ -114147,9 +114558,9 @@ adF
aef
kqN
agA
-eWN
-mxg
-hCF
+lXl
+qdJ
+qmW
vOy
xyt
wiW
@@ -114169,10 +114580,10 @@ vOy
mFq
vqW
sqf
-jMP
-jao
-rmB
-mRU
+rnM
+poD
+bBH
+pBG
pBG
pBG
pBG
@@ -114181,7 +114592,7 @@ pBG
pBG
saL
pBG
-mRU
+pBG
mRU
mRU
mRU
@@ -114350,9 +114761,9 @@ aef
aef
tRD
abE
-ciI
-mxg
-rmB
+tkF
+qdJ
+bBH
vOy
iYf
bIM
@@ -114372,15 +114783,15 @@ hPe
sdu
btC
vLj
-nIF
-ijn
-rmB
-dyJ
+ijd
+efV
+bBH
+rRT
pBG
gqQ
cHG
nQA
-wph
+dAl
pyx
lKO
pBG
@@ -114553,9 +114964,9 @@ adF
aef
afs
agA
-eWN
-lOn
-rmB
+lXl
+yiu
+bBH
vOy
mTp
wiW
@@ -114575,10 +114986,10 @@ lON
dVu
oDR
vOP
-kGS
-fAW
-vlR
-qPv
+muW
+cDI
+tru
+uXE
qvL
wmP
wmP
@@ -114756,9 +115167,9 @@ adD
sOw
afs
agA
-eWN
-lOn
-rmB
+lXl
+yiu
+bBH
vOy
axn
dRh
@@ -114778,10 +115189,10 @@ vOy
aRd
aIo
vOy
-gyb
-lOn
-rmB
-aRl
+whc
+yiu
+bBH
+mxq
pBG
lvb
eAN
@@ -114959,9 +115370,9 @@ adF
aef
afs
agA
-eWN
-lOn
-rmB
+lXl
+yiu
+bBH
vOy
aAr
pGK
@@ -114981,9 +115392,9 @@ aCD
hFC
qmy
vOy
-eWN
-lOn
-rmB
+lXl
+yiu
+bBH
pBG
pBG
hEl
@@ -115162,9 +115573,9 @@ aef
aef
pHG
abE
-ciI
-jao
-rmB
+tkF
+poD
+bBH
vOy
aID
gLc
@@ -115173,9 +115584,9 @@ iit
kZV
vOy
vOy
-oIr
+jpl
vOy
-wdo
+wKL
vOy
vOy
vOy
@@ -115184,9 +115595,9 @@ aoM
aoM
vgB
kgs
-eWN
-jao
-rmB
+lXl
+poD
+bBH
bvX
ojQ
eAN
@@ -115365,9 +115776,9 @@ adF
aef
aGS
agA
-eWN
-jao
-rmB
+lXl
+poD
+bBH
vOy
aMd
pGK
@@ -115387,9 +115798,9 @@ prx
fpT
eVT
kgs
-eWN
-jao
-rmB
+lXl
+poD
+bBH
bvX
kVV
vQR
@@ -115568,9 +115979,9 @@ adF
aef
nIS
uZZ
-kGS
-jao
-rmB
+muW
+poD
+bBH
vOy
aMg
aSo
@@ -115590,9 +116001,9 @@ ger
aoM
aFf
mmN
-eWN
-jao
-rmB
+lXl
+poD
+bBH
bvX
maO
lPm
@@ -115771,9 +116182,9 @@ adF
aef
nIS
eWF
-kGS
-jao
-rmB
+muW
+poD
+bBH
vOy
aQZ
bkT
@@ -115791,11 +116202,11 @@ ggl
jjS
qMP
kBP
-aSl
+kqo
vOy
-ciI
-jao
-hCF
+tkF
+poD
+qmW
pBG
pBG
pBG
@@ -115974,9 +116385,9 @@ adF
aef
kqN
agA
-eWN
-lOn
-rmB
+lXl
+yiu
+bBH
vOy
dVd
lea
@@ -115996,9 +116407,9 @@ vti
vti
aEZ
vOy
-eWN
-lOn
-rmB
+lXl
+yiu
+bBH
fKh
gQk
trU
@@ -116177,9 +116588,9 @@ fcE
aef
uNN
abE
-iGZ
-lOn
-rmB
+dfA
+yiu
+bBH
vOy
vOy
vOy
@@ -116188,9 +116599,9 @@ mSK
mSK
vOy
vOy
-ccc
+voV
wKP
-ylc
+hLr
vOy
vOy
rhO
@@ -116199,9 +116610,9 @@ nPE
oqZ
uaI
vOy
-eFI
-lOn
-rmB
+hUu
+yiu
+bBH
fKh
iuG
sOv
@@ -116380,11 +116791,11 @@ aeI
eva
xzf
abE
-ciI
-jao
-uZI
-cSM
-xfo
+tkF
+poD
+dSI
+iLL
+gqH
vOy
vOy
vOy
@@ -116402,9 +116813,9 @@ vOy
vOy
vOy
vOy
-czJ
-jao
-rmB
+qQD
+poD
+bBH
fKh
ubI
nQA
@@ -116583,11 +116994,11 @@ aNi
aNi
aNi
aNi
-eFI
-jao
-gfv
-gfv
-rmB
+hUu
+poD
+tsn
+tsn
+bBH
vOy
elR
xXh
@@ -116605,9 +117016,9 @@ dMK
vOy
vOy
vOy
-eWN
-jao
-rmB
+lXl
+poD
+bBH
pBG
mGT
nQA
@@ -116786,11 +117197,11 @@ bhx
vif
aOR
bsw
-eWN
-uSZ
-rDm
-ldq
-rmB
+lXl
+hPZ
+bPi
+ava
+bBH
vOy
wWz
vHO
@@ -116806,11 +117217,11 @@ ruc
xOY
wTM
vOy
-qqb
-cSM
-fvE
-jao
-hCF
+uWk
+iLL
+lRh
+poD
+qmW
pBG
tGT
nQA
@@ -116989,11 +117400,11 @@ aco
aco
dYu
bsw
-cKW
-xNl
-dpS
-jao
-hCF
+cOe
+vwT
+akh
+poD
+qmW
vOy
wWz
anw
@@ -117009,11 +117420,11 @@ wLy
eiE
wTM
vOy
-eWN
-gFL
-gDQ
-xgE
-rmB
+lXl
+mfO
+mHY
+yei
+bBH
fKh
eYn
nQA
@@ -117194,9 +117605,9 @@ cCa
aNi
aNi
aNi
-jMP
-mxg
-rmB
+rnM
+qdJ
+bBH
vOy
wWz
ovG
@@ -117212,11 +117623,11 @@ gxP
aOe
wTM
vOy
-nLM
-lOn
-acQ
-acQ
-rmB
+piQ
+yiu
+xIj
+xIj
+bBH
fKh
wvo
nQA
@@ -117397,9 +117808,9 @@ qiy
ahR
ahR
egt
-tzF
-gIN
-rmB
+shC
+vIZ
+bBH
vOy
woh
vgO
@@ -117415,11 +117826,11 @@ qxm
vgO
xAe
vOy
-oxg
-jao
-iUV
-xNl
-xZf
+psk
+poD
+sin
+vwT
+gsJ
fKh
lDa
eAN
@@ -117600,9 +118011,9 @@ hpY
aOR
aOR
bgK
-kGS
-mxg
-rmB
+muW
+qdJ
+bBH
vOy
vOy
vOy
@@ -117618,9 +118029,9 @@ aoK
vOy
vOy
vOy
-glc
-jao
-rmB
+pLE
+poD
+bBH
mRU
mRU
pBG
@@ -117803,9 +118214,9 @@ aOR
aOR
agr
aNi
-eWN
-bNT
-rmB
+lXl
+lGh
+bBH
vOy
vOy
vOy
@@ -117821,9 +118232,9 @@ vOy
vOy
vOy
vOy
-kbT
-bNT
-rmB
+mIR
+lGh
+bBH
mRU
vpf
pBG
@@ -118006,9 +118417,9 @@ aNi
aNi
aNi
aNi
-glc
-bNT
-rmB
+pLE
+lGh
+bBH
bPF
aqG
ata
@@ -118024,9 +118435,9 @@ vOy
jyJ
niF
bPF
-ciI
-lOn
-rmB
+tkF
+yiu
+bBH
mRU
vpf
pBG
@@ -118209,9 +118620,9 @@ hoT
tob
tob
fkK
-kGS
-bNT
-kGS
+muW
+lGh
+muW
cbg
aqG
atb
@@ -118227,9 +118638,9 @@ vOy
sLk
niF
cbg
-kGS
-lOn
-kGS
+muW
+yiu
+muW
rXF
jtU
jtU
@@ -118396,25 +118807,25 @@ aam
gxm
hgk
tob
-cGd
-cGd
-cGd
-cGd
-cGd
-cGd
-cGd
-cGd
-cGd
-cGd
-cGd
-cGd
+njn
+njn
+njn
+njn
+njn
+njn
+njn
+njn
+njn
+njn
+njn
+aej
aej
aej
aej
aej
-jZW
-bNT
-rZC
+gpT
+lGh
+cQF
vOy
vOy
vOy
@@ -118430,25 +118841,25 @@ vOy
vOy
vOy
vOy
-bxV
-lOn
-uAi
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
+xac
+yiu
+vbU
+nIN
+nIN
+nIN
+nIN
+nIN
+nIN
+nIN
+nIN
+nIN
+nIN
+nIN
+nIN
+nIN
+nIN
+nIN
+nIN
jtU
vpf
gxm
@@ -118599,25 +119010,25 @@ aam
gxm
bLf
tob
-cGd
-vVY
-vVY
-vVY
-vVY
-kLB
-vVY
-vVY
-vVY
-vVY
-kLB
+njn
+rWz
+rWz
+rWz
+rWz
+rCZ
+rWz
+rWz
+rWz
+rWz
+rCZ
aej
aeO
afG
ags
aej
-eWN
-bNT
-rmB
+lXl
+lGh
+bBH
vOy
elR
xXh
@@ -118633,25 +119044,25 @@ xXh
xXh
dMK
vOy
-eWN
-lOn
-rmB
-mRU
-bnF
-lBw
-bnF
-mRU
-qSw
-qSw
-qSw
-qSw
-urg
-qSw
-qSw
-qSw
-qSw
-urg
-mRU
+lXl
+yiu
+bBH
+nIN
+iIb
+wui
+iIb
+nIN
+rgL
+rgL
+rgL
+rgL
+lAW
+rgL
+rgL
+rgL
+rgL
+lAW
+nIN
jtU
nVE
gxm
@@ -118802,25 +119213,25 @@ aam
gxm
rGz
tob
-cGd
-vVY
-vVY
-vVY
-vVY
-vVY
-vVY
-vVY
-vVY
-vVY
-vVY
+njn
+rWz
+rWz
+rWz
+rWz
+rWz
+rWz
+rWz
+rWz
+rWz
+rWz
aej
aeP
agI
aia
yaz
-kGS
-mxg
-rmB
+muW
+qdJ
+bBH
vOy
wWz
vHO
@@ -118836,25 +119247,25 @@ uXj
rdt
wTM
vOy
-eWN
-jao
-rmB
-eyI
-jtU
-jaW
-vkV
-mRU
-qSw
-qSw
-qSw
-qSw
-qSw
-qSw
-qSw
-qSw
-qSw
-qSw
-mRU
+lXl
+poD
+bBH
+aQx
+xzh
+sjM
+oIn
+nIN
+rgL
+rgL
+rgL
+rgL
+rgL
+rgL
+rgL
+rgL
+rgL
+rgL
+nIN
jtU
bWg
gxm
@@ -119005,25 +119416,25 @@ gxm
gxm
hqb
vsd
-cGd
-vVY
-vVY
-vVY
-vVY
-vVY
-vVY
-vVY
-vVY
-vVY
-vVY
+njn
+rWz
+rWz
+rWz
+rWz
+rWz
+rWz
+rWz
+rWz
+rWz
+rWz
aej
aeQ
agK
agu
eup
-kGS
-mxg
-rmB
+muW
+qdJ
+bBH
vOy
wWz
uwZ
@@ -119039,25 +119450,25 @@ coZ
sNz
wTM
vOy
-eWN
-jao
-rmB
-eyI
-yfL
-sjw
-xHD
-mRU
-qSw
-qSw
-qSw
-qSw
-qSw
-qSw
-qSw
-qSw
-qSw
-qSw
-mRU
+lXl
+poD
+bBH
+aQx
+bcg
+bkM
+gYp
+nIN
+rgL
+rgL
+rgL
+rgL
+rgL
+rgL
+rgL
+rgL
+rgL
+rgL
+nIN
jZo
hQK
gxm
@@ -119098,7 +119509,7 @@ vvH
bwG
bwG
nsY
-wpz
+gAP
oEX
irT
tyb
@@ -119208,25 +119619,25 @@ ouf
aLc
wBI
hGG
-cGd
-vVY
-vVY
-vVY
-vVY
-vVY
-vVY
-vVY
-vVY
-vVY
-vVY
+njn
+rWz
+rWz
+rWz
+rWz
+rWz
+rWz
+rWz
+rWz
+rWz
+rWz
aej
aeR
agK
agu
aej
-ftb
-mqR
-djd
+dfA
+qdJ
+qmW
vOy
wWz
pEJ
@@ -119242,25 +119653,25 @@ xQm
tfH
wTM
vOy
-ddx
-pFf
-xZf
-eyI
-byH
-jtU
-nvd
-mRU
-qSw
-qSw
-qSw
-qSw
-qSw
-qSw
-qSw
-qSw
-qSw
-qSw
-mRU
+piQ
+poD
+bBH
+aQx
+viv
+xzh
+syp
+nIN
+rgL
+rgL
+rgL
+rgL
+rgL
+rgL
+rgL
+rgL
+rgL
+rgL
+nIN
vmJ
elv
vRR
@@ -119411,25 +119822,25 @@ ouf
sdf
cRL
hGG
-cGd
-cGd
-cGd
+njn
+njn
+njn
ahi
-cGd
-cGd
-cGd
-cGd
+njn
+njn
+njn
+njn
uux
-cGd
-cGd
+njn
+njn
aej
aej
agO
aid
aej
-umI
-fsu
-umI
+cOe
+vZI
+gsJ
vOy
wWz
uwZ
@@ -119445,26 +119856,26 @@ vfP
sNz
wTM
vOy
-umI
-fsu
-umI
-mRU
-mRU
-veW
-mRU
-mRU
-mRU
-mRU
+cOe
+vZI
+gsJ
+nIN
+nIN
+cyh
+nIN
+nIN
+nIN
+nIN
nNX
-mRU
-mRU
-mRU
-mRU
+nIN
+nIN
+nIN
+nIN
ayo
-mRU
-mRU
-mRU
-cna
+nIN
+nIN
+nIN
+vmJ
nzD
xDV
qXS
@@ -119615,8 +120026,8 @@ fTj
jOD
oOw
cPK
-oXt
-loz
+sPb
+dlo
sAz
jZC
uyd
@@ -119624,15 +120035,15 @@ ito
cuN
cQW
lQa
-wjE
-vuE
-bkb
-kGS
-kGS
-pvi
-bgh
-spW
-pjQ
+sPb
+gtg
+ilq
+aMy
+aMy
+wNC
+hOn
+sYU
+xCs
vOy
wWz
qxP
@@ -119648,15 +120059,15 @@ gxP
nMe
wTM
vOy
-bgh
-spW
-pjQ
-eJg
-bkb
-kGS
-rRf
-pOC
-qtj
+hOn
+sYU
+xCs
+wNC
+kin
+oQI
+laI
+qwU
+neZ
fpA
qUx
gUS
@@ -119665,7 +120076,7 @@ kMp
jkB
hlT
qNI
-hRc
+wrX
tqO
kdn
nyS
@@ -119818,7 +120229,7 @@ dho
wVt
wVt
jlc
-ngE
+sVV
kbv
dTn
kbv
@@ -119827,15 +120238,15 @@ kbv
jlc
kbv
dTn
-ngE
-acQ
-acQ
-acQ
-acQ
-xdl
-klr
-bNT
-dOW
+sVV
+sVV
+sVV
+sVV
+sVV
+wNC
+sfz
+lGh
+xLw
vOy
woh
vgO
@@ -119851,15 +120262,15 @@ vgO
vgO
xAe
vOy
-gTV
-mGk
-xFW
-lrd
-kkI
-kkI
-kkI
-kkI
-usL
+uAP
+rgO
+kak
+nOp
+cMz
+cMz
+cMz
+cMz
+cMz
gsC
cMz
qLg
@@ -119868,7 +120279,7 @@ cMz
cMz
gsC
cMz
-usL
+bTY
qLg
iup
ryY
@@ -120021,8 +120432,8 @@ bGa
dVn
vwC
fbR
-gcq
-xci
+xMz
+kMV
eON
gxn
vEV
@@ -120030,15 +120441,15 @@ xMz
sdv
xMO
wDg
-vHA
-waV
-iGE
-kGS
-kGS
-pjY
-gqv
-hKJ
-nww
+xMz
+lIY
+gxn
+aMy
+aMy
+wNC
+wlr
+xyp
+mnf
vOy
vOy
vOy
@@ -120054,15 +120465,15 @@ vOy
vOy
vOy
vOy
-xvO
-peu
-nww
-vcO
-ssF
-kGS
-bij
-hux
-kfo
+gPA
+eWf
+mnf
+wNC
+gVW
+oQI
+iaO
+vUn
+atJ
rCl
ePM
pzd
@@ -120071,7 +120482,7 @@ nNx
pMA
ncT
gHh
-kfo
+oWx
dbc
cNM
ofU
@@ -120220,65 +120631,65 @@ vHn
ggD
tob
cGd
-cGd
-cGd
-cGd
-cGd
-cGd
-cGd
+njn
+njn
+njn
+njn
+njn
+njn
hZE
sVV
oON
-cGd
-cGd
-cva
-cGd
-cGd
+njn
+njn
+daI
+njn
+njn
ael
ael
agQ
aih
ael
-htF
-bNT
-jvz
-ltt
-pPU
-pPU
-ecz
-pPU
-pPU
-pPU
-pPU
-pPU
-pPU
-pPU
-ecz
-pPU
-pPU
-ltt
-riK
-bNT
-hmB
-mRU
-mRU
-gBs
-mRU
-mRU
-mRU
-gBs
-mRU
-mRU
-mRU
+hyT
+lGh
+iCg
+cGO
+cGO
+cGO
+rpV
+cGO
+cGO
+cGO
+cGO
+cGO
+kaO
+cGO
+rpV
+cGO
+cGO
+cGO
+cDP
+lGh
+tkd
+nIN
+nIN
+rBD
+nIN
+nIN
+nIN
+rBD
+nIN
+nIN
+nIN
mKi
sfT
hGV
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
+nIN
+nIN
+nIN
+nIN
+nIN
+nIN
mRU
vpf
tMU
@@ -120423,65 +120834,65 @@ vHn
hgk
hoT
hoT
-cGd
-vVY
-vVY
-vVY
-tvS
-cGd
+njn
+rWz
+rWz
+rWz
+jXN
+njn
xVe
sVV
mbx
-cGd
-orq
-rRb
-qjT
-kRk
+njn
+tXa
+gJg
+tSX
+lzt
ael
afE
agT
agT
ael
-oPT
-lOn
-acQ
-ltt
-acQ
-gfv
-gfv
-gfv
-acQ
-gfv
-gfv
-gfv
-acQ
-gfv
-gfv
-gfv
-jRg
-ltt
-acQ
-bNT
-oNa
-mRU
-tih
-vpf
-tih
-mRU
-jwM
-jtU
-jtU
-jHX
-mRU
-aDS
+ogT
+yiu
+xIj
+xIj
+xIj
+tsn
+tsn
+tsn
+xIj
+tsn
+tsn
+tsn
+xIj
+tsn
+tsn
+tsn
+xIj
+xIj
+xIj
+lGh
+syO
+nIN
+aGm
+gNo
+aGm
+nIN
+uig
+xzh
+xzh
+fje
+nIN
+aNO
sfT
hGV
-mRU
-qSw
-qSw
-qSw
-vMQ
-mRU
+nIN
+rgL
+rgL
+rgL
+laD
+nIN
upS
jtU
jtU
@@ -120626,65 +121037,65 @@ vHn
vHn
tob
tob
-cGd
-vVY
-vVY
-vVY
-vVY
-cGd
+njn
+rWz
+rWz
+rWz
+rWz
+njn
hHe
gxn
ioH
-cGd
-mNS
-tob
-hvq
-pCQ
+njn
+jXk
+cGR
+wks
+jFM
ael
afH
agV
ain
ael
-bMV
-jao
-tbF
-ltt
-dZP
-tbF
-dZP
-eQh
-mTo
-tCD
-tCD
-tCD
-mTo
-wyE
-dZP
-dKD
-dZP
-ltt
-dKD
-bNT
-enF
-mRU
-mRU
-jtU
-wlB
-mRU
-bBc
-vpf
-jtU
-bBc
-mRU
+cQC
+poD
+rjr
+aMl
+aMl
+rjr
+aMl
+iSx
+dUR
+kaE
+kaE
+kaE
+eRI
+qvh
+aMl
+xXd
+aMl
+aMl
+xXd
+lGh
+iMD
+nIN
+nIN
+xzh
+uVY
+nIN
+lbO
+gNo
+xzh
+lbO
+nIN
uRY
pMA
waJ
-mRU
-qSw
-qSw
-qSw
-qSw
-mRU
+nIN
+rgL
+rgL
+rgL
+rgL
+nIN
oNM
vpf
woU
@@ -120829,35 +121240,35 @@ aag
vHn
hoT
hoT
-cGd
-vVY
-vVY
-vVY
-vVY
+njn
+rWz
+rWz
+rWz
+rWz
aba
aGA
kbv
fZo
-cGd
-nnH
-hoT
-hoT
-eJj
+njn
+pKL
+jsA
+jsA
+qTi
ael
afI
agY
oxi
xfm
-jux
-gIN
-jvz
-mOi
+lDH
+vIZ
+iCg
mOi
mOi
mOi
mOi
mOi
-auc
+sOK
+tAt
auc
hyE
aqU
@@ -120866,28 +121277,28 @@ aHq
aHq
aHq
aHq
-klr
-mxg
-qGZ
-bMi
-mRU
-jtU
-vpf
-rXF
-jtU
-jtU
-jtU
-vpf
-mRU
+sfz
+qdJ
+nZK
+mOZ
+nIN
+xzh
+gNo
+aZv
+xzh
+xzh
+xzh
+gNo
+nIN
mzs
aPT
xyB
ceD
-qSw
-qSw
-qSw
-qSw
-mRU
+rgL
+rgL
+rgL
+rgL
+nIN
isq
vpf
woU
@@ -121032,35 +121443,35 @@ aag
vHn
hoT
tob
-cGd
-vVY
-vVY
-vVY
-vVY
-cGd
+njn
+rWz
+rWz
+rWz
+rWz
+njn
mAF
ilq
pjj
-cGd
-dkt
-tob
-hoT
-xfW
+njn
+kCl
+cGR
+jsA
+uqs
ael
afJ
agY
aiq
ajJ
-dpS
-mxg
-iUV
+xIj
+qdJ
+xIj
mOi
-rCw
-rCw
-lin
-oJR
-tFe
-asD
+onU
+onU
+qwJ
+cOV
+imS
+rxl
xQV
qQS
aqU
@@ -121069,28 +121480,28 @@ dgg
xRk
bti
aHq
-rwf
-mxg
-qGZ
-mqd
-mRU
-jtU
-vzB
-mRU
-bBc
-vpf
-jtU
-vpf
-mRU
+wvX
+qdJ
+nZK
+olF
+nIN
+xzh
+lZJ
+nIN
+lbO
+gNo
+xzh
+vwj
+nIN
gfN
efj
sxE
-mRU
-qSw
-qSw
-qSw
-qSw
-mRU
+nIN
+rgL
+rgL
+rgL
+rgL
+nIN
vpI
jtU
woU
@@ -121235,65 +121646,65 @@ aag
vHn
tob
xLu
-cGd
-vVY
-vVY
-vVY
-vVY
-cGd
+njn
+rWz
+rWz
+rWz
+rWz
+njn
hZE
kbv
mbx
-cGd
-gMJ
-tob
-hoT
-xfW
+njn
+ePz
+cGR
+jsA
+uqs
ael
afK
ahc
air
ael
-nBo
-mxg
-uZI
+sgH
+qdJ
+xIj
mOi
-wCT
-sIf
-isC
-isC
+eXy
+vRA
+ezq
+ezq
tFe
xQV
-xQV
-rNF
+pax
+tCC
aqU
qjF
oqv
iqd
rUy
cnS
-klr
-mxg
-pSN
-mRU
-mRU
-jtU
-oNM
-mRU
-tih
-ycM
-jtU
-vpf
-mRU
+sfz
+qdJ
+qTS
+nIN
+nIN
+xzh
+oIY
+nIN
+aGm
+qoM
+xzh
+gNo
+nIN
aDS
aPT
hGV
-mRU
-qSw
-qSw
-qSw
-qSw
-mRU
+nIN
+rgL
+rgL
+rgL
+rgL
+nIN
jtU
vpf
woU
@@ -121438,65 +121849,65 @@ aag
vHn
tob
hUb
-cGd
-cGd
-cGd
-cGd
-cGd
-cGd
+njn
+njn
+njn
+njn
+njn
+njn
laM
kbv
nkH
-cGd
-eJZ
-rRb
-cXd
-xew
+njn
+bVR
+gJg
+sPa
+mSo
ael
afL
ahe
aij
ael
-acQ
-lOn
-acQ
+xIj
+yiu
+xIj
mOi
-kbH
-kbH
-pgH
-jDV
+mAs
+mAs
+flR
+uMO
tFe
xVc
xQV
-eYz
+vpH
aqU
gjB
wDy
aGN
dxv
cnS
-riK
-mxg
-kGS
-rXF
-vpf
-vpf
-aBQ
-mRU
-mRU
-mRU
-gBs
-mRU
-mRU
+cDP
+qdJ
+muW
+aZv
+gNo
+gNo
+pga
+nIN
+nIN
+nIN
+rBD
+nIN
+nIN
oIa
aPT
bqY
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
+nIN
+nIN
+nIN
+nIN
+nIN
+nIN
vpf
vpf
woU
@@ -121641,65 +122052,65 @@ aag
vHn
tJq
bLf
-cGd
-vVY
-vVY
-vVY
-tvS
-cGd
+njn
+rWz
+rWz
+rWz
+jXN
+njn
hZE
kbv
mbx
-cGd
-cva
-cGd
-cGd
-cGd
+njn
+daI
+njn
+njn
+njn
adO
adO
adO
adO
adO
-frI
-lOn
-oNa
+iWB
+yiu
+syO
mOi
mOi
mOi
mOi
mOi
mOi
-asF
-asG
-iyH
+mAe
+mAe
+mAe
aqU
jVE
nTs
pje
pje
cnT
-meS
-gUk
-naj
-mRU
-mRU
-mRU
-mRU
-mRU
-jwM
-oZn
-jtU
-lPW
-mRU
+trx
+gnK
+aNE
+nIN
+nIN
+nIN
+nIN
+nIN
+uig
+hPL
+xzh
+dMj
+nIN
aDS
aPT
hGV
-mRU
-qSw
-qSw
-qSw
-vMQ
-mRU
+nIN
+rgL
+rgL
+rgL
+laD
+nIN
wUJ
vpf
woU
@@ -121748,9 +122159,9 @@ hfa
jwK
wnY
cLC
-eGh
+lyh
rtA
-uKv
+esn
nFK
lEO
xWd
@@ -121794,7 +122205,7 @@ lzq
nyQ
nhx
eiq
-teu
+oEA
wXH
xBQ
mSU
@@ -121844,65 +122255,65 @@ aag
vHn
hoT
rGz
-cGd
-vVY
-vVY
-vVY
-vVY
-cGd
+njn
+rWz
+rWz
+rWz
+rWz
+njn
hHe
gxn
gKd
-cGd
-hoT
-hoT
-svV
-rIE
+njn
+jsA
+jsA
+wET
+gxk
adO
afM
fpR
ahf
adO
-dni
-jao
-acQ
+oDm
+poD
+xIj
+mOi
+mzP
+mzP
+nkK
+tqu
aqU
-sdl
-mLE
-bUx
-mLE
-tmK
-qQS
-aug
-avL
+gpW
+ofY
+eQj
aqU
lyE
rsO
aGN
rbB
cnS
-dKD
-mxg
-jvz
+xXd
+qdJ
+iCg
aUH
aXx
jKI
aXx
-mRU
-tih
-vpf
-jtU
-vpf
-mRU
+nIN
+aGm
+gNo
+xzh
+gNo
+nIN
lCL
pMA
gcm
-mRU
-qSw
-qSw
-qSw
-qSw
-mRU
+nIN
+rgL
+rgL
+rgL
+rgL
+nIN
uNz
jtU
woU
@@ -122047,65 +122458,65 @@ aag
vHn
tob
alh
-cGd
-vVY
-vVY
-vVY
-vVY
+njn
+rWz
+rWz
+rWz
+rWz
bWh
hmj
kbv
fZo
-cGd
-ykY
-hoT
-hoT
-tjz
+njn
+iSd
+jsA
+jsA
+qbP
adO
afN
ahh
aiw
ahG
-kGS
-mxg
-acQ
-aqU
-xbN
-gfE
-gfE
-kpc
-aqU
-gjw
-cnp
-avM
+muW
+qdJ
+xIj
+mOi
+mzP
+mzP
+cJv
+xQV
+mCx
+qQS
+tIu
+uPI
aqU
wmK
liJ
pTj
cnq
cnS
-klr
-jao
-acQ
+sfz
+poD
+xIj
aUH
oyE
mMP
mMP
-mRU
-jtU
-vpf
-jtU
-vpf
-mRU
+nIN
+xzh
+gNo
+xzh
+gNo
+nIN
mzs
aPT
xyB
cix
-qSw
-qSw
-qSw
-qSw
-mRU
+rgL
+rgL
+rgL
+rgL
+nIN
bWg
jtU
woU
@@ -122250,65 +122661,65 @@ aag
vHn
btV
hoT
-cGd
-vVY
-vVY
-vVY
-vVY
-cGd
+njn
+rWz
+rWz
+rWz
+rWz
+njn
mAF
ilq
pjj
-cGd
-boU
-nNI
-hoT
-veO
+njn
+xqh
+svq
+jsA
+xGI
adO
afO
ahh
aiw
adO
-mQF
-yaR
-mQF
-lmK
-lmK
-lmK
-lmK
-lmK
-ntj
-ntj
-ntj
-ntj
-ntj
+xIj
+qdJ
+xIj
+ryn
+ryn
+ryn
+ryn
+ryn
+mOi
+xdA
+qQS
+uUB
+aqU
aHq
cnH
kzk
cnR
aHq
-mQF
-yaR
-mQF
+xIj
+qdJ
+xIj
aUH
sIA
gSj
aXA
-mRU
-jtU
-vpf
-jtU
-bBc
-mRU
+nIN
+xzh
+gNo
+xzh
+lbO
+nIN
gfN
efj
sxE
-mRU
-qSw
-qSw
-qSw
-qSw
-mRU
+nIN
+rgL
+rgL
+rgL
+rgL
+nIN
kUL
tMU
woU
@@ -122401,7 +122812,7 @@ bNE
wDJ
ivs
nyQ
-dXH
+vqI
vWB
bSK
nyQ
@@ -122453,65 +122864,65 @@ aag
vHn
tob
tob
-cGd
-vVY
-vVY
-vVY
-vVY
-cGd
+njn
+rWz
+rWz
+rWz
+rWz
+njn
xXT
sVV
tkR
-cGd
-ipr
-pUL
-tob
-eQd
+njn
+ugo
+uTl
+cGR
+wnb
adO
jkj
ahh
aiw
adO
-ebV
-mbu
-kCo
+eMr
+lGh
+xIj
ioU
pvK
qPE
xqD
-nYf
-rEL
-dnm
-rEL
-rxO
-aHq
+ioU
+ntj
+ntj
+ntj
+ntj
+ntj
cnE
liJ
hgB
cbn
aHq
-ebV
-qGP
-pym
+eMr
+gqz
+shC
aUd
ckK
iKM
aHM
-mRU
-jtU
-vpf
-lPW
-vwJ
-mRU
+nIN
+xzh
+gNo
+dMj
+vNo
+nIN
nme
sfT
vAH
-mRU
-qSw
-qSw
-qSw
-qSw
-mRU
+nIN
+rgL
+rgL
+rgL
+rgL
+nIN
edG
vpf
woU
@@ -122656,65 +123067,65 @@ aag
vHn
hoT
hoT
-cGd
-cGd
-cGd
-cGd
-cGd
-cGd
+njn
+njn
+njn
+njn
+njn
+njn
ehL
kyr
chb
-cGd
-cGd
-cGd
-moK
-cGd
-cGd
+njn
+njn
+njn
+eDe
+njn
+njn
lFt
ahh
aiw
adO
-qHu
-hqx
-kCo
+ogT
+yiu
+xIj
ioU
qyZ
wTd
cmK
-lFm
-kXu
-kXu
-kXu
-kXu
+cyP
+kSi
+mmn
+kSi
+qyA
kXu
jHC
liJ
qmP
uoH
aHq
-kCo
-mbu
-kCo
+xIj
+lGh
+xIj
aUH
dbv
lII
aWc
-mRU
-gBs
-mRU
-mRU
-mRU
-mRU
+nIN
+rBD
+nIN
+nIN
+nIN
+nIN
tCx
ncG
tZg
-mRU
-mRU
-mRU
-mRU
-mRU
-mRU
+nIN
+nIN
+nIN
+nIN
+nIN
+nIN
jtU
jtU
woU
@@ -122868,19 +123279,19 @@ rpG
cSa
aeA
sjz
-rpG
-hqm
-tob
-tob
-hoT
-fkK
+hbl
+qYz
+cGR
+cGR
+jsA
+cdZ
aiw
ahh
aiw
nph
-kCo
-tSY
-kCo
+xIj
+poD
+xIj
ioU
mSz
nIG
@@ -122896,19 +123307,19 @@ iKf
aGN
qrv
aHq
-hBa
-gft
-kCo
+vcG
+qdJ
+xIj
aGz
ckd
mQC
aHM
-rXF
-jtU
-jtU
-egQ
-ycM
-rXF
+aZv
+xzh
+xzh
+kya
+qoM
+aZv
wcm
lJY
guo
@@ -123071,19 +123482,19 @@ cGd
wYa
nBK
mzS
-cGd
-cGd
-cGd
-cGd
-tob
-cGd
+njn
+njn
+njn
+njn
+cGR
+njn
afP
ahh
aiw
nph
-kCo
-hqx
-kCo
+xIj
+yiu
+xIj
ioU
ioU
ioU
@@ -123099,19 +123510,19 @@ aGN
aGN
pSU
aHq
-qcL
-gft
-kCo
+upW
+qdJ
+xIj
aGz
drk
mQC
mkG
-mRU
-vpI
-mRU
-mRU
-mRU
-mRU
+nIN
+qHT
+nIN
+nIN
+nIN
+nIN
nuM
uHr
xwX
@@ -123191,9 +123602,9 @@ bdl
bdl
bGo
bGo
-bPB
+qjY
pCr
-bRR
+jpD
cpK
cpK
bdl
@@ -123277,16 +123688,16 @@ aeA
bbe
aeA
aeA
-cGd
-tob
-cGd
+njn
+cGR
+njn
afQ
aiw
aiw
nph
-kCo
-hqx
-kCo
+xIj
+yiu
+xIj
ioU
lPO
vJg
@@ -123302,16 +123713,16 @@ eEo
aGN
rub
aHq
-gar
-gft
-kCo
+sgH
+qdJ
+xIj
aGz
eqB
obC
hcf
-mRU
-cpQ
-mRU
+nIN
+nhN
+nIN
lJY
lJY
lFK
@@ -123480,16 +123891,16 @@ asA
amF
kmE
aeA
-cGd
-iTQ
-cGd
+njn
+xzx
+njn
ahJ
ahJ
ahJ
adO
-kCo
-tSY
-kCo
+xIj
+poD
+xIj
ioU
dnS
viN
@@ -123505,16 +123916,16 @@ aRi
aGN
qrv
aHq
-oUO
-gft
-kCo
+fsh
+qdJ
+xIj
aUH
aGz
aGz
aGz
-mRU
-vzB
-mRU
+nIN
+lZJ
+nIN
lJY
qbx
dcp
@@ -123683,16 +124094,16 @@ aeC
vOh
gUX
ily
-cGd
-moK
-cGd
-fiH
-fiH
-fiH
-ybk
-kCo
-tSY
-kCo
+njn
+eDe
+njn
+aeC
+aeC
+aeC
+mdm
+xIj
+poD
+xIj
ioU
pPM
qKz
@@ -123708,16 +124119,16 @@ xNv
iLO
bUa
aHq
-qHu
-mbu
-kCo
-ybk
-fiH
-fiH
-fiH
-mRU
-gBs
-mRU
+ogT
+lGh
+xIj
+mdm
+vcE
+vcE
+vcE
+nIN
+rBD
+nIN
cBb
xVS
lJY
@@ -123886,16 +124297,16 @@ aeC
aeC
ajs
aeC
-bZq
-fiH
-rGc
-xjI
-xjI
-fzm
-pBg
-gmZ
-dpN
-txd
+mzS
+aeC
+oZI
+fjo
+fjo
+opu
+hlj
+iso
+dPB
+mrO
alL
alL
alL
@@ -123911,16 +124322,16 @@ jvY
alL
alL
alL
-gmZ
-onh
-wJd
-pBg
-iOP
-xjI
-xjI
-roY
-vXk
-jgS
+iso
+ceV
+nsH
+hlj
+nvz
+ner
+ner
+vdR
+uHr
+nuM
vcE
kUV
vcE
@@ -124082,23 +124493,23 @@ aeC
wXh
ayn
atr
-aeA
+lMy
aex
ciw
wXh
aeC
ydz
ayb
-rrG
-gBZ
-tGW
-rfQ
-rfQ
-tGW
-oOi
-szb
-rfQ
-vnZ
+jxq
+fbV
+msS
+asA
+asA
+msS
+nZf
+rho
+lDH
+emL
jvY
jvY
jvY
@@ -124114,23 +124525,23 @@ jvY
jvY
jvY
jvY
-urs
-eEF
-wmH
-oOi
-rrG
-rfQ
-rfQ
-rrG
-sBK
-tGW
+gqI
+iCT
+qnH
+nZf
+ohi
+yeH
+yeH
+ohi
+oJK
+qnX
sSl
kkx
vcE
kpo
iMx
tGi
-lJY
+cea
bXe
eyG
kpo
@@ -124285,23 +124696,23 @@ aeA
asY
ayQ
atr
-bbX
+iDK
atr
ciD
ngl
aeA
ajk
aeA
-iOP
-fiH
-dwJ
-vXk
-vXk
-jgS
-pBg
-vkQ
-brm
-aOw
+fXO
+aeC
+pdo
+nBK
+nBK
+wYa
+hlj
+giW
+mGL
+qXh
jvY
arg
atf
@@ -124317,23 +124728,23 @@ jvY
aMm
aOq
jvY
-biB
-uvq
-cVT
-pBg
-bZq
-vXk
-vXk
-siS
-aRr
-fzm
+bgM
+puP
+tfF
+hlj
+xwX
+uHr
+uHr
+ehm
+nXG
+qYd
lJY
xVS
lJY
ttS
wEO
faO
-haM
+cOd
bXe
deg
wLu
@@ -124405,7 +124816,7 @@ mCo
iwZ
jFy
bKA
-mPK
+oNW
dmF
pXV
bNP
@@ -124488,23 +124899,23 @@ aeA
atp
ayR
atr
-eGb
+iDK
atr
cji
nqV
aeA
ajk
ily
-taw
-mRI
-taw
-qnf
-fiH
-wPm
-ybk
-mQF
-mQF
-nbW
+cMx
+fVk
+cMx
+rjX
+aeC
+beN
+mdm
+lLt
+xIj
+oXP
jvY
arh
atm
@@ -124520,23 +124931,23 @@ jvY
nSG
aOs
jvY
-mQF
-pZq
-mQF
-ybk
-dJF
-fiH
-dAr
-kNq
-cWo
-kNq
+lLt
+poD
+vCv
+mdm
+rmo
+vcE
+uul
+yat
+qLk
+yat
cBb
xVS
lJY
hlX
umh
bXe
-lxT
+cOd
tGi
pfH
wlF
@@ -124691,23 +125102,23 @@ aeC
wXh
ayn
atr
-aeA
+rmG
bXz
ciw
wXh
aeC
ajs
qon
-taw
-obJ
+cMx
+gqx
aep
ggQ
ggQ
aME
aep
-ivV
-jnx
-iPK
+lLt
+kXD
+eol
jvY
ari
aoP
@@ -124723,23 +125134,23 @@ axo
atm
aOr
jvY
-ivV
-otE
-ivV
+lLt
+poD
+vCv
aep
aME
ggQ
aME
aep
-hog
-kNq
+dcX
+yat
dHe
kUV
vcE
kpo
iMx
bXe
-lJY
+sZY
mzF
eyG
kpo
@@ -124901,16 +125312,16 @@ aeC
aeC
ajs
aeC
-taw
-oxy
+cMx
+qbw
aep
afj
afk
agM
aep
-pEd
-tbD
-fDk
+lLt
+jrc
+wdE
jvY
arj
atm
@@ -124926,16 +125337,16 @@ bzD
atm
aOs
jvY
-pEd
-hqx
-xhi
+lLt
+yiu
+vCv
aep
aHS
afk
sHo
aep
-vmu
-kNq
+cnm
+yat
vcE
kUV
vcE
@@ -125104,16 +125515,16 @@ aeC
aeA
ajk
aeA
-taw
-oxy
+cMx
+qbw
aep
afk
afk
afk
aep
-pEd
-tbD
-fDk
+lLt
+jrc
+wdE
jvY
ark
atm
@@ -125129,16 +125540,16 @@ axo
atm
thv
jvY
-pEd
-hqx
-xhi
+lLt
+yiu
+vCv
aep
afk
aHl
afk
aep
-hLt
-kNq
+rZZ
+yat
lJY
itR
kKR
@@ -125307,16 +125718,16 @@ asA
amF
ohL
aeA
-taw
-oQL
+cMx
+oVo
aep
aep
aep
aep
aep
-pvE
-tbD
-fDk
+umI
+ddO
+sRC
jvY
alL
atk
@@ -125332,16 +125743,16 @@ jvY
aAy
alL
jvY
-pEd
-hqx
-xhi
+umI
+juj
+umI
aep
aep
aep
aep
aep
-ddF
-kNq
+lla
+yat
lJY
ucw
dcp
@@ -125510,16 +125921,16 @@ ntI
aeA
aeC
puO
-taw
-oxy
-eRG
+cMx
+qbw
+xnh
aep
aep
aep
aep
-pEd
-tbD
-fDk
+sHI
+cNC
+cla
jvY
arl
atm
@@ -125535,16 +125946,16 @@ alL
aMo
aOt
jvY
-pEd
-hqx
-jhm
+sHI
+lOn
+wCe
oIB
jgr
-qUG
+cXz
rtc
oIB
-vmu
-kNq
+cnm
+yat
lJY
uxC
lJY
@@ -125707,22 +126118,22 @@ atr
aeC
atr
aeC
-taw
-taw
-taw
-taw
+cMx
+cMx
+cMx
+cMx
mRI
-taw
-taw
-oxy
-hja
-taw
-taw
-taw
-taw
-pEd
-tbD
-fDk
+cMx
+cMx
+qbw
+rYU
+cMx
+cMx
+cMx
+cMx
+sHI
+cNC
+cla
jvY
abF
atm
@@ -125738,17 +126149,17 @@ aIT
atm
aVF
jvY
-pEd
-wZp
-amc
+sHI
+aPC
+pKH
oIB
fXE
kaS
aiQ
oIB
-vmu
-kNq
-kNq
+cnm
+yat
+yat
kNq
kNq
qDB
@@ -125910,22 +126321,22 @@ atr
aeC
atr
aeC
-taw
-hEj
-cvi
-taw
+cMx
+jrC
+jYa
+cMx
wFX
-taw
-ncV
-oxy
-oQL
-taw
-oQL
-oQL
-taw
-pqv
-gqf
-fDk
+cMx
+kqa
+qbw
+oVo
+cMx
+oVo
+oVo
+cMx
+nSw
+pqY
+cla
jvY
jvY
jvY
@@ -125941,17 +126352,17 @@ jvY
jvY
jvY
jvY
-xeq
-hqx
-xhi
+sjG
+lOn
+qhT
oIB
wqr
bZw
xUV
oIB
-vmu
-vDR
-kNq
+cnm
+cjm
+yat
toD
wDq
aPO
@@ -126113,22 +126524,22 @@ atu
azU
aeC
ldl
-taw
-oxy
-stA
-taw
+cMx
+qbw
+iAI
+cMx
tvA
-taw
-oTc
-nwT
-ocI
-mfH
-nwT
-nwT
-mfH
-pym
-gqf
-fDk
+cMx
+iml
+fIK
+kZc
+wuS
+fIK
+fIK
+wuS
+tzF
+pqY
+cla
alL
urM
dBG
@@ -126144,17 +126555,17 @@ jvY
wjv
fDG
alL
-pEd
-wZp
-pym
+sHI
+aPC
+tzF
qgK
tEB
uBM
dXo
oIB
-xPu
-uOE
-kNq
+fME
+kon
+yat
swG
jei
aPO
@@ -126316,22 +126727,22 @@ taw
taw
mRI
taw
-taw
-wpT
-stA
-taw
+cMx
+vPT
+iAI
+cMx
wTn
-taw
-nQw
-oxy
-wjP
-taw
-oQL
-oQL
-taw
-gbR
-tbD
-chC
+cMx
+cLd
+qbw
+pTI
+cMx
+oVo
+oVo
+cMx
+nWf
+cNC
+igC
aqe
amw
anO
@@ -126347,17 +126758,17 @@ arq
anO
qaV
kwd
-urs
-hqx
-tFQ
+acQ
+lOn
+qhT
oIB
wKF
hzb
ltU
oIB
-aPO
-eDk
-kNq
+wSB
+gAO
+yat
bCR
jei
aPO
@@ -126519,22 +126930,22 @@ qlu
taw
wTn
kCu
-taw
-uPN
-stA
-taw
+cMx
+sdd
+iAI
+cMx
wFX
-taw
-lsh
-oxy
-hja
-taw
-oQL
-hja
-taw
-bwN
-gxR
-lCc
+cMx
+nDH
+qbw
+rYU
+cMx
+oVo
+rYU
+cMx
+nXV
+wHr
+vGi
aqg
arr
atn
@@ -126550,17 +126961,17 @@ atn
atn
aOB
aRj
-dZR
-kWc
-cwL
+rUN
+hft
+swn
oIB
phj
vEf
cNK
oIB
-aPO
-jei
-oYr
+xiW
+mCg
+ryJ
aPO
aPO
aPO
@@ -126722,22 +127133,22 @@ rWb
taw
oAK
kCu
-taw
-mRI
-taw
-taw
+cMx
+fVk
+cMx
+cMx
tvA
-taw
-oQL
-oxy
-oQL
-taw
-cap
-fiN
-taw
-vkQ
-kzR
-mXP
+cMx
+oVo
+qbw
+oVo
+cMx
+iVz
+rAS
+cMx
+sHI
+tof
+jao
kwd
amA
atq
@@ -126753,17 +127164,17 @@ atq
atq
aoT
kwd
-vkQ
-kzR
-oig
+acQ
+tof
+wCe
oIB
cHC
dha
pxj
oIB
-aPO
-oUx
-kNq
+wSB
+hYj
+yat
fPF
jei
nNT
@@ -126930,17 +127341,17 @@ oQL
gqt
oxy
oxy
-kiR
-oxy
-oxy
-oQL
-taw
-taw
-taw
-taw
-mQF
-rnO
-ogd
+vTE
+qbw
+qbw
+oVo
+cMx
+cMx
+cMx
+cMx
+sHI
+tof
+eLV
alO
ars
amx
@@ -126956,9 +127367,9 @@ amx
amx
aOC
alO
-mQF
-rnO
-mQF
+sHI
+tof
+qhT
loP
loP
loP
@@ -127042,7 +127453,7 @@ dJG
sZe
bdl
ntd
-hgO
+jCm
eqb
mLR
hdE
@@ -127126,24 +127537,24 @@ fTl
wIu
wXJ
taw
-oxy
+oNK
kMa
qIa
iSB
oxy
oQL
hdy
-taw
-oQL
-oxy
-oQL
-taw
-liF
-wPR
-taw
-cui
-fQU
-onh
+cMx
+oVo
+qbw
+oVo
+cMx
+oaP
+jhQ
+cMx
+kYb
+tof
+eLV
inw
amA
amx
@@ -127159,9 +127570,9 @@ atq
amx
aoT
inw
-ivV
-fQU
-hPr
+sHI
+tof
+nii
loP
iwB
tOC
@@ -127336,17 +127747,17 @@ iKV
oxy
oQL
oFr
-taw
-mUL
-oxy
-oQL
-taw
-oQL
-oQL
-taw
-pEd
-gBg
-bLg
+cMx
+xnX
+qbw
+oVo
+cMx
+oVo
+oVo
+cMx
+sHI
+tof
+ycA
aqj
arw
anP
@@ -127362,9 +127773,9 @@ atq
atq
wwJ
inw
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
loP
joG
sDu
@@ -127539,17 +127950,17 @@ qAG
oxy
kMa
gQu
-taw
-lsh
-oxy
-wjP
-taw
-oQL
-oQL
-taw
-rhX
-gBg
-fDk
+cMx
+nDH
+qbw
+pTI
+cMx
+oVo
+oVo
+cMx
+nWf
+tof
+cla
inw
qHM
emn
@@ -127565,9 +127976,9 @@ amx
amx
aBs
inw
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
loP
kxo
wSn
@@ -127742,17 +128153,17 @@ ydf
oxy
wOv
ixu
-taw
-wXJ
-oxy
-oxy
-kiR
-oxy
-oxy
-kiR
-fiH
-gBg
-xsX
+cMx
+tNY
+qbw
+qbw
+vTE
+qbw
+qbw
+vTE
+kGS
+tof
+dFB
alO
alO
alO
@@ -127768,9 +128179,9 @@ atq
atq
aBs
alO
-pEd
-gBg
-fiH
+sHI
+tof
+kGS
fTF
xBY
xBY
@@ -127945,17 +128356,17 @@ cnP
oxy
wOv
qlu
-taw
-qlu
-oxy
-oQL
-taw
-oQL
-oQL
-lnD
-pEd
-gBg
-iea
+cMx
+qbU
+qbw
+oVo
+cMx
+oVo
+oVo
+btb
+sHI
+tof
+sJN
alO
gKZ
vTv
@@ -127971,9 +128382,9 @@ atq
atq
aBs
alO
-pvE
-tbD
-xhi
+uSk
+cNC
+qhT
gdS
wSn
kXN
@@ -128148,17 +128559,17 @@ lUQ
oxy
tBU
iDs
-taw
-qlu
-oxy
-hja
-taw
-kLZ
-tty
-lnD
-pEd
-gBg
-iea
+cMx
+qbU
+qbw
+rYU
+cMx
+pVh
+mSl
+btb
+sHI
+tof
+sJN
alO
arz
atq
@@ -128174,15 +128585,15 @@ auB
atc
aOF
alO
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
gdS
lBg
dXd
loP
loP
-eMh
+xeU
loP
loP
kNq
@@ -128346,22 +128757,22 @@ mOE
gUG
oxy
oQL
-taw
-taw
-mRI
-taw
-taw
-taw
-ixu
-oxy
-oQL
-taw
-taw
-taw
-taw
-pEd
-gBg
-iea
+cMx
+cMx
+fVk
+cMx
+cMx
+cMx
+uyQ
+qbw
+oVo
+cMx
+cMx
+cMx
+cMx
+sHI
+tof
+sJN
alO
arz
atq
@@ -128377,9 +128788,9 @@ aIU
aMq
aOG
alO
-pEd
-gBg
-xhi
+sHI
+tof
+qhT
loP
loP
loP
@@ -128389,10 +128800,10 @@ vyI
lPB
oHl
jWh
-kNq
-qDB
-kNq
-kNq
+yat
+rXq
+yat
+yat
kNq
kNq
kNq
@@ -128549,22 +128960,22 @@ oxy
bCv
oxy
oQL
-taw
-gCQ
-rEs
-tvr
-taw
-lsh
-oQL
-oxy
-oQL
-aYU
-uxs
-iDs
-taw
-pEd
-gBg
-iea
+cMx
+aOS
+gNI
+eTm
+cMx
+nDH
+oVo
+qbw
+oVo
+oDa
+yfn
+nkc
+cMx
+sHI
+tof
+sJN
alO
arz
atq
@@ -128580,9 +128991,9 @@ xBe
xBe
xBe
xBe
-pEd
-gBg
-xhi
+sHI
+tof
+qhT
jWh
eFK
wGd
@@ -128592,10 +129003,10 @@ hSk
hSk
uIv
jWh
-jZj
-sRP
-oko
-kNq
+dnh
+bct
+iDa
+yat
tiY
qAK
xGK
@@ -128752,23 +129163,23 @@ oQL
qmq
oQL
nXo
-taw
-gCQ
-bNc
-tCC
-taw
-ftG
-oQL
-oxy
-oQL
-oQL
-oQL
-keE
-taw
-pvE
-gBg
-iea
-xnR
+cMx
+aOS
+guP
+mHT
+cMx
+kpL
+oVo
+qbw
+oVo
+oVo
+oVo
+iIU
+cMx
+uSk
+tof
+sJN
+xHt
arm
ats
auO
@@ -128783,9 +129194,9 @@ aIV
qqr
arH
xBe
-pEd
-gBg
-xhi
+sHI
+tof
+qhT
vXd
duF
hSk
@@ -128795,10 +129206,10 @@ hSk
hSk
uIv
jWh
-eHz
-aPO
-tMT
-kNq
+tFJ
+wSB
+uBG
+yat
jei
ltm
oAT
@@ -128951,26 +129362,26 @@ aag
aag
fTl
oxy
-taw
-taw
-xcs
-taw
-taw
-utC
-oxy
-ikC
-vRJ
-gNQ
-laP
-gNQ
-gNQ
-gNQ
-gNQ
-gNQ
-xDG
-tJH
-qpH
-iSu
+cMx
+cMx
+orx
+cMx
+cMx
+dtu
+qbw
+txf
+ncx
+whO
+pJS
+whO
+whO
+whO
+whO
+whO
+bYL
+dlT
+qHD
+qSp
alO
arA
att
@@ -128986,9 +129397,9 @@ azo
aJg
abR
xBe
-pEd
-gBg
-jhm
+sHI
+tof
+wCe
jWh
oih
khE
@@ -128998,10 +129409,10 @@ vyI
kpQ
vSE
jWh
-nwA
-xZz
-kRN
-kNq
+dhA
+iWn
+mnB
+yat
jei
ltm
ejj
@@ -129154,26 +129565,26 @@ aag
aag
fTl
oxy
-taw
-tZM
-qEZ
-frV
-taw
-gCQ
-uqJ
-vbu
-taw
-taw
-taw
-mRI
-taw
-taw
-taw
-taw
-taw
-rhX
-gBg
-xhi
+cMx
+cMH
+qvF
+lat
+cMx
+aOS
+tlM
+dan
+cMx
+cMx
+cMx
+fVk
+cMx
+cMx
+cMx
+cMx
+cMx
+nWf
+tof
+qhT
wDM
wDM
wDM
@@ -129189,9 +129600,9 @@ atv
auV
amE
xBe
-pEd
-gBg
-xhi
+sHI
+tof
+qhT
jWh
jWh
uUz
@@ -129201,10 +129612,10 @@ qbZ
jWh
jWh
jWh
-fQl
-aPO
-nGZ
-kNq
+tFO
+wSB
+flD
+yat
xQe
jei
lVR
@@ -129357,15 +129768,15 @@ aag
aag
fTl
lmq
-taw
-mDz
-pIf
-uwf
-taw
-gCQ
-rEs
-bhZ
-taw
+cMx
+rBY
+pTY
+ueY
+cMx
+aOS
+gNI
+aPg
+cMx
uiG
rTZ
tfb
@@ -129374,9 +129785,9 @@ tfb
tfb
tfb
ptK
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
wDM
aOM
aoW
@@ -129392,9 +129803,9 @@ atv
auV
amE
xBe
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
jWh
xXa
xXa
@@ -129404,10 +129815,10 @@ cKL
jbH
rJh
jWh
-rJY
-dPl
-qQG
-kNq
+pld
+vhb
+tie
+yat
cfm
jei
oSR
@@ -129560,15 +129971,15 @@ aag
aag
fTl
oxy
-taw
-taw
-taw
-taw
-taw
-taw
-mRI
-taw
-taw
+cMx
+cMx
+cMx
+cMx
+cMx
+cMx
+fVk
+cMx
+cMx
bNM
wkX
jhx
@@ -129577,9 +129988,9 @@ jhx
jhx
dnH
gpc
-fiH
-tbD
-xhi
+tzF
+pqY
+qhT
wDM
uto
aoX
@@ -129595,9 +130006,9 @@ nNY
qKi
abR
xBe
-pvE
-gxR
-pym
+uSk
+wHr
+tzF
dEt
soP
pDr
@@ -129607,10 +130018,10 @@ soP
eoG
uIv
jWh
-kNq
-qDB
-kNq
-kNq
+yat
+rXq
+yat
+yat
kNq
fJp
ekz
@@ -129780,9 +130191,9 @@ nwU
owg
owg
ptK
-nhT
-gqf
-xhi
+sHI
+cNC
+qhT
wDM
aOQ
fxI
@@ -129798,9 +130209,9 @@ azp
qJf
anV
xBe
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
jWh
iqH
khE
@@ -129983,9 +130394,9 @@ eNi
eNi
eNi
eNi
-pEd
-gBg
-jhm
+sHI
+tof
+wCe
wDM
aOH
aJf
@@ -130001,9 +130412,9 @@ xBe
xBe
xBe
xBe
-pEd
-tbD
-rXV
+sHI
+cNC
+xmP
jWh
jWh
jlQ
@@ -130186,9 +130597,9 @@ olO
wiG
nWN
eNi
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
wDM
wDM
wDM
@@ -130204,9 +130615,9 @@ aJh
arq
ufx
alR
-pEd
-tbD
-jhm
+sHI
+cNC
+wCe
jWh
hSk
hSk
@@ -130389,9 +130800,9 @@ ueG
rPt
jyE
eNi
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
hwC
rcS
amx
@@ -130407,9 +130818,9 @@ aJi
azs
atq
alR
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
jlQ
tst
uUe
@@ -130592,9 +131003,9 @@ iKD
rPt
rPt
eNi
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
alR
amA
atq
@@ -130610,9 +131021,9 @@ aJj
aMD
atq
alR
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
jlQ
tZZ
gLz
@@ -130795,9 +131206,9 @@ eNi
eNi
gIh
eNi
-iIQ
-gBg
-xhi
+hGb
+tof
+qhT
alR
amA
atq
@@ -130813,9 +131224,9 @@ amA
ayl
amx
alR
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
jWh
jmQ
vcu
@@ -130998,9 +131409,9 @@ aWb
dyK
vzK
wYY
-pEd
-gBg
-xhi
+sHI
+tof
+qhT
alR
amA
atq
@@ -131016,9 +131427,9 @@ aJl
amx
atq
alR
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
jlQ
snE
sGL
@@ -131201,9 +131612,9 @@ tii
eJX
sAC
wYY
-pEd
-gBg
-xhi
+sHI
+tof
+qhT
alR
amA
amx
@@ -131219,9 +131630,9 @@ aJk
amx
atq
alR
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
jlQ
tZZ
cBj
@@ -131404,9 +131815,9 @@ sjj
fzP
sAC
wYY
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
alR
amA
atq
@@ -131422,9 +131833,9 @@ xEO
xEO
lnP
alR
-pEd
-tbD
-jhm
+sHI
+cNC
+wCe
jWh
qLs
qLs
@@ -131607,9 +132018,9 @@ fcM
uzE
qsL
nim
-prV
-gqf
-xhi
+noe
+pqY
+qhT
alR
amA
atq
@@ -131625,9 +132036,9 @@ iWR
iWR
kbx
alR
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
jWh
jWh
jlQ
@@ -131810,9 +132221,9 @@ xlC
gyO
kTN
eNi
-pvE
-tbD
-xhi
+uSk
+cNC
+qhT
alR
amA
atq
@@ -131828,9 +132239,9 @@ xEO
xEO
aOV
alR
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
jWh
wFQ
bop
@@ -132013,9 +132424,9 @@ oNb
iFC
qAA
eNi
-pEd
-gBg
-xhi
+sHI
+tof
+qhT
alR
arK
atc
@@ -132031,9 +132442,9 @@ aJq
aMG
aOW
alR
-pEd
-tbD
-xhi
+sHI
+cNC
+qhT
jWh
bXy
bop
@@ -132128,12 +132539,12 @@ oJk
lNR
lNR
oJk
-mXy
+cNm
oGh
far
vDo
nnr
-cNm
+rKt
ljv
ljv
sUi
@@ -132216,9 +132627,9 @@ eNi
eNi
eNi
eNi
-mQF
-rnO
-mQF
+sHI
+tof
+qhT
alO
alO
alO
@@ -132234,9 +132645,9 @@ alO
alO
alO
alO
-mQF
-rnO
-mQF
+sHI
+cNC
+qhT
jWh
wFQ
bop
@@ -132419,9 +132830,9 @@ dWX
owg
owg
ptK
-bZq
-hfc
-jgS
+knU
+oOZ
+hdP
aqq
aPa
eky
@@ -132437,9 +132848,9 @@ eky
eky
aPa
aqq
-bZq
-hfc
-lBf
+knU
+oOZ
+doX
jWh
xXa
xXa
@@ -132622,9 +133033,9 @@ keR
jhx
keR
dwI
-pym
-jae
-tGW
+tzF
+eIY
+vER
hal
uYg
nau
@@ -132640,9 +133051,9 @@ uYg
nau
uYg
hal
-rrG
-jae
-pym
+sVv
+eIY
+tzF
mPh
soP
tWi
@@ -132825,9 +133236,9 @@ kPG
kPG
cVw
ptK
-iOP
-xjI
-fzm
+eJg
+bkb
+pvi
aqq
eky
aNl
@@ -132843,9 +133254,9 @@ eky
aNl
eky
aqq
-iOP
-xSl
-fzm
+eJg
+lqL
+pvi
jWh
tim
uWV
@@ -132928,7 +133339,7 @@ lKM
sqg
nSq
oBr
-fcS
+sKf
gdJ
cjt
pRZ
@@ -133028,9 +133439,9 @@ ucp
cIW
ptK
ptK
-ybk
-sDe
-ybk
+xga
+kgV
+xga
aHe
jlT
exi
@@ -133904,21 +134315,21 @@ aaa
aKQ
aaa
aaa
-aab
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+aak
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
aaa
bdH
aaa
@@ -134107,21 +134518,21 @@ aaa
aKQ
aaa
aaa
-aab
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+aak
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
aaa
aaa
aaa
@@ -134310,21 +134721,21 @@ aaa
aKQ
aaa
aaa
-aab
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+aak
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
aaa
aaa
aaa
@@ -134452,10 +134863,10 @@ haO
iYm
fLl
fLl
-vjd
-aRp
-jBX
-akS
+wRk
+eky
+wZX
+vUh
aHe
oxU
bsy
@@ -134463,10 +134874,10 @@ oir
gzw
shh
aHe
-tKf
-jBX
-aRp
-quy
+svf
+wZX
+eky
+wuk
eZm
eZm
bjt
@@ -134513,21 +134924,21 @@ aaa
aKQ
aaa
aaa
-aab
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+aak
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
aaa
aaa
aaa
@@ -134553,7 +134964,7 @@ sqg
ppM
eTb
hbs
-vZU
+xJV
elx
jnI
oJk
@@ -134716,21 +135127,21 @@ aaa
aKQ
aaa
aaa
-aab
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+aak
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
aaa
aaa
aaa
@@ -134919,21 +135330,21 @@ aaa
aKQ
aaa
aaa
-aab
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+aak
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
aaa
aaa
aaa
@@ -135122,21 +135533,21 @@ aaa
aKQ
aaa
aaa
-aab
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
+aak
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
aaa
aaa
aaa
@@ -135325,10 +135736,10 @@ aaa
aKQ
aaa
aaa
-aab
-aaa
-aaa
-aaa
+aak
+bdH
+bdH
+bdH
bdH
bdH
bdH
@@ -135528,10 +135939,10 @@ aaa
aKQ
aaa
aaa
-aab
-aaa
-aaa
-aaa
+aak
+bdH
+bdH
+bdH
bdH
bdH
bdH
@@ -135731,10 +136142,10 @@ aaa
aKQ
aaa
aaa
-aab
-aaa
-aaa
-aaa
+aak
+bdH
+bdH
+bdH
bdH
bdH
bdH
@@ -135934,14 +136345,217 @@ aaa
aKQ
aaa
aaa
+aak
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+bdH
+aad
+aag
+aag
+nic
+aIh
+ppM
+hsy
+hsy
+wTB
+mlF
+uXk
+hmw
+gSa
+mtZ
+hmv
+fQn
+wSV
+ulp
+uXk
+tos
+slv
+hsy
+hsy
+ppM
+eUe
+nic
+aag
+aag
+ajZ
+aaa
+aaa
+aaa
+aaa
+aaa
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+aaa
+aaa
+aaa
+aaa
+aaa
aab
aaa
aaa
+"}
+(262,1,1) = {"
+aaa
+aaa
+aab
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
+aaa
aaa
bdH
bdH
bdH
bdH
+aad
+uMc
+nrO
+iEr
+fcP
+uMc
+ajZ
+xVk
+xVk
+xVk
+xVk
+xVk
+xVk
+xVk
+aad
+aPw
+aHe
+aHe
+aHe
+avu
+eky
+wZX
+eky
+aMU
+aHe
+aHe
+aHe
+aPw
+ajZ
+xVk
+xVk
+xVk
+xVk
+xVk
+xVk
+xVk
+aad
+pql
+thV
+fCL
+uIv
+pql
+ajZ
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+aaa
+aaa
+aaa
+aab
+aaa
+aaa
+aKQ
+aaa
+aaa
+aak
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
+bdH
bdH
bdH
bdH
@@ -135955,209 +136569,6 @@ bdH
bdH
bdH
bdH
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-bdH
-aad
-aag
-aag
-nic
-aIh
-ppM
-hsy
-hsy
-wTB
-mlF
-uXk
-hmw
-gSa
-mtZ
-hmv
-fQn
-wSV
-ulp
-uXk
-tos
-slv
-hsy
-hsy
-ppM
-eUe
-nic
-aag
-aag
-ajZ
-aaa
-aaa
-aaa
-aaa
-aaa
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-aaa
-aaa
-aaa
-aaa
-aaa
-aab
-aaa
-aaa
-"}
-(262,1,1) = {"
-aaa
-aaa
-aab
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-aaa
-bdH
-bdH
-bdH
-bdH
-aad
-uMc
-nrO
-iEr
-fcP
-uMc
-ajZ
-xVk
-xVk
-xVk
-xVk
-xVk
-xVk
-xVk
-aad
-aPw
-aHe
-aHe
-aHe
-avu
-eky
-wZX
-eky
-aMU
-aHe
-aHe
-aHe
-aPw
-ajZ
-xVk
-xVk
-xVk
-xVk
-xVk
-xVk
-xVk
-aad
-pql
-thV
-fCL
-uIv
-pql
-ajZ
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-aaa
-aaa
-aaa
-aab
-aaa
-aaa
-aKQ
-aaa
-aaa
-aab
-aaa
-aaa
-aaa
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
aaa
aaa
aaa
@@ -136340,10 +136751,10 @@ aaa
aKQ
aaa
aaa
-aab
-aaa
-aaa
-aaa
+aak
+bdH
+bdH
+bdH
bdH
bdH
bdH
@@ -136745,9 +137156,9 @@ aaa
aaa
aKQ
aaa
-aaa
-aab
-aaa
+bdH
+aak
+bdH
bdH
bdH
bdH
@@ -136948,9 +137359,9 @@ aaa
aaa
aKQ
aaa
-aaa
-aab
-aaa
+bdH
+aak
+bdH
bdH
bdH
bdH
@@ -137151,9 +137562,9 @@ aaa
aaa
aKQ
aaa
-aaa
-aab
-aaa
+bdH
+aak
+bdH
bdH
bdH
bdH
@@ -137354,9 +137765,9 @@ aaa
aaa
aKQ
aaa
-aaa
-aab
-aaa
+bdH
+aak
+bdH
bdH
bdH
bdH
@@ -137557,9 +137968,9 @@ aaa
aaa
aKQ
aaa
-aaa
-aab
-aaa
+bdH
+aak
+bdH
bdH
bdH
bdH
@@ -137760,9 +138171,9 @@ aaa
aaa
aKQ
aaa
-aaa
-aab
-aaa
+bdH
+aak
+bdH
bdH
bdH
bdH
@@ -137963,9 +138374,9 @@ aaa
aaa
aKQ
aaa
-aaa
-aab
-aaa
+bdH
+aak
+bdH
bdH
bdH
bdH
@@ -138165,10 +138576,10 @@ aab
aaa
aaa
aKQ
-aaa
-aaa
-aab
-aab
+bdH
+bdH
+aak
+aak
aak
aak
aak
@@ -138767,27 +139178,27 @@ bdH
bdH
bdH
bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-aKQ
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
+lmz
+lmz
+lmz
+lmz
+lmz
+lmz
+lmz
+lmz
+iBn
+iBn
+iBn
+iBn
+iBn
+iBn
+iBn
+iBn
+iBn
+iBn
+iBn
+iBn
+iBn
bdH
bdH
bdH
@@ -139166,7 +139577,7 @@ aaa
aab
aaa
aaa
-aaa
+bdH
bdH
bdH
bdH
@@ -139370,19 +139781,6 @@ aab
aaa
aaa
bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
lmz
lmz
lmz
@@ -139394,6 +139792,19 @@ lmz
lmz
lmz
lmz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
lmz
lmz
lmz
@@ -139585,17 +139996,17 @@ lmz
lmz
lmz
daz
-daz
-daz
-daz
-daz
-daz
-daz
-daz
-daz
-daz
-daz
-daz
+vhe
+qQS
+cqm
+gTH
+qit
+ebN
+qQS
+gwn
+pfT
+vCH
+dyp
daz
lmz
lmz
@@ -139784,21 +140195,21 @@ lmz
lmz
lmz
lmz
-lmz
-lmz
-lmz
+sbJ
+sbJ
+sbJ
daz
-vhe
-fEN
-cqm
-gTH
-qit
-ebN
-cxc
-gwn
-pfT
-jYR
-dyp
+rna
+clw
+qQS
+sKY
+qQS
+bIp
+fKe
+dDp
+dDp
+frM
+lcg
daz
lmz
lmz
@@ -139978,29 +140389,29 @@ aaa
aab
aaa
aaa
-bdH
-lmz
lmz
lmz
lmz
lmz
lmz
-lmz
-lmz
-sbJ
-sbJ
-sbJ
daz
-rna
-clw
-qQS
-sKY
-qQS
+daz
+daz
+daz
+daz
+tte
+hvw
+auf
+pmV
+eGr
+xDC
+dIn
+rby
bIp
-fKe
-dDp
-dDp
-frM
+euN
+sEK
+sEK
+mlb
lcg
daz
lmz
@@ -140185,26 +140596,26 @@ lmz
lmz
lmz
lmz
-lmz
daz
daz
+hRW
+asZ
+vXh
daz
daz
+kfU
daz
-tte
-hvw
-auf
-pmV
-xDC
-xDC
-dIn
-rby
-bIp
-euN
-sEK
-sEK
-mlb
-lcg
+ebN
+ebN
+lnS
+uVv
+flf
+ebN
+cxc
+kBy
+kBy
+gfu
+fPB
daz
lmz
lmz
@@ -140387,34 +140798,34 @@ bdH
lmz
lmz
lmz
-lmz
daz
daz
-hRW
-asZ
-vXh
+eKJ
+yaZ
+ffE
+hZj
+clw
daz
daz
-kfU
daz
+sGZ
ebN
ebN
-lnS
-uVv
-yit
+roH
ebN
-cxc
-kBy
-kBy
-gfu
-fPB
+daz
+daz
+daz
+wnh
+wnh
+daz
+daz
daz
lmz
lmz
lmz
bdH
bdH
-bdH
aak
bdH
bdH
@@ -140591,27 +141002,27 @@ lmz
lmz
lmz
daz
-daz
-eKJ
-yaZ
-ffE
-hZj
-clw
-daz
-daz
-daz
-sGZ
-ebN
-ebN
-roH
-ebN
-ebN
-ebN
-daz
-wnh
-wnh
-daz
-daz
+jYH
+ubA
+cck
+wyQ
+fmv
+ubA
+gMN
+mRn
+dJO
+vMt
+dkz
+aGk
+ktQ
+teZ
+wkM
+ege
+hWP
+bZq
+bZq
+mIi
+mIi
daz
lmz
lmz
@@ -140794,27 +141205,27 @@ lmz
lmz
lmz
daz
-acJ
-ubA
-cck
-wyQ
-fmv
-ubA
-gMN
-mRn
-itf
-mHE
-vAU
-qwJ
-fJY
-kzT
+cwS
+ffE
+vHa
+nDy
+ffE
+ffE
+ffE
+jqP
+cLo
+clw
+viB
+dIi
+qLS
+erN
wkM
-oLm
-fcX
-kKv
-kKv
-dGl
-dGl
+jvB
+jtj
+swx
+swx
+qKZ
+gjv
daz
lmz
lmz
@@ -140997,27 +141408,27 @@ lmz
lmz
lmz
daz
-cwS
-ffE
-vHa
-wpw
-ffE
-ffE
-ffE
-jqP
-cLo
-clw
-viB
-dIi
-qLS
-erN
+oRV
+ydI
+mdW
+ios
+awu
+ydI
+aKs
+fMt
+mEs
+gbm
+oBD
+lFj
+vyE
+mTr
wkM
-jvB
-jtj
-ieF
-ieF
-pJR
-gPr
+qNc
+jdl
+dpp
+dpp
+jgy
+eii
daz
lmz
lmz
@@ -141200,27 +141611,27 @@ lmz
lmz
lmz
daz
-oRV
-ydI
-mdW
-jaH
-awu
-ydI
-aKs
-fMt
-gOs
-kXj
-pYi
-fMl
-gUN
-bLv
-wkM
-xvM
-osy
-cBm
-cBm
-iZw
-dQl
+daz
+eKJ
+yaZ
+ffE
+hZj
+fQD
+daz
+daz
+daz
+tHu
+ebN
+ebN
+gXs
+ebN
+daz
+daz
+daz
+wnh
+wnh
+daz
+daz
daz
lmz
lmz
@@ -141402,34 +141813,34 @@ bdH
lmz
lmz
lmz
+lmz
daz
daz
-eKJ
-yaZ
-ffE
-hZj
-clw
+ocB
+nJH
+rnH
daz
daz
+sTV
daz
-tHu
-ebN
-ebN
-gXs
ebN
ebN
+gbg
+uVv
+xwU
ebN
-daz
-wnh
-wnh
-daz
-daz
+qQS
+kBy
+kBy
+gfu
+kBy
daz
lmz
lmz
lmz
bdH
bdH
+bdH
aak
bdH
bdH
@@ -141606,26 +142017,26 @@ lmz
lmz
lmz
lmz
+lmz
daz
daz
-ocB
-nJH
-rnH
daz
daz
-sTV
daz
-ebN
-ebN
-gbg
-uVv
-yit
-ebN
-cxc
-kBy
-kBy
-gfu
-kBy
+tte
+hvw
+auf
+hTl
+jrH
+xDC
+yaQ
+vLz
+mFN
+kSy
+dDp
+dDp
+frM
+lcg
daz
lmz
lmz
@@ -141805,8 +142216,7 @@ aaa
aab
aaa
bdH
-lmz
-lmz
+bdH
lmz
lmz
lmz
@@ -141815,19 +142225,20 @@ daz
daz
daz
daz
-tte
-hvw
-auf
-hTl
-xDC
-xDC
-yaQ
-bat
+sbJ
+sbJ
+sbJ
+daz
+rna
+qRX
+qQS
+aCd
+qQS
mFN
-kSy
-dDp
-dDp
-frM
+igr
+sEK
+sEK
+mlb
lcg
daz
lmz
@@ -142012,26 +142423,26 @@ bdH
lmz
lmz
lmz
-lmz
-lmz
-lmz
-lmz
daz
-sbJ
-sbJ
-sbJ
+hWM
+hWM
+hWM
+ebN
daz
-rna
-clw
-qQS
-aCd
-qQS
-mFN
-igr
-sEK
-sEK
-mlb
-lcg
+ocL
+qpY
+daz
+drU
+itg
+gba
+kRQ
+our
+ebN
+cxc
+kBy
+kBy
+dzt
+gyN
daz
lmz
lmz
@@ -142215,26 +142626,26 @@ bdH
lmz
lmz
lmz
-lmz
-lmz
-lmz
-lmz
daz
+hWM
+fVx
+hWM
+ebN
+tId
ltc
-eXk
-xns
-pTt
-gAe
-rCi
-gba
-mUz
-our
+ltc
+daz
+ebN
+fCI
ebN
-cxc
-kBy
-kBy
-khJ
-gyN
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
daz
lmz
lmz
@@ -142415,25 +142826,21 @@ aab
aaa
aaa
bdH
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-daz
+bdH
+bdH
+bdH
+izf
+hWM
+qQS
+hWM
+ebN
tId
-wJB
-tJN
-daz
-daz
-daz
-daz
-daz
-daz
-daz
-daz
+fVx
+qQS
+ebN
+naj
+itg
+qQS
daz
daz
daz
@@ -142442,6 +142849,10 @@ daz
lmz
lmz
lmz
+lmz
+lmz
+lmz
+lmz
bdH
bdH
bdH
@@ -142617,18 +143028,26 @@ aaa
aab
aaa
aaa
+aaa
bdH
bdH
bdH
-bdH
-bdH
-bdH
-bdH
-lmz
-daz
-daz
-daz
-daz
+vVk
+cJI
+fVx
+hWM
+ebN
+tId
+qQS
+mIJ
+wiu
+xDC
+yaQ
+jtj
+oZx
+irr
+irr
+xsi
daz
lmz
lmz
@@ -142637,14 +143056,6 @@ lmz
lmz
lmz
lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
bdH
bdH
bdH
@@ -142824,23 +143235,23 @@ aaa
bdH
bdH
bdH
-bdH
-bdH
-bdH
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
+fhR
+nKO
+tmV
+qQS
+gDh
+qQS
+qQS
+bMg
+flL
+qQS
+qQS
+pUg
+sII
+cFg
+pkS
+xsi
+daz
lmz
lmz
lmz
@@ -143023,27 +143434,27 @@ aab
aab
aab
aab
-aaa
-bdH
-bdH
bdH
bdH
bdH
bdH
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
+npq
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
lmz
lmz
lmz
diff --git a/maps/map_files/USS_Runtime/USS_Runtime.dmm b/maps/map_files/USS_Runtime/USS_Runtime.dmm
index aec89c5882dd..3ffdaf8a1814 100644
--- a/maps/map_files/USS_Runtime/USS_Runtime.dmm
+++ b/maps/map_files/USS_Runtime/USS_Runtime.dmm
@@ -92,7 +92,7 @@
},
/area/event)
"z" = (
-/obj/effect/landmark/start/pilot,
+/obj/effect/landmark/start/pilot/dropship_pilot,
/turf/open/floor/almayer{
icon_state = "plating"
},
@@ -145,6 +145,12 @@
icon_state = "plating"
},
/area/event)
+"M" = (
+/obj/effect/landmark/start/pilot/cas_pilot,
+/turf/open/floor/almayer{
+ icon_state = "plating"
+ },
+/area/event)
"N" = (
/obj/effect/landmark/start/nurse,
/turf/open/floor/almayer{
@@ -289,7 +295,7 @@ a
A
l
L
-b
+M
b
b
b
diff --git a/maps/shuttles/escape_shuttle_n.dmm b/maps/shuttles/escape_shuttle_n.dmm
index a7a4e9a69252..3095517f4bac 100644
--- a/maps/shuttles/escape_shuttle_n.dmm
+++ b/maps/shuttles/escape_shuttle_n.dmm
@@ -50,7 +50,7 @@
/obj/structure/machinery/cryopod/evacuation,
/obj/structure/sign/safety/cryo{
pixel_x = 8;
- pixel_y = -35
+ pixel_y = -28
},
/turf/open/shuttle/escapepod{
icon_state = "floor4"
diff --git a/maps/templates/lazy_templates/clf_ert_station.dmm b/maps/templates/lazy_templates/clf_ert_station.dmm
index 7347be914da2..908f8de06dcb 100644
--- a/maps/templates/lazy_templates/clf_ert_station.dmm
+++ b/maps/templates/lazy_templates/clf_ert_station.dmm
@@ -954,6 +954,9 @@
/area/adminlevel/ert_station/clf_station)
"vE" = (
/obj/structure/largecrate/supply/weapons/shotgun,
+/obj/structure/platform/kutjevo{
+ dir = 8
+ },
/turf/open/auto_turf/strata_grass/layer1,
/area/adminlevel/ert_station/clf_station)
"vI" = (
@@ -1203,7 +1206,7 @@
/obj/structure/machinery/door/airlock/sandstone/runed/destroyable{
name = "\improper Strange Temple"
},
-/turf/open/space/basic,
+/turf/open/floor/sandstone/runed,
/area/adminlevel/ert_station/clf_station)
"BP" = (
/obj/structure/surface/table/reinforced,
@@ -1378,6 +1381,17 @@
/obj/structure/flora/jungle/vines/heavy,
/turf/open/gm/dirt,
/area/adminlevel/ert_station/clf_station)
+"Ia" = (
+/obj/structure/bed/chair{
+ dir = 4
+ },
+/obj/structure/machinery/power/apc/antag{
+ dir = 1
+ },
+/turf/open/floor/wood{
+ icon_state = "wood-broken3"
+ },
+/area/adminlevel/ert_station/clf_station)
"Ie" = (
/turf/open/gm/dirtgrassborder{
dir = 1;
@@ -1914,9 +1928,6 @@
},
/turf/open/auto_turf/strata_grass/layer1,
/area/adminlevel/ert_station/clf_station)
-"Ub" = (
-/turf/closed/wall/mineral/sandstone/runed/decor,
-/area/adminlevel/ert_station/clf_station)
"Uj" = (
/obj/structure/closet/crate,
/obj/item/clothing/head/welding,
@@ -2168,14 +2179,14 @@ ax
ax
ax
ax
-KT
-KT
-KT
-KT
-KT
-KT
-KT
-KT
+ax
+ax
+ax
+ax
+ax
+ax
+ax
+ax
"}
(2,1,1) = {"
ax
@@ -2210,14 +2221,14 @@ vI
ZO
LO
ax
-KT
-KT
-KT
-KT
-KT
-KT
-KT
-KT
+ax
+ax
+ax
+ax
+ax
+ax
+ax
+ax
"}
(3,1,1) = {"
ax
@@ -2250,16 +2261,16 @@ Rg
Rg
Rg
tJ
-Ub
+LO
+ax
+ax
+ax
+ax
+ax
+ax
+ax
+ax
ax
-KT
-KT
-KT
-KT
-KT
-KT
-KT
-KT
"}
(4,1,1) = {"
ax
@@ -2294,14 +2305,14 @@ vI
vI
BC
ax
-KT
-KT
-KT
-KT
-KT
-KT
-KT
-KT
+ax
+ax
+ax
+ax
+ax
+ax
+ax
+ax
"}
(5,1,1) = {"
ax
@@ -2334,16 +2345,16 @@ ax
Rg
Rg
iO
-Ub
+LO
+ax
+ax
+ax
+ax
+ax
+ax
+ax
+ax
ax
-KT
-KT
-KT
-KT
-KT
-KT
-KT
-KT
"}
(6,1,1) = {"
ax
@@ -2378,14 +2389,14 @@ Rg
ZO
LO
ax
-KT
-KT
-KT
-KT
-KT
-KT
-KT
-KT
+ax
+ax
+ax
+ax
+ax
+ax
+ax
+ax
"}
(7,1,1) = {"
ax
@@ -2420,14 +2431,14 @@ Rg
ax
ax
ax
-KT
-KT
-KT
-KT
-KT
-KT
-KT
-KT
+ax
+ax
+ax
+ax
+ax
+ax
+ax
+ax
"}
(8,1,1) = {"
KT
@@ -2461,15 +2472,15 @@ HI
ax
ax
ax
-KT
-KT
-KT
-KT
-KT
-KT
-KT
-KT
-KT
+ax
+ax
+ax
+ax
+ax
+ax
+ax
+ax
+ax
"}
(9,1,1) = {"
KT
@@ -2505,13 +2516,13 @@ ax
KT
KT
KT
-KT
-KT
-KT
-KT
-KT
-KT
-KT
+ax
+ax
+ax
+ax
+ax
+ax
+ax
"}
(10,1,1) = {"
KT
@@ -2548,12 +2559,12 @@ KT
KT
KT
KT
-KT
-KT
-KT
-KT
-KT
-KT
+ax
+ax
+ax
+ax
+ax
+ax
"}
(11,1,1) = {"
KT
@@ -2591,11 +2602,11 @@ KT
KT
KT
KT
-KT
-KT
-KT
-KT
-KT
+ax
+ax
+ax
+ax
+ax
"}
(12,1,1) = {"
KT
@@ -2634,10 +2645,10 @@ iG
KT
KT
KT
-KT
-KT
-KT
-KT
+ax
+ax
+ax
+ax
"}
(13,1,1) = {"
KT
@@ -2676,10 +2687,10 @@ pk
pk
KT
KT
-KT
-KT
-KT
-KT
+ax
+ax
+ax
+ax
"}
(14,1,1) = {"
DN
@@ -2718,10 +2729,10 @@ ON
pk
pk
KT
-KT
-KT
-KT
-KT
+ax
+ax
+ax
+ax
"}
(15,1,1) = {"
DN
@@ -2762,8 +2773,8 @@ pk
ax
ax
ax
-KT
-KT
+ax
+ax
"}
(16,1,1) = {"
KT
@@ -2804,8 +2815,8 @@ xL
pk
ax
ax
-KT
-KT
+ax
+ax
"}
(17,1,1) = {"
ax
@@ -3006,7 +3017,7 @@ zO
Ch
ZI
ZI
-MQ
+Ia
mw
mw
LQ
diff --git a/maps/templates/lazy_templates/pizza_ert_station.dmm b/maps/templates/lazy_templates/pizza_ert_station.dmm
new file mode 100644
index 000000000000..b154256c0459
--- /dev/null
+++ b/maps/templates/lazy_templates/pizza_ert_station.dmm
@@ -0,0 +1,6916 @@
+//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"ae" = (
+/obj/structure/machinery/door_control{
+ id = "kitchen_pizza_time";
+ name = "Main Kitchen Shutters";
+ pixel_x = 28
+ },
+/obj/structure/safe/floor,
+/obj/item/spacecash/c1000,
+/obj/item/spacecash/c100,
+/obj/item/spacecash/c10,
+/obj/item/spacecash/c10,
+/obj/item/spacecash/c10,
+/obj/item/spacecash/c10,
+/obj/item/spacecash/c100,
+/obj/item/spacecash/c100,
+/obj/item/spacecash/c100,
+/obj/item/spacecash/c100,
+/obj/item/spacecash/c100,
+/obj/item/spacecash/c100,
+/obj/item/spacecash/c50,
+/obj/item/spacecash/c50,
+/obj/item/spacecash/c50,
+/obj/item/spacecash/c50,
+/obj/item/spacecash/c50,
+/obj/item/spacecash/c500,
+/obj/item/spacecash/c500,
+/obj/item/spacecash/c500,
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ah" = (
+/obj/structure/prop/invuln{
+ desc = "An inflated membrane. This one is puncture proof. Wow!";
+ icon = 'icons/obj/items/inflatable.dmi';
+ icon_state = "wall";
+ name = "Docking Umbilical"
+ },
+/obj/structure/blocker/invisible_wall,
+/obj/structure/sign/safety/airlock{
+ pixel_y = 32
+ },
+/obj/structure/sign/safety/hazard{
+ pixel_x = 15;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer_hull,
+/area/adminlevel/ert_station/pizza_station)
+"am" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/barricade/handrail/pizza{
+ dir = 4;
+ pixel_y = -3
+ },
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/obj/item/reagent_container/food/drinks/cans/souto/cherry{
+ pixel_x = -8;
+ layer = 2.97
+ },
+/obj/item/reagent_container/food/drinks/cans/souto/cherry{
+ anchored = 1;
+ layer = 2.97
+ },
+/obj/item/reagent_container/food/drinks/cans/souto/cherry{
+ pixel_x = 8;
+ layer = 2.97
+ },
+/obj/item/reagent_container/food/drinks/cans/souto/cherry{
+ layer = 4.1;
+ pixel_x = -4;
+ pixel_y = 18
+ },
+/obj/item/reagent_container/food/drinks/cans/souto/cherry{
+ layer = 4.1;
+ pixel_x = 4;
+ pixel_y = 18
+ },
+/obj/item/reagent_container/food/drinks/cans/souto/cherry{
+ layer = 4.2;
+ pixel_y = 36
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"an" = (
+/obj/structure/bed/chair/bolted{
+ dir = 1;
+ pixel_y = 12;
+ buckling_y = 12
+ },
+/turf/open/floor/prison,
+/area/adminlevel/ert_station/pizza_station)
+"ap" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/structure/pipes/vents/scrubber{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ icon_state = "dark_sterile"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"aq" = (
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"aA" = (
+/obj/structure/surface/table/reinforced,
+/obj/structure/machinery/microwave{
+ pixel_y = 8
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"aD" = (
+/obj/structure/sign/safety/nonpress_0g{
+ pixel_x = 32
+ },
+/obj/structure/sign/safety/manualopenclose{
+ pixel_y = 14;
+ pixel_x = 32
+ },
+/turf/open/floor/plating/prison,
+/area/adminlevel/ert_station/pizza_station)
+"aJ" = (
+/obj/structure/prop/souto_land/streamer{
+ dir = 1;
+ pixel_y = 9;
+ pixel_x = 1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "red"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"aP" = (
+/obj/structure/prop/souto_land/pole{
+ dir = 8;
+ pixel_y = 9
+ },
+/obj/structure/prop/souto_land/streamer{
+ dir = 9
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply,
+/turf/open/floor/prison{
+ icon_state = "red"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"aS" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "NE-out"
+ },
+/obj/structure/sign/safety/debark_lounge{
+ pixel_y = -32
+ },
+/obj/structure/sign/safety/landingzone{
+ pixel_y = -32;
+ pixel_x = 15
+ },
+/turf/open/floor/prison{
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"bd" = (
+/obj/structure/prop/invuln{
+ desc = "An inflated membrane. This one is puncture proof. Wow!";
+ icon = 'icons/obj/items/inflatable.dmi';
+ icon_state = "wall";
+ name = "Docking Umbilical"
+ },
+/obj/structure/blocker/invisible_wall,
+/turf/open/floor/almayer_hull,
+/area/adminlevel/ert_station/pizza_station)
+"bl" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "S";
+ pixel_y = -1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/corsat{
+ icon_state = "retrosquareslight"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"bo" = (
+/obj/structure/machinery/shower{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 4;
+ health = 80
+ },
+/obj/structure/window/reinforced{
+ dir = 8;
+ health = 80
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/adminlevel/ert_station/pizza_station)
+"bB" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"bT" = (
+/obj/structure/surface/table/reinforced,
+/obj/structure/machinery/recharger,
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"bU" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/obj/structure/machinery/door/airlock/almayer/generic{
+ name = "\improper Central Fridge";
+ dir = 1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"cq" = (
+/obj/structure/pipes/vents/scrubber{
+ dir = 8
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 4
+ },
+/area/adminlevel/ert_station/pizza_station)
+"cr" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/trash/plate{
+ pixel_x = 1;
+ pixel_y = 3
+ },
+/obj/item/trash/plate{
+ pixel_x = 1;
+ pixel_y = 6
+ },
+/obj/item/reagent_container/food/condiment/saltshaker{
+ pixel_x = -4
+ },
+/obj/item/reagent_container/food/condiment/peppermill{
+ pixel_x = 4
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"cE" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/trash/ceramic_plate{
+ pixel_y = 4;
+ pixel_x = -2
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"cI" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 9
+ },
+/turf/open/floor{
+ icon_state = "blueyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"cK" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/obj/structure/sign/safety/airlock{
+ pixel_y = 32
+ },
+/obj/structure/sign/safety/hazard{
+ pixel_x = 15;
+ pixel_y = 32
+ },
+/turf/open/floor/prison{
+ dir = 1;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"cL" = (
+/obj/structure/bed/chair/bolted{
+ dir = 8;
+ pixel_x = -7;
+ buckling_x = -7
+ },
+/turf/open/floor/prison,
+/area/adminlevel/ert_station/pizza_station)
+"cO" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 8;
+ pixel_y = -3
+ },
+/obj/structure/barricade/handrail/pizza{
+ dir = 1;
+ pixel_y = 12
+ },
+/obj/structure/prop/souto_land/streamer{
+ dir = 6
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"cP" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/trash/ceramic_plate{
+ pixel_y = 5
+ },
+/obj/item/trash/ceramic_plate{
+ pixel_y = 8
+ },
+/obj/item/trash/ceramic_plate{
+ pixel_y = 11
+ },
+/obj/item/trash/ceramic_plate{
+ pixel_y = 14
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"dc" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 6
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 4
+ },
+/area/adminlevel/ert_station/pizza_station)
+"dh" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/drinks/cans/souto/diet/cranberry{
+ pixel_y = 20;
+ layer = 3.03;
+ pixel_x = 4
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"dS" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/machinery/door/airlock/almayer/generic{
+ name = "\improper Freezer"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ec" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/snacks/birthdaycakeslice,
+/obj/item/reagent_container/food/drinks/cans/dr_gibb{
+ pixel_x = -8;
+ pixel_y = -6
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ef" = (
+/obj/structure/surface/rack,
+/obj/item/reagent_container/food/snacks/sliceable/cheesewheel/mature{
+ pixel_x = -1;
+ pixel_y = 7
+ },
+/obj/item/reagent_container/food/snacks/sliceable/cheesewheel/mature{
+ pixel_x = 1;
+ pixel_y = -5
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"eh" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/snacks/omelette{
+ pixel_y = 2;
+ pixel_x = 1
+ },
+/obj/item/reagent_container/food/condiment/coldsauce{
+ pixel_y = 22;
+ pixel_x = -10
+ },
+/obj/item/tool/kitchen/utensil/fork{
+ pixel_y = 2;
+ pixel_x = -8
+ },
+/obj/item/reagent_container/food/drinks/coffee{
+ pixel_y = 13;
+ pixel_x = 5
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ei" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/almayer_hull,
+/area/adminlevel/ert_station/pizza_station)
+"eo" = (
+/obj/structure/closet/secure_closet/freezer/meat,
+/obj/item/reagent_container/food/condiment/coldsauce,
+/obj/item/reagent_container/food/condiment/coldsauce,
+/obj/structure/machinery/light/small/blue{
+ dir = 1;
+ pixel_y = 20;
+ pixel_x = 16
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "greenblue";
+ dir = 1
+ },
+/area/adminlevel/ert_station/pizza_station)
+"eD" = (
+/obj/structure/reagent_dispensers/water_cooler/stacks{
+ density = 0;
+ pixel_x = -11;
+ pixel_y = -1
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"eI" = (
+/obj/structure/platform/kutjevo/smooth,
+/turf/open/space/basic,
+/area/space)
+"eK" = (
+/obj/structure/prop/souto_land/pole{
+ dir = 8;
+ pixel_y = 9;
+ pixel_x = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 6
+ },
+/area/adminlevel/ert_station/pizza_station)
+"eQ" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "S";
+ pixel_y = -1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"eW" = (
+/turf/open/mars_dirt{
+ icon_state = "mars_cave_11"
+ },
+/area/space)
+"fb" = (
+/obj/structure/platform/kutjevo/smooth{
+ dir = 8
+ },
+/obj/structure/platform/kutjevo/smooth,
+/turf/open/space,
+/area/space)
+"fg" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"fj" = (
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/prison{
+ dir = 8;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"fu" = (
+/turf/open/floor/plating,
+/area/adminlevel/ert_station/pizza_station)
+"fE" = (
+/obj/structure/bed/sofa/south/grey/right,
+/turf/open/floor/prison{
+ dir = 4;
+ icon_state = "yellowcorner"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"fH" = (
+/obj/structure/platform/kutjevo/smooth{
+ dir = 1
+ },
+/obj/structure/barricade/handrail{
+ dir = 1;
+ icon_state = "hr_kutjevo";
+ name = "solar lattice"
+ },
+/obj/structure/platform/kutjevo/smooth{
+ dir = 8
+ },
+/turf/open/space,
+/area/space)
+"fN" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/drinks/cans/souto/peach{
+ pixel_y = 14;
+ pixel_x = -4
+ },
+/obj/item/reagent_container/food/drinks/cans/souto/diet/lime{
+ pixel_y = 9
+ },
+/obj/structure/machinery/light,
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"fO" = (
+/obj/structure/platform_decoration/kutjevo{
+ dir = 4
+ },
+/turf/open/space/basic,
+/area/space)
+"gb" = (
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 9
+ },
+/turf/open/floor{
+ icon_state = "blueyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"gu" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/obj/item/storage/box/drinkingglasses{
+ layer = 2.97;
+ pixel_x = 12
+ },
+/obj/item/reagent_container/food/drinks/shaker{
+ pixel_x = -11;
+ layer = 2.97;
+ pixel_y = 2
+ },
+/obj/item/reagent_container/food/drinks/bottle/rum{
+ pixel_y = 2;
+ pixel_x = -2;
+ layer = 2.97
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"gy" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor{
+ icon_state = "blueyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"gU" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N"
+ },
+/turf/open/floor/prison{
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"gV" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/machinery/light{
+ pixel_x = 16;
+ dir = 1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/sign/safety/restrictedarea{
+ pixel_y = 32
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ha" = (
+/obj/structure/platform_decoration/kutjevo{
+ dir = 1
+ },
+/turf/open/space,
+/area/space)
+"hb" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 1;
+ pixel_y = 12
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"hc" = (
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "red"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"hg" = (
+/turf/open/floor/prison{
+ dir = 1;
+ icon_state = "yellowcorner"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"hv" = (
+/obj/structure/closet/crate/freezer/cooler,
+/turf/open/floor/prison{
+ dir = 10;
+ icon_state = "floor_marked"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"hL" = (
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "greenblue";
+ dir = 1
+ },
+/area/adminlevel/ert_station/pizza_station)
+"hR" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 8;
+ pixel_y = -3
+ },
+/obj/structure/bed/chair/bolted{
+ dir = 4;
+ pixel_x = 7;
+ buckling_x = 7
+ },
+/obj/structure/sign/safety/hazard{
+ pixel_x = 15;
+ pixel_y = -32
+ },
+/obj/structure/sign/safety/airlock{
+ pixel_y = -32
+ },
+/obj/structure/prop/souto_land/streamer{
+ dir = 6
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"hX" = (
+/obj/structure/bed/chair/bolted{
+ pixel_y = -1;
+ buckling_y = -1
+ },
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ic" = (
+/obj/item/trash/plate{
+ pixel_y = 4
+ },
+/obj/item/trash/plate{
+ pixel_y = 6
+ },
+/obj/item/trash/plate{
+ pixel_y = 8
+ },
+/obj/item/trash/plate{
+ pixel_y = 10
+ },
+/obj/structure/surface/table/almayer,
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/obj/item/reagent_container/food/drinks/drinkingglass{
+ pixel_y = 14;
+ pixel_x = 11
+ },
+/obj/item/reagent_container/food/drinks/drinkingglass{
+ pixel_y = 9;
+ pixel_x = 12
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"im" = (
+/obj/structure/bed/chair/janicart,
+/turf/open/floor/prison,
+/area/adminlevel/ert_station/pizza_station)
+"ir" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 4
+ },
+/area/adminlevel/ert_station/pizza_station)
+"iw" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/reagent_container/food/snacks/tofukabob,
+/obj/item/reagent_container/food/snacks/tofukabob{
+ pixel_y = 10
+ },
+/obj/item/reagent_container/food/snacks/tofukabob{
+ pixel_y = 5
+ },
+/turf/open/floor/prison{
+ icon_state = "greenblue";
+ dir = 6
+ },
+/area/adminlevel/ert_station/pizza_station)
+"iY" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out";
+ layer = 2.5
+ },
+/obj/structure/sign/safety/debark_lounge{
+ pixel_y = 32
+ },
+/obj/structure/sign/safety/landingzone{
+ pixel_y = 32;
+ pixel_x = 15
+ },
+/turf/open/floor/prison{
+ dir = 1;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ja" = (
+/obj/structure/platform_decoration/kutjevo{
+ dir = 4
+ },
+/obj/structure/platform/kutjevo/smooth{
+ dir = 1
+ },
+/obj/structure/platform/kutjevo/smooth{
+ dir = 8
+ },
+/obj/structure/barricade/handrail{
+ dir = 1;
+ icon_state = "hr_kutjevo";
+ name = "solar lattice"
+ },
+/turf/open/space,
+/area/space)
+"jb" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 6
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 5
+ },
+/area/adminlevel/ert_station/pizza_station)
+"jf" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/obj/item/trash/ceramic_plate{
+ pixel_y = 2
+ },
+/obj/item/reagent_container/food/snacks/toastedsandwich{
+ pixel_y = 11
+ },
+/obj/structure/machinery/door/poddoor/shutters/almayer{
+ name = "\improper Kitchen Shutters";
+ id = "kitchen_pizza_time"
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"jo" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"jq" = (
+/obj/structure/sink{
+ dir = 4;
+ pixel_x = 12
+ },
+/obj/structure/mirror{
+ pixel_x = 29
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out";
+ pixel_y = 1
+ },
+/obj/structure/machinery/light/small{
+ dir = 1;
+ pixel_y = 13
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/adminlevel/ert_station/pizza_station)
+"jx" = (
+/obj/structure/bed/chair/bolted{
+ dir = 4;
+ pixel_x = 7;
+ pixel_y = -6;
+ buckling_x = 7;
+ buckling_y = -6
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"jy" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/obj/item/tool/kitchen/tray{
+ pixel_y = 6
+ },
+/obj/item/tool/kitchen/tray{
+ pixel_y = 9
+ },
+/obj/item/tool/kitchen/tray{
+ pixel_y = 12
+ },
+/obj/structure/machinery/door/poddoor/shutters/almayer{
+ name = "\improper Kitchen Shutters";
+ id = "kitchen_pizza_time"
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"jH" = (
+/turf/open/mars{
+ icon_state = "mars_cave_10"
+ },
+/area/space)
+"jT" = (
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "blueyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"jV" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 8
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"kz" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{
+ dir = 1;
+ name = "\improper Kitchen"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"kW" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 8
+ },
+/obj/structure/prop/souto_land/streamer{
+ dir = 1;
+ pixel_y = 9
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"la" = (
+/obj/structure/blocker/invisible_wall,
+/obj/structure/machinery/door/poddoor/almayer{
+ unacidable = 1
+ },
+/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{
+ locked = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"lg" = (
+/turf/closed/shuttle/ert{
+ icon_state = "leftengine_1"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"lv" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/obj/item/reagent_container/food/drinks/drinkingglass/cola{
+ pixel_y = 8;
+ pixel_x = -2
+ },
+/obj/item/reagent_container/food/drinks/shaker{
+ pixel_y = 5;
+ pixel_x = -11
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"lw" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/condiment/coldsauce{
+ pixel_y = 22;
+ pixel_x = -10
+ },
+/obj/item/clothing/mask/cigarette{
+ pixel_x = 4;
+ pixel_y = 11
+ },
+/obj/item/ashtray/glass{
+ pixel_x = -6
+ },
+/obj/item/clothing/mask/cigarette{
+ pixel_y = 8
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"lx" = (
+/obj/structure/platform/kutjevo/smooth{
+ dir = 1
+ },
+/obj/structure/platform/kutjevo/smooth{
+ dir = 8
+ },
+/obj/structure/barricade/handrail{
+ dir = 1;
+ icon_state = "hr_kutjevo";
+ name = "solar lattice"
+ },
+/turf/open/space/basic,
+/area/space)
+"ly" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/drinks/cans/souto/grape{
+ pixel_y = 16;
+ pixel_x = 9
+ },
+/obj/item/reagent_container/food/drinks/cans/souto/lime{
+ pixel_y = 12;
+ pixel_x = 5
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"lB" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 8;
+ pixel_y = -3
+ },
+/obj/structure/barricade/handrail/pizza{
+ dir = 1;
+ pixel_y = 12
+ },
+/obj/item/storage/briefcase/stowaway{
+ pixel_y = 11;
+ layer = 4.11
+ },
+/obj/structure/prop/souto_land/streamer{
+ dir = 6
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"lE" = (
+/obj/structure/machinery/vending/dinnerware,
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"lH" = (
+/obj/structure/machinery/door/poddoor/almayer/locked{
+ icon_state = "almayer_pdoor";
+ id = "pizza_takeaway_out"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"lJ" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N"
+ },
+/obj/structure/sign/safety/airlock{
+ pixel_y = -32
+ },
+/obj/structure/sign/safety/hazard{
+ pixel_x = 15;
+ pixel_y = -32
+ },
+/turf/open/floor/prison{
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"lL" = (
+/turf/open/floor/almayer_hull,
+/area/adminlevel/ert_station/pizza_station)
+"lN" = (
+/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
+ pixel_x = -30
+ },
+/turf/open/floor/prison{
+ icon_state = "bright_clean2"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ma" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/storage/donut_box{
+ pixel_y = 10;
+ pixel_x = 1
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"me" = (
+/turf/open/mars_dirt{
+ icon_state = "mars_cave_8"
+ },
+/area/space)
+"mj" = (
+/obj/structure/machinery/shower{
+ pixel_y = 16
+ },
+/obj/structure/window/reinforced{
+ dir = 4;
+ health = 80
+ },
+/obj/structure/window/reinforced{
+ dir = 8;
+ health = 80
+ },
+/obj/structure/machinery/light/small{
+ dir = 1;
+ pixel_x = 16;
+ pixel_y = 20
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/adminlevel/ert_station/pizza_station)
+"mk" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 4;
+ pixel_y = -3
+ },
+/obj/structure/barricade/handrail/pizza{
+ dir = 4;
+ pixel_y = 16
+ },
+/obj/structure/machinery/vending/snack{
+ layer = 4.15;
+ pixel_y = 3
+ },
+/turf/open/floor/prison{
+ icon_state = "bright_clean2"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"mt" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 8;
+ pixel_y = -3
+ },
+/obj/structure/bed/chair/bolted{
+ dir = 4;
+ pixel_x = 7;
+ buckling_x = 7
+ },
+/obj/structure/prop/souto_land/streamer{
+ dir = 6
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"mP" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/structure/sign/safety/fridge{
+ pixel_x = 32
+ },
+/turf/open/floor/prison{
+ icon_state = "bright_clean2"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"nf" = (
+/turf/closed/shuttle/ert{
+ icon_state = "stan5"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"nl" = (
+/obj/structure/surface/table/almayer,
+/turf/open/floor/prison{
+ dir = 8;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"np" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/pizzabox{
+ pixel_y = 5
+ },
+/obj/item/pizzabox{
+ pixel_y = 8
+ },
+/obj/item/pizzabox{
+ pixel_y = 11
+ },
+/obj/item/pizzabox{
+ pixel_y = 14
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ny" = (
+/obj/structure/closet/secure_closet/fridge/fish/stock,
+/obj/structure/machinery/light/small/blue{
+ pixel_x = 16
+ },
+/turf/open/floor/prison{
+ icon_state = "greenblue"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"nA" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/obj/item/reagent_container/food/drinks/cans/tonic{
+ pixel_x = -15;
+ pixel_y = 10
+ },
+/obj/item/reagent_container/food/drinks/cans/tonic{
+ pixel_y = 6;
+ pixel_x = -15
+ },
+/obj/structure/machinery/computer/emails{
+ dir = 1;
+ pixel_y = 2;
+ pixel_x = 3;
+ layer = 2.97
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"nB" = (
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"nK" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/tool/kitchen/tray,
+/obj/item/tool/kitchen/knife{
+ pixel_x = 3
+ },
+/obj/item/tool/kitchen/knife/butcher{
+ pixel_x = -8
+ },
+/obj/structure/machinery/firealarm{
+ pixel_x = -24
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"nU" = (
+/obj/structure/prop/souto_land/streamer{
+ dir = 1;
+ pixel_y = 9
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "red"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"nX" = (
+/obj/structure/bed/chair/bolted{
+ dir = 8;
+ pixel_x = -7;
+ buckling_x = -7
+ },
+/obj/structure/machinery/light,
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"oh" = (
+/obj/structure/pipes/standard/manifold/fourway/hidden/supply,
+/turf/open/floor/prison{
+ icon_state = "red"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ok" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 8
+ },
+/turf/open/floor/prison{
+ icon_state = "bright_clean2"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"oo" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/prison{
+ dir = 6;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ov" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 9
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"oy" = (
+/obj/structure/bedsheetbin{
+ icon_state = "linenbin-empty";
+ name = "solar lattice";
+ pixel_y = 6
+ },
+/turf/open/floor/almayer_hull,
+/area/space)
+"oD" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/machinery/door/airlock/almayer/maint{
+ locked = 1;
+ name = "STAFF ONLY";
+ req_one_access = null;
+ req_one_access_txt = "101"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"oG" = (
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/prison,
+/area/adminlevel/ert_station/pizza_station)
+"oU" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 9
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 4
+ },
+/area/adminlevel/ert_station/pizza_station)
+"oX" = (
+/obj/structure/platform/kutjevo/smooth{
+ dir = 1
+ },
+/obj/structure/barricade/handrail{
+ dir = 1;
+ icon_state = "hr_kutjevo";
+ name = "solar lattice"
+ },
+/turf/open/space/basic,
+/area/space)
+"pA" = (
+/obj/structure/machinery/vending/coffee{
+ pixel_y = 18;
+ density = 0
+ },
+/obj/structure/machinery/alarm{
+ pixel_x = -32
+ },
+/turf/open/floor/prison{
+ dir = 9;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"pD" = (
+/turf/open/mars_dirt{
+ icon_state = "mars_cave_10"
+ },
+/area/space)
+"pE" = (
+/obj/structure/sink{
+ dir = 4;
+ pixel_x = 12
+ },
+/obj/structure/mirror{
+ pixel_x = 29
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/adminlevel/ert_station/pizza_station)
+"pS" = (
+/obj/structure/bed/chair/bolted{
+ dir = 8;
+ pixel_x = -7;
+ buckling_x = -7
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"pT" = (
+/obj/structure/closet/crate/freezer/rations,
+/obj/item/reagent_container/food/snacks/meat/fish/crab,
+/obj/item/reagent_container/food/snacks/meat/fish/crab,
+/obj/item/reagent_container/food/snacks/meat/fish/squid,
+/obj/item/reagent_container/food/snacks/meat/fish/squid,
+/obj/item/reagent_container/food/snacks/meat/fish/squid,
+/obj/item/reagent_container/food/snacks/meat/fish/squid/alt,
+/obj/item/reagent_container/food/snacks/meat/fish/squid/alt,
+/obj/item/reagent_container/food/snacks/meat/fish/squid/alt,
+/obj/item/reagent_container/food/snacks/meat/fish,
+/obj/item/reagent_container/food/snacks/meat/fish,
+/obj/item/reagent_container/food/snacks/meat/fish,
+/obj/item/reagent_container/food/snacks/meat/fish,
+/turf/open/floor/prison{
+ dir = 10;
+ icon_state = "floor_marked"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"qb" = (
+/obj/structure/prop/souto_land/streamer{
+ dir = 1;
+ pixel_y = 9;
+ pixel_x = 2
+ },
+/obj/structure/pipes/vents/scrubber{
+ dir = 8
+ },
+/turf/open/floor/prison{
+ icon_state = "red"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"qh" = (
+/turf/closed/shuttle/ert{
+ icon_state = "stan_rightengine"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"qo" = (
+/obj/structure/closet{
+ pixel_y = 16;
+ density = 0
+ },
+/obj/structure/window/reinforced{
+ dir = 8;
+ health = 80
+ },
+/obj/structure/machinery/light/small{
+ dir = 1;
+ pixel_x = 16;
+ pixel_y = 20
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/adminlevel/ert_station/pizza_station)
+"qq" = (
+/obj/structure/platform/kutjevo/smooth{
+ dir = 4
+ },
+/turf/open/space/basic,
+/area/space)
+"qs" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/drinks/cans/souto/diet/classic{
+ pixel_x = -2
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"qt" = (
+/turf/open/mars_dirt{
+ icon_state = "mars_cave_6"
+ },
+/area/space)
+"qv" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/book/manual/chef_recipes,
+/obj/item/clothing/head/chefhat,
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"qy" = (
+/obj/structure/surface/table/reinforced,
+/obj/structure/machinery/juicer{
+ pixel_y = 9
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"qA" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out";
+ pixel_y = 1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"qU" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 8
+ },
+/obj/structure/bed/chair/bolted{
+ dir = 4;
+ pixel_x = 7;
+ buckling_x = 7
+ },
+/obj/structure/machinery/alarm{
+ pixel_y = 25
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"qX" = (
+/obj/structure/platform_decoration/kutjevo{
+ dir = 8
+ },
+/turf/open/space/basic,
+/area/space)
+"rj" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/trash/ceramic_plate{
+ pixel_y = 1;
+ pixel_x = 2
+ },
+/obj/item/reagent_container/food/snacks/meatpizzaslice{
+ pixel_x = 2;
+ pixel_y = 4
+ },
+/obj/item/reagent_container/food/drinks/cans/beer{
+ pixel_x = 9;
+ pixel_y = 14
+ },
+/obj/structure/machinery/light{
+ pixel_x = 16;
+ dir = 1
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"rk" = (
+/obj/structure/platform_decoration/kutjevo{
+ dir = 8
+ },
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space)
+"rA" = (
+/obj/structure/bed/chair/bolted{
+ dir = 1;
+ pixel_y = 12;
+ buckling_y = 12
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"rK" = (
+/obj/structure/surface/table/almayer,
+/turf/open/floor/prison,
+/area/adminlevel/ert_station/pizza_station)
+"rL" = (
+/obj/structure/blocker/invisible_wall,
+/obj/structure/machinery/door/poddoor/almayer{
+ name = "\improper Umbillical Airlock";
+ unacidable = 1
+ },
+/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{
+ locked = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"rO" = (
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/prison{
+ dir = 6;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"sa" = (
+/obj/structure/pipes/vents/scrubber,
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 1
+ },
+/area/adminlevel/ert_station/pizza_station)
+"se" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/obj/structure/machinery/door/airlock/almayer/generic{
+ name = "\improper Bathroom";
+ dir = 1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"sk" = (
+/obj/structure/surface/table/almayer,
+/turf/open/floor/prison{
+ dir = 10;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"sl" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 6
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"sp" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/weapon/pizza_cutter,
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"sx" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 8
+ },
+/area/adminlevel/ert_station/pizza_station)
+"sB" = (
+/turf/open/mars_dirt{
+ icon_state = "mars_cave_7"
+ },
+/area/space)
+"sI" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/tool/kitchen/tray{
+ pixel_y = 13;
+ pixel_x = 16
+ },
+/obj/item/reagent_container/food/snacks/sliceable/pizza/meatpizza{
+ pixel_y = 13;
+ pixel_x = 15
+ },
+/obj/item/trash/plate{
+ pixel_y = 3;
+ pixel_x = 1
+ },
+/obj/item/reagent_container/food/snacks/meatpizzaslice{
+ pixel_y = 3;
+ pixel_x = -1
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"sJ" = (
+/obj/structure/machinery/vending/ingredients,
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"sW" = (
+/obj/structure/blocker/invisible_wall,
+/obj/structure/machinery/door/poddoor/almayer{
+ name = "\improper Umbillical Airlock";
+ unacidable = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"sY" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/structure/pipes/vents/pump{
+ dir = 8
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"td" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "S";
+ pixel_y = -1
+ },
+/obj/structure/pipes/vents/scrubber{
+ dir = 8
+ },
+/turf/open/floor/corsat{
+ icon_state = "retrosquareslight"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"tp" = (
+/obj/structure/bed/chair/bolted{
+ dir = 4;
+ pixel_y = 17;
+ pixel_x = 10;
+ buckling_y = 17;
+ buckling_x = 10
+ },
+/obj/structure/machinery/light,
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"tq" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ty" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "S";
+ pixel_y = -1
+ },
+/obj/structure/pipes/vents/scrubber{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "dark_sterile"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"tC" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/condiment/peppermill{
+ pixel_x = 13;
+ pixel_y = 12
+ },
+/obj/item/reagent_container/food/condiment/saltshaker{
+ pixel_x = 7;
+ pixel_y = 17
+ },
+/obj/item/trash/plate{
+ pixel_y = 5
+ },
+/obj/item/reagent_container/food/snacks/cheeseburger{
+ pixel_x = -1;
+ pixel_y = 9
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"tH" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/obj/structure/machinery/door/poddoor/almayer/open{
+ name = "\improper Umbillical Airlock";
+ id = "pizza_ert_arrival"
+ },
+/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{
+ name = "\improper Galaxy Pizza!"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"tM" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "S";
+ pixel_y = -1
+ },
+/turf/open/floor/corsat{
+ icon_state = "retrosquareslight"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"tT" = (
+/obj/structure/platform/kutjevo/smooth{
+ dir = 1
+ },
+/obj/structure/barricade/handrail{
+ dir = 1;
+ icon_state = "hr_kutjevo";
+ name = "solar lattice"
+ },
+/obj/structure/platform/kutjevo/smooth{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
+"tX" = (
+/obj/structure/machinery/disposal{
+ layer = 2.97
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 8
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ub" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/machinery/door/poddoor/almayer/locked{
+ icon_state = "almayer_pdoor";
+ id = "pizza_takeaway_out"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ug" = (
+/obj/structure/pipes/vents/scrubber,
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 8
+ },
+/area/adminlevel/ert_station/pizza_station)
+"uj" = (
+/obj/structure/platform/kutjevo/smooth{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
+"uo" = (
+/obj/structure/window/framed/almayer/hull,
+/turf/open/floor/plating,
+/area/adminlevel/ert_station/pizza_station)
+"uz" = (
+/obj/structure/prop/souto_land/pole{
+ dir = 4;
+ pixel_y = 9
+ },
+/obj/structure/prop/souto_land/streamer{
+ dir = 6
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "red"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"uD" = (
+/obj/structure/surface/table/reinforced,
+/obj/structure/machinery/processor{
+ pixel_y = 10
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"uK" = (
+/obj/structure/platform/kutjevo/smooth,
+/obj/structure/platform/kutjevo/smooth{
+ dir = 8
+ },
+/obj/structure/barricade/handrail/kutjevo{
+ layer = 3.01
+ },
+/obj/structure/barricade/handrail/kutjevo{
+ dir = 8;
+ layer = 3.01
+ },
+/turf/open/space,
+/area/space)
+"uN" = (
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"uY" = (
+/obj/structure/surface/table/almayer,
+/obj/item/storage/box/cups,
+/obj/item/tool/kitchen/utensil/fork{
+ pixel_y = 4;
+ pixel_x = 11
+ },
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/obj/item/tool/kitchen/utensil/fork{
+ pixel_y = 4;
+ pixel_x = 19
+ },
+/obj/structure/machinery/door/poddoor/shutters/almayer{
+ name = "\improper Kitchen Shutters";
+ id = "kitchen_pizza_time"
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"vi" = (
+/obj/structure/pipes/vents/pump{
+ dir = 8
+ },
+/turf/open/floor/prison{
+ icon_state = "redcorner";
+ dir = 1
+ },
+/area/adminlevel/ert_station/pizza_station)
+"vq" = (
+/obj/structure/toilet{
+ pixel_y = 16
+ },
+/obj/structure/window/reinforced{
+ dir = 8;
+ health = 80
+ },
+/obj/structure/window/reinforced{
+ dir = 4;
+ health = 80
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/adminlevel/ert_station/pizza_station)
+"vr" = (
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 8
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 8
+ },
+/area/adminlevel/ert_station/pizza_station)
+"vA" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/obj/structure/machinery/light{
+ pixel_x = 16;
+ dir = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 8
+ },
+/area/adminlevel/ert_station/pizza_station)
+"vI" = (
+/obj/structure/disposalpipe/segment,
+/obj/item/storage/backpack/marine/satchel{
+ desc = "It's the heavy-duty black polymer kind. Time to take out the trash!";
+ icon = 'icons/obj/janitor.dmi';
+ icon_state = "trashbag3";
+ name = "trash bag";
+ pixel_x = -1;
+ pixel_y = 6
+ },
+/obj/item/storage/backpack/marine/satchel{
+ desc = "It's the heavy-duty black polymer kind. Time to take out the trash!";
+ icon = 'icons/obj/janitor.dmi';
+ icon_state = "trashbag3";
+ name = "trash bag";
+ pixel_x = 3;
+ pixel_y = -2
+ },
+/obj/item/weapon/broken_bottle{
+ pixel_y = 7;
+ pixel_x = -12
+ },
+/turf/open/floor/prison,
+/area/adminlevel/ert_station/pizza_station)
+"vR" = (
+/obj/structure/platform/kutjevo/smooth,
+/obj/structure/barricade/handrail/kutjevo{
+ layer = 3.01
+ },
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space)
+"vX" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply,
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"wa" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"wb" = (
+/obj/structure/platform/kutjevo/smooth,
+/turf/open/space,
+/area/space)
+"wi" = (
+/obj/structure/closet/secure_closet/fridge/meat/stock,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 6
+ },
+/turf/open/floor/prison{
+ icon_state = "greenblue";
+ dir = 9
+ },
+/area/adminlevel/ert_station/pizza_station)
+"wm" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/reagent_container/food/snacks/tomatomeat,
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"wo" = (
+/obj/structure/bed/chair/bolted{
+ dir = 8;
+ pixel_x = -7;
+ buckling_x = -7
+ },
+/turf/open/floor/prison{
+ dir = 8;
+ icon_state = "yellowcorner"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"wq" = (
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/prison{
+ icon_state = "redcorner";
+ dir = 4
+ },
+/area/adminlevel/ert_station/pizza_station)
+"wu" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/trash/ceramic_plate{
+ pixel_y = 4;
+ pixel_x = -2
+ },
+/obj/item/reagent_container/food/drinks/cans/beer{
+ pixel_x = 13;
+ pixel_y = 2
+ },
+/obj/item/reagent_container/food/snacks/carrotcakeslice{
+ pixel_y = 6;
+ pixel_x = -1
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"wz" = (
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 1
+ },
+/area/adminlevel/ert_station/pizza_station)
+"wD" = (
+/obj/structure/platform_decoration/kutjevo,
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space)
+"wP" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 8;
+ pixel_y = -3
+ },
+/obj/structure/barricade/handrail/pizza{
+ dir = 1;
+ pixel_y = 12
+ },
+/obj/structure/prop/souto_land/streamer{
+ dir = 6
+ },
+/obj/structure/bed/chair{
+ can_buckle = 0;
+ dir = 4
+ },
+/obj/structure/bed/chair{
+ can_buckle = 0;
+ dir = 4;
+ pixel_x = 1;
+ pixel_y = 3
+ },
+/obj/structure/bed/chair{
+ can_buckle = 0;
+ dir = 4;
+ pixel_x = 2;
+ pixel_y = 6
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"wQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 1
+ },
+/area/adminlevel/ert_station/pizza_station)
+"wX" = (
+/obj/structure/closet/crate/freezer/cooler/oj,
+/turf/open/floor/prison{
+ dir = 10;
+ icon_state = "floor_marked"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"xc" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8;
+ icon_state = "pipe-c"
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply,
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 1
+ },
+/area/adminlevel/ert_station/pizza_station)
+"xe" = (
+/obj/structure/platform/kutjevo/smooth,
+/obj/structure/platform/kutjevo/smooth{
+ dir = 8
+ },
+/turf/open/space/basic,
+/area/space)
+"xh" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/condiment/peppermill{
+ pixel_x = -10;
+ pixel_y = 12
+ },
+/obj/item/reagent_container/food/condiment/saltshaker{
+ pixel_x = -15;
+ pixel_y = 17
+ },
+/obj/item/trash/ceramic_plate{
+ pixel_y = 5;
+ pixel_x = 2
+ },
+/obj/item/reagent_container/food/snacks/applecakeslice{
+ pixel_y = 8;
+ pixel_x = 3
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"xl" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/tool/kitchen/tray{
+ pixel_y = 20
+ },
+/obj/item/reagent_container/food/snacks/sliceable/pizza/meatpizza{
+ pixel_y = 20
+ },
+/obj/item/reagent_container/food/drinks/cans/beer{
+ pixel_x = 5;
+ pixel_y = 6
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"xp" = (
+/obj/structure/platform/kutjevo/smooth,
+/obj/structure/disposalpipe/trunk,
+/obj/structure/barricade/handrail/kutjevo{
+ layer = 3.01
+ },
+/turf/open/space,
+/area/space)
+"xy" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "S";
+ pixel_y = -1
+ },
+/obj/structure/pipes/vents/pump{
+ dir = 8
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"xV" = (
+/obj/structure/pipes/vents/pump{
+ dir = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "blue_plate"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"xX" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/trash/plate{
+ pixel_y = 3;
+ pixel_x = 1
+ },
+/obj/item/reagent_container/food/snacks/mushroompizzaslice{
+ pixel_y = 4
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"yg" = (
+/obj/structure/platform_decoration/kutjevo,
+/turf/open/space/basic,
+/area/space)
+"yo" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 9
+ },
+/turf/open/floor/prison{
+ icon_state = "greenbluecorner";
+ dir = 4
+ },
+/area/adminlevel/ert_station/pizza_station)
+"yr" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 5
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 10
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ys" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 4;
+ pixel_y = -3
+ },
+/obj/structure/bed/chair/bolted{
+ dir = 8;
+ pixel_x = -7;
+ buckling_x = -7
+ },
+/obj/structure/sign/safety/hazard{
+ pixel_x = 15;
+ pixel_y = -32
+ },
+/obj/structure/sign/safety/airlock{
+ pixel_y = -32
+ },
+/obj/structure/prop/souto_land/streamer{
+ dir = 9
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"yE" = (
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/obj/structure/surface/table/almayer,
+/obj/item/trash/ceramic_plate{
+ pixel_y = 6
+ },
+/obj/item/reagent_container/food/snacks/toastedsandwich{
+ pixel_y = 17;
+ pixel_x = -1
+ },
+/obj/item/reagent_container/food/snacks/toastedsandwich{
+ pixel_y = 15;
+ pixel_x = 2
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"yG" = (
+/obj/structure/pipes/vents/scrubber{
+ dir = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "blue_plate"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"yK" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 9
+ },
+/turf/open/floor/prison{
+ icon_state = "greenblue";
+ dir = 8
+ },
+/area/adminlevel/ert_station/pizza_station)
+"yM" = (
+/obj/structure/sign/safety/fridge{
+ pixel_y = -32
+ },
+/obj/structure/sign/safety/fridge{
+ pixel_x = 32
+ },
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"yP" = (
+/obj/structure/surface/rack,
+/obj/item/reagent_container/food/snacks/bigbiteburger{
+ pixel_x = -4
+ },
+/obj/item/reagent_container/food/snacks/bigbiteburger{
+ pixel_x = 3
+ },
+/turf/open/floor/prison{
+ icon_state = "greenblue";
+ dir = 10
+ },
+/area/adminlevel/ert_station/pizza_station)
+"zf" = (
+/obj/structure/sign/safety/galley{
+ pixel_x = -17
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"zh" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 8
+ },
+/area/adminlevel/ert_station/pizza_station)
+"zj" = (
+/obj/structure/surface/table/almayer,
+/obj/item/storage/toolbox/mechanical{
+ pixel_y = -4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/adminlevel/ert_station/pizza_station)
+"zl" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/condiment/hotsauce/cholula{
+ pixel_y = 28;
+ pixel_x = 16
+ },
+/obj/item/reagent_container/food/condiment/saltshaker{
+ pixel_x = 7;
+ pixel_y = 17
+ },
+/obj/item/reagent_container/food/condiment/peppermill{
+ pixel_x = 13;
+ pixel_y = 12
+ },
+/obj/item/tool/kitchen/utensil/fork{
+ pixel_y = 4;
+ pixel_x = -3
+ },
+/obj/item/tool/kitchen/utensil/knife{
+ pixel_y = 4;
+ pixel_x = 3
+ },
+/obj/structure/machinery/light,
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"zx" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/obj/item/trash/ceramic_plate{
+ pixel_y = 2
+ },
+/obj/item/trash/ceramic_plate{
+ pixel_y = 4
+ },
+/obj/item/trash/ceramic_plate{
+ pixel_y = 6
+ },
+/obj/item/trash/ceramic_plate{
+ pixel_y = 8
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"zz" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 4;
+ pixel_y = -3
+ },
+/obj/structure/bed/chair/bolted{
+ dir = 8;
+ pixel_x = -7;
+ buckling_x = -7
+ },
+/obj/structure/prop/souto_land/streamer{
+ dir = 9
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"zC" = (
+/obj/structure/bed/chair/bolted{
+ dir = 4;
+ pixel_x = 7;
+ buckling_x = 7
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"zE" = (
+/obj/structure/machinery/door_control/airlock{
+ id = "pizza_takeaway";
+ name = "Airlock - Inside";
+ pixel_x = 28;
+ pixel_y = 8
+ },
+/obj/structure/machinery/door_control/airlock{
+ id = "pizza_takeaway_out";
+ name = "Airlock - Out";
+ pixel_x = 28;
+ pixel_y = 18
+ },
+/turf/open/floor/plating/prison,
+/area/adminlevel/ert_station/pizza_station)
+"zM" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "redcorner";
+ dir = 1
+ },
+/area/adminlevel/ert_station/pizza_station)
+"zQ" = (
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 4
+ },
+/area/adminlevel/ert_station/pizza_station)
+"zW" = (
+/turf/open/floor/prison{
+ icon_state = "greenblue";
+ dir = 4
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Ab" = (
+/obj/structure/machinery/gibber{
+ pixel_y = 10
+ },
+/obj/structure/surface/table/reinforced,
+/obj/structure/machinery/light{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Ac" = (
+/obj/structure/closet/secure_closet/fridge/dry,
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/obj/structure/sign/safety/galley{
+ pixel_x = -24
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Aj" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 8
+ },
+/obj/structure/sign/safety/bathunisex{
+ pixel_x = 15;
+ pixel_y = 32
+ },
+/turf/open/floor{
+ icon_state = "blueyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Ao" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/obj/structure/machinery/light{
+ pixel_x = 16;
+ dir = 1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Au" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 6
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 8
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Ax" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/condiment/hotsauce/franks{
+ pixel_y = -3;
+ pixel_x = 16
+ },
+/obj/item/ashtray/glass{
+ pixel_x = -4;
+ pixel_y = -1
+ },
+/obj/item/clothing/mask/cigarette,
+/obj/item/clothing/mask/cigarette{
+ pixel_x = -2;
+ pixel_y = -2
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"AB" = (
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"AD" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/machinery/door/airlock/almayer/generic{
+ name = "\improper Central Fridge"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"AH" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/turf/open/floor/prison{
+ dir = 1;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"AV" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor{
+ icon_state = "blueyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"AW" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out"
+ },
+/obj/structure/sign/safety/debark_lounge{
+ pixel_y = -32
+ },
+/obj/structure/sign/safety/landingzone{
+ pixel_y = -32;
+ pixel_x = 15
+ },
+/turf/open/floor/prison{
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Bu" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E"
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"By" = (
+/obj/structure/machinery/suit_storage_unit/standard_unit{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/structure/sign/safety/suit_storage{
+ pixel_x = 32
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Bz" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/trash/plate{
+ pixel_y = 2
+ },
+/obj/item/trash/plate{
+ pixel_y = 4
+ },
+/obj/item/trash/plate{
+ pixel_y = 6
+ },
+/obj/item/trash/plate{
+ pixel_y = 8
+ },
+/obj/item/trash/plate{
+ pixel_y = 10
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"BC" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/pizzabox{
+ pixel_y = 5
+ },
+/obj/item/pizzabox{
+ pixel_y = 8
+ },
+/obj/item/pizzabox{
+ pixel_y = 11
+ },
+/obj/structure/machinery/light,
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"BJ" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/obj/structure/disposalpipe/junction{
+ dir = 1;
+ icon_state = "pipe-j2"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"BU" = (
+/obj/structure/bed/chair/bolted{
+ dir = 1;
+ pixel_y = 12;
+ buckling_y = 12
+ },
+/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
+ pixel_x = -30
+ },
+/turf/open/floor/prison{
+ dir = 8;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Ck" = (
+/obj/structure/sink{
+ dir = 1;
+ pixel_y = -10
+ },
+/obj/structure/window/reinforced{
+ dir = 8;
+ health = 80
+ },
+/obj/structure/machinery/light/small{
+ pixel_x = 16
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/adminlevel/ert_station/pizza_station)
+"Cp" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/drinks/cans/waterbottle{
+ pixel_x = -6;
+ pixel_y = 14
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Cv" = (
+/obj/structure/closet/secure_closet/freezer/fridge/full,
+/obj/item/reagent_container/food/condiment/enzyme,
+/obj/item/reagent_container/food/condiment/enzyme,
+/obj/item/reagent_container/food/drinks/soymilk,
+/obj/item/reagent_container/food/drinks/soymilk,
+/obj/item/reagent_container/food/condiment/hotsauce/tabasco,
+/obj/item/reagent_container/food/condiment/hotsauce/sriracha,
+/obj/item/reagent_container/food/condiment/hotsauce/franks,
+/obj/item/reagent_container/food/condiment/hotsauce/cholula,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "greenblue";
+ dir = 1
+ },
+/area/adminlevel/ert_station/pizza_station)
+"CO" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"CP" = (
+/turf/open/floor/almayer_hull,
+/area/space)
+"CT" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/machinery/chem_dispenser/soda{
+ density = 0;
+ pixel_y = 30
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Db" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 4;
+ pixel_y = -3
+ },
+/obj/structure/barricade/handrail/pizza{
+ dir = 1;
+ pixel_y = 12
+ },
+/obj/structure/prop/souto_land/streamer{
+ dir = 9
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Dd" = (
+/obj/structure/pipes/vents/pump{
+ dir = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 4
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Dx" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/reagent_container/food/snacks/sliceable/bread{
+ pixel_y = 8
+ },
+/obj/item/reagent_container/food/snacks/sliceable/bread{
+ pixel_y = 4
+ },
+/obj/item/reagent_container/food/snacks/sliceable/bread,
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"DF" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/machinery/chem_dispenser/soda/beer{
+ density = 0;
+ pixel_y = 31
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"DH" = (
+/obj/structure/platform/kutjevo/smooth,
+/obj/structure/barricade/handrail/kutjevo{
+ layer = 3.01
+ },
+/turf/open/space/basic,
+/area/space)
+"DW" = (
+/obj/structure/pipes/vents/pump,
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 1
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Ee" = (
+/obj/structure/platform/kutjevo/smooth{
+ dir = 8
+ },
+/obj/structure/barricade/handrail/kutjevo{
+ dir = 8;
+ layer = 3.01
+ },
+/turf/open/space/basic,
+/area/space)
+"Eh" = (
+/obj/structure/prop/souto_land/pole{
+ dir = 4;
+ pixel_y = 9
+ },
+/obj/structure/prop/souto_land/streamer{
+ dir = 6
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply,
+/turf/open/floor/prison{
+ icon_state = "red"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Ei" = (
+/turf/closed/wall/almayer/outer,
+/area/adminlevel/ert_station/pizza_station)
+"Ep" = (
+/obj/structure/machinery/door/poddoor/almayer/open{
+ name = "\improper Umbillical Airlock";
+ id = "pizza_ert_arrival"
+ },
+/obj/structure/machinery/door/airlock/multi_tile/almayer/generic,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"EH" = (
+/obj/structure/machinery/vending/cigarette{
+ pixel_y = 18;
+ layer = 3.01;
+ density = 0
+ },
+/turf/open/floor/prison{
+ dir = 5;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"EK" = (
+/obj/structure/machinery/door/poddoor/almayer/locked{
+ icon_state = "almayer_pdoor";
+ id = "pizza_takeaway"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"EO" = (
+/obj/structure/machinery/door/poddoor/almayer/open{
+ name = "\improper Umbillical Airlock";
+ id = "pizza_ert_arrival"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"EZ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Fd" = (
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/prison{
+ icon_state = "bright_clean2"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Ff" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/trash/plate{
+ pixel_y = 10;
+ pixel_x = 1
+ },
+/obj/item/trash/plate{
+ pixel_y = -1
+ },
+/obj/item/reagent_container/food/snacks/hotdog{
+ pixel_y = 13
+ },
+/obj/item/reagent_container/food/condiment/coldsauce{
+ pixel_y = 11;
+ pixel_x = -7
+ },
+/obj/item/reagent_container/food/snacks/grilledcheese{
+ pixel_y = 6;
+ pixel_x = -1
+ },
+/obj/item/reagent_container/food/drinks/coffee{
+ pixel_y = 2;
+ pixel_x = 8
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Fj" = (
+/obj/structure/closet/crate/freezer,
+/obj/item/reagent_container/food/snacks/ricepudding,
+/turf/open/floor/prison{
+ dir = 10;
+ icon_state = "floor_marked"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Fp" = (
+/obj/structure/closet/crate/freezer,
+/obj/structure/machinery/light/blue,
+/obj/item/reagent_container/food/snacks/packaged_burrito,
+/obj/item/reagent_container/food/snacks/packaged_burrito,
+/obj/item/reagent_container/food/snacks/packaged_burrito,
+/obj/item/reagent_container/food/snacks/packaged_hdogs,
+/obj/item/reagent_container/food/snacks/packaged_hdogs,
+/obj/item/reagent_container/food/snacks/packaged_hdogs,
+/obj/item/reagent_container/food/snacks/packaged_burger,
+/obj/item/reagent_container/food/snacks/packaged_burger,
+/obj/item/reagent_container/food/snacks/packaged_burger,
+/turf/open/floor/prison{
+ dir = 10;
+ icon_state = "floor_marked"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Fz" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/tool/kitchen/tray{
+ pixel_y = 5
+ },
+/obj/item/reagent_container/food/snacks/sliceable/pizza/meatpizza{
+ pixel_y = 5
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"FB" = (
+/obj/structure/machinery/light{
+ pixel_x = 16
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 5
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"FD" = (
+/obj/structure/machinery/door/poddoor/almayer/locked{
+ icon_state = "almayer_pdoor";
+ id = "pizza_takeaway"
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"FL" = (
+/turf/closed/shuttle/ert{
+ icon_state = "rightengine_1";
+ opacity = 0
+ },
+/area/adminlevel/ert_station/pizza_station)
+"FS" = (
+/obj/structure/machinery/light,
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"FY" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/barricade/handrail/pizza{
+ dir = 8;
+ pixel_y = -3
+ },
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/obj/item/reagent_container/food/drinks/cans/cola{
+ pixel_y = 6;
+ pixel_x = -6
+ },
+/obj/item/reagent_container/food/drinks/cans/cola{
+ pixel_y = 4;
+ pixel_x = -3
+ },
+/obj/item/reagent_container/food/drinks/cans/iced_tea{
+ pixel_x = 8;
+ pixel_y = 10
+ },
+/obj/item/reagent_container/food/drinks/cans/iced_tea{
+ pixel_x = 11;
+ pixel_y = 5
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Gd" = (
+/obj/structure/prop/souto_land/pole{
+ dir = 8;
+ pixel_y = 9
+ },
+/obj/structure/prop/souto_land/streamer{
+ dir = 9
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "red"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Gh" = (
+/obj/structure/machinery/disposal{
+ layer = 2.97
+ },
+/obj/structure/disposalpipe/trunk{
+ dir = 4
+ },
+/obj/structure/sign/poster{
+ desc = "Eat an EAT bar! ...Aren't they called MEAT bars?";
+ icon_state = "poster7";
+ name = "EAT - poster";
+ pixel_y = 30
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Gj" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 8
+ },
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Gm" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "red"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Gn" = (
+/obj/structure/platform/kutjevo/smooth{
+ dir = 1
+ },
+/obj/structure/barricade/handrail{
+ dir = 1;
+ icon_state = "hr_kutjevo";
+ name = "solar lattice"
+ },
+/obj/structure/platform/kutjevo/smooth{
+ dir = 4
+ },
+/turf/open/space/basic,
+/area/space)
+"Gp" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/snacks/mushroomsoup{
+ pixel_y = 6
+ },
+/obj/item/tool/kitchen/utensil/spoon{
+ pixel_y = 4;
+ pixel_x = 7
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Gt" = (
+/obj/structure/machinery/atm{
+ pixel_y = 32;
+ pixel_x = 2
+ },
+/turf/open/floor/prison{
+ dir = 5;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"GB" = (
+/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
+ pixel_x = 30
+ },
+/turf/open/floor/prison{
+ dir = 4;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"GM" = (
+/obj/structure/sign/safety/airlock{
+ pixel_y = 32
+ },
+/obj/structure/sign/safety/hazard{
+ pixel_x = 15;
+ pixel_y = 32
+ },
+/turf/open/space/basic,
+/area/space)
+"Ha" = (
+/turf/closed/shuttle/ert{
+ icon_state = "stan_leftengine"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Hd" = (
+/turf/open/floor/prison{
+ dir = 4;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Hg" = (
+/obj/structure/platform/kutjevo/smooth{
+ dir = 8
+ },
+/turf/open/space,
+/area/space)
+"HL" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/obj/item/reagent_container/food/drinks/coffeecup{
+ pixel_x = -5;
+ pixel_y = 4
+ },
+/obj/item/reagent_container/food/drinks/coffeecup{
+ pixel_y = 4;
+ pixel_x = 5
+ },
+/obj/item/reagent_container/food/drinks/coffeecup{
+ pixel_y = 2
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"HQ" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/trash/plate{
+ pixel_y = 5
+ },
+/obj/item/reagent_container/food/snacks/bigbiteburger{
+ pixel_y = 10;
+ pixel_x = -1
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Ib" = (
+/obj/structure/pipes/vents/pump{
+ dir = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 8
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Iq" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/drinks/cans/beer{
+ pixel_x = 5;
+ pixel_y = 13
+ },
+/obj/item/trash/ceramic_plate{
+ pixel_y = 1
+ },
+/obj/item/reagent_container/food/snacks/meatpizzaslice{
+ pixel_x = -1;
+ pixel_y = 3
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ID" = (
+/turf/closed/wall/rock/red,
+/area/space)
+"IJ" = (
+/obj/structure/pipes/vents/scrubber{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 8
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Jd" = (
+/obj/structure/closet{
+ pixel_y = 16;
+ density = 0
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/adminlevel/ert_station/pizza_station)
+"Jl" = (
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 8
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Jm" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E"
+ },
+/turf/open/floor/prison,
+/area/adminlevel/ert_station/pizza_station)
+"Jq" = (
+/obj/structure/closet/secure_closet/fridge/organic/stock,
+/turf/open/floor/prison{
+ icon_state = "greenblue"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"JP" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/tool/kitchen/knife/butcher,
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"JR" = (
+/obj/structure/bed/sofa/vert/grey/bot,
+/turf/open/floor/prison,
+/area/adminlevel/ert_station/pizza_station)
+"JU" = (
+/obj/structure/janitorialcart{
+ pixel_y = 15
+ },
+/obj/item/tool/wet_sign{
+ pixel_x = -8;
+ pixel_y = 6
+ },
+/obj/item/tool/wet_sign{
+ pixel_x = -3;
+ pixel_y = 2
+ },
+/obj/item/reagent_container/glass/bucket{
+ pixel_x = 9
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"JV" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 1;
+ pixel_y = 12
+ },
+/obj/structure/bed/chair/bolted{
+ pixel_y = -1;
+ buckling_y = -1
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Kb" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/barricade/handrail/pizza{
+ dir = 4;
+ pixel_y = -3
+ },
+/obj/item/corncob,
+/obj/item/corncob{
+ pixel_y = 7
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Kc" = (
+/obj/structure/sign/safety/airlock{
+ pixel_y = -32
+ },
+/obj/structure/sign/safety/hazard{
+ pixel_x = 15;
+ pixel_y = -32
+ },
+/obj/structure/surface/table/reinforced/almayer_B,
+/obj/structure/machinery/door_control/airlock{
+ id = "pizza_takeaway_out";
+ name = "Airlock - Out";
+ pixel_x = 2;
+ pixel_y = 18
+ },
+/obj/structure/sign/safety/manualopenclose{
+ pixel_y = -3;
+ pixel_x = 7
+ },
+/turf/open/floor/almayer_hull,
+/area/adminlevel/ert_station/pizza_station)
+"Kd" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "dark_sterile"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Kv" = (
+/obj/structure/surface/table/reinforced,
+/obj/structure/sink/kitchen{
+ pixel_y = 12
+ },
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"KB" = (
+/obj/structure/sign/safety/bathunisex{
+ pixel_x = 15;
+ pixel_y = 32
+ },
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/washing_machine{
+ pixel_y = 10
+ },
+/obj/structure/sign/safety/water{
+ pixel_x = -17
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/adminlevel/ert_station/pizza_station)
+"KC" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 8;
+ pixel_y = -3
+ },
+/obj/structure/prop/souto_land/streamer{
+ dir = 6
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"KY" = (
+/turf/open/floor/prison{
+ icon_state = "blue_plate"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"La" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/obj/item/reagent_container/food/condiment/hotsauce/franks/macho{
+ pixel_y = 11;
+ pixel_x = -6
+ },
+/obj/item/reagent_container/food/condiment/hotsauce/franks{
+ pixel_y = 11;
+ pixel_x = 6
+ },
+/obj/item/reagent_container/food/condiment/coldsauce{
+ pixel_y = 11
+ },
+/obj/item/reagent_container/food/condiment/hotsauce/cholula{
+ pixel_y = 6
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Lk" = (
+/obj/structure/pipes/vents/scrubber{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Ln" = (
+/obj/structure/surface/table/reinforced/prison,
+/obj/structure/machinery/computer{
+ icon_state = "security_det";
+ name = "Shuttle control deck";
+ pixel_y = 6
+ },
+/obj/structure/machinery/light/small{
+ dir = 8;
+ pixel_x = -11;
+ pixel_y = 10
+ },
+/turf/open/floor/plating/prison,
+/area/adminlevel/ert_station/pizza_station)
+"Ly" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 4
+ },
+/obj/structure/barricade/handrail/pizza{
+ dir = 1;
+ pixel_y = 12
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"LH" = (
+/obj/structure/bed/chair/bolted{
+ dir = 1;
+ pixel_y = 12;
+ buckling_y = 12
+ },
+/obj/structure/prop/souto_land/pole{
+ dir = 8;
+ pixel_y = 9
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Mj" = (
+/obj/structure/bed/chair/dropship/pilot{
+ dir = 1
+ },
+/obj/structure/machinery/light/small{
+ dir = 8;
+ pixel_x = -11;
+ pixel_y = 10
+ },
+/turf/open/floor/plating/prison,
+/area/adminlevel/ert_station/pizza_station)
+"Mk" = (
+/obj/structure/machinery/vending/coffee{
+ pixel_y = 12
+ },
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/turf/open/floor/prison{
+ icon_state = "bright_clean2"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Mt" = (
+/obj/structure/bed/sofa/south/grey/left,
+/obj/item/storage/briefcase/stowaway,
+/turf/open/floor/prison{
+ dir = 9;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Mz" = (
+/obj/structure/platform/kutjevo/smooth,
+/obj/structure/platform/kutjevo/smooth{
+ dir = 8
+ },
+/turf/open/space,
+/area/space)
+"MB" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/pizzabox/meat,
+/obj/item/weapon/pizza_cutter,
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"MK" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/barricade/handrail/pizza{
+ dir = 8;
+ pixel_y = -3
+ },
+/obj/item/reagent_container/food/drinks/bottle/wine{
+ pixel_y = 7;
+ pixel_x = -6
+ },
+/obj/item/reagent_container/food/drinks/bottle/vermouth{
+ pixel_y = 5;
+ pixel_x = -2
+ },
+/obj/item/reagent_container/food/drinks/bottle/whiskey{
+ pixel_x = -4
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"MS" = (
+/obj/structure/machinery/shower{
+ dir = 1
+ },
+/obj/structure/window/reinforced{
+ dir = 8;
+ health = 80
+ },
+/obj/structure/window/reinforced{
+ dir = 4;
+ health = 80
+ },
+/obj/structure/machinery/light/small{
+ pixel_x = 16
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/adminlevel/ert_station/pizza_station)
+"MT" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "S";
+ pixel_y = -1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "dark_sterile"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"MX" = (
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 9
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Nb" = (
+/obj/item/reagent_container/food/condiment/hotsauce/franks/macho{
+ pixel_y = 18;
+ pixel_x = -6
+ },
+/obj/item/reagent_container/food/condiment/hotsauce/franks{
+ pixel_y = 18;
+ pixel_x = 6
+ },
+/obj/item/reagent_container/food/condiment/hotsauce/cholula{
+ pixel_y = 16
+ },
+/obj/structure/surface/table/almayer,
+/obj/item/reagent_container/food/condiment/coldsauce{
+ pixel_y = 13;
+ pixel_x = 8
+ },
+/obj/structure/machinery/light{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Nl" = (
+/turf/open/floor/prison,
+/area/adminlevel/ert_station/pizza_station)
+"No" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
+ },
+/turf/open/floor/prison,
+/area/adminlevel/ert_station/pizza_station)
+"Nr" = (
+/obj/structure/machinery/vending/cola{
+ pixel_y = 12
+ },
+/obj/structure/sign/safety/coffee{
+ pixel_y = 32;
+ pixel_x = -13
+ },
+/turf/open/floor/prison{
+ icon_state = "bright_clean2"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Ny" = (
+/obj/structure/sink{
+ dir = 1;
+ pixel_y = -10
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/adminlevel/ert_station/pizza_station)
+"NG" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"NH" = (
+/obj/structure/bed/sofa/vert/grey/top,
+/turf/open/floor/prison,
+/area/adminlevel/ert_station/pizza_station)
+"NJ" = (
+/turf/closed/shuttle/ert{
+ icon_state = "stan20"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"NN" = (
+/obj/structure/closet/secure_closet/fridge/groceries/stock,
+/obj/structure/machinery/light/small/blue{
+ dir = 1;
+ pixel_y = 20
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 6
+ },
+/turf/open/floor/prison{
+ icon_state = "greenblue";
+ dir = 9
+ },
+/area/adminlevel/ert_station/pizza_station)
+"NP" = (
+/obj/structure/sink/kitchen{
+ pixel_x = 11;
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/structure/sign/safety/water{
+ pixel_x = 38
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"NT" = (
+/obj/structure/platform_decoration/kutjevo{
+ dir = 8
+ },
+/turf/open/space,
+/area/space)
+"NV" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/obj/structure/machinery/door/airlock/almayer/generic{
+ name = "\improper Showers & Bathroom";
+ dir = 1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Og" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/snacks/sliceable/pizza/mushroompizza{
+ pixel_y = -2;
+ pixel_x = -16
+ },
+/obj/item/trash/plate{
+ pixel_y = 8;
+ pixel_x = 3
+ },
+/obj/item/reagent_container/food/snacks/meatpizzaslice{
+ pixel_y = 8;
+ pixel_x = -1
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Oh" = (
+/obj/structure/prop/souto_land/streamer{
+ pixel_y = 9;
+ pixel_x = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "red"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"OE" = (
+/obj/structure/prop/souto_land/streamer{
+ pixel_y = 9;
+ pixel_x = -1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "red"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"OG" = (
+/obj/structure/platform/kutjevo/smooth{
+ dir = 1
+ },
+/obj/structure/barricade/handrail{
+ dir = 1;
+ icon_state = "hr_kutjevo";
+ name = "solar lattice"
+ },
+/obj/structure/lattice,
+/turf/open/space,
+/area/space)
+"OJ" = (
+/turf/open/floor{
+ desc = "A sophisticated device that captures and converts light from the system's star into energy for the station.";
+ icon_state = "solarpanel";
+ name = "solarpanel"
+ },
+/area/space)
+"OK" = (
+/obj/structure/machinery/vending/cigarette{
+ pixel_y = 3;
+ layer = 4.15
+ },
+/obj/structure/barricade/handrail/pizza{
+ dir = 8
+ },
+/turf/open/floor/prison{
+ icon_state = "bright_clean2"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"OQ" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 1;
+ pixel_y = 12
+ },
+/obj/structure/barricade/handrail/pizza{
+ dir = 8;
+ pixel_y = 13
+ },
+/obj/structure/barricade/handrail/pizza{
+ dir = 8
+ },
+/obj/structure/flora/pottedplant{
+ icon_state = "pottedplant_27";
+ pixel_y = 13;
+ pixel_x = -2;
+ layer = 4.11
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"OS" = (
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 4
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Pa" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Pi" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 6
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 1
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Pl" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 1;
+ pixel_y = 12
+ },
+/obj/structure/reagent_dispensers/water_cooler/stacks{
+ density = 0;
+ pixel_x = -8;
+ pixel_y = 15;
+ layer = 4.11
+ },
+/obj/structure/flora/pottedplant{
+ icon_state = "pottedplant_17";
+ pixel_x = -8;
+ pixel_y = 2;
+ layer = 4.12
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Pn" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/clothing/suit/chef/classic,
+/obj/item/clothing/gloves/latex,
+/obj/item/clothing/suit/chef/classic,
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Pq" = (
+/obj/structure/platform/kutjevo/smooth,
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space)
+"Ps" = (
+/obj/item/reagent_container/glass/bucket/janibucket{
+ pixel_x = -5;
+ pixel_y = 10
+ },
+/obj/item/tool/mop{
+ pixel_x = -2;
+ pixel_y = 8
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Py" = (
+/obj/structure/platform/kutjevo/smooth{
+ dir = 1
+ },
+/obj/structure/platform/kutjevo/smooth{
+ dir = 4
+ },
+/obj/structure/barricade/handrail{
+ dir = 1;
+ icon_state = "hr_kutjevo";
+ name = "solar lattice"
+ },
+/turf/open/space,
+/area/space)
+"PF" = (
+/obj/structure/platform/kutjevo/smooth{
+ dir = 8
+ },
+/turf/open/space/basic,
+/area/space)
+"PH" = (
+/obj/structure/surface/table/reinforced/cloth,
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"PL" = (
+/obj/structure/sign/safety/airlock{
+ pixel_y = -32
+ },
+/obj/structure/sign/safety/hazard{
+ pixel_x = 15;
+ pixel_y = -32
+ },
+/turf/open/floor/almayer_hull,
+/area/adminlevel/ert_station/pizza_station)
+"Qe" = (
+/obj/structure/pipes/vents/scrubber{
+ dir = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"QN" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 6
+ },
+/turf/open/floor/almayer{
+ icon_state = "dark_sterile"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Ra" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/trash/plate{
+ pixel_y = 10
+ },
+/obj/item/reagent_container/food/snacks/vegetablepizzaslice{
+ pixel_y = 10;
+ pixel_x = -2
+ },
+/obj/item/reagent_container/food/drinks/cans/boda{
+ pixel_y = 16;
+ pixel_x = -11;
+ layer = 3.03
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Rf" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Rh" = (
+/obj/structure/window/framed/almayer/hull,
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/turf/open/floor/plating,
+/area/adminlevel/ert_station/pizza_station)
+"RC" = (
+/obj/structure/platform_decoration/kutjevo{
+ dir = 1
+ },
+/turf/open/space/basic,
+/area/space)
+"RG" = (
+/obj/structure/platform/kutjevo/smooth{
+ dir = 4
+ },
+/obj/structure/platform/kutjevo/smooth,
+/turf/open/space/basic,
+/area/space)
+"RN" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 1;
+ pixel_y = 12;
+ layer = 4.11
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"RP" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 8
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 6
+ },
+/turf/open/floor{
+ icon_state = "blueyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"RV" = (
+/obj/item/clothing/suit/chef/classic,
+/obj/item/clothing/gloves/latex,
+/obj/item/clothing/head/chefhat,
+/obj/structure/surface/table/reinforced,
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Se" = (
+/obj/structure/bed/chair/bolted{
+ dir = 1;
+ pixel_y = 12;
+ buckling_y = 12
+ },
+/obj/structure/prop/souto_land/streamer{
+ pixel_y = 9
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Sg" = (
+/obj/structure/platform/kutjevo/smooth{
+ dir = 1
+ },
+/obj/structure/barricade/handrail{
+ dir = 1;
+ icon_state = "hr_kutjevo";
+ name = "solar lattice"
+ },
+/turf/open/space,
+/area/space)
+"So" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 1
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Sp" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Sq" = (
+/obj/structure/kitchenspike,
+/obj/item/reagent_container/food/snacks/meat{
+ pixel_y = -5
+ },
+/obj/item/reagent_container/food/snacks/meat{
+ pixel_y = 2
+ },
+/obj/effect/decal/cleanable/blood,
+/turf/open/floor/prison{
+ icon_state = "greenblue"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Sr" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/drinks/cans/beer{
+ pixel_x = -13;
+ pixel_y = -6
+ },
+/obj/item/tool/kitchen/utensil/fork{
+ pixel_y = 1;
+ pixel_x = 5
+ },
+/obj/item/tool/kitchen/utensil/knife{
+ pixel_y = 3;
+ pixel_x = 9
+ },
+/obj/item/reagent_container/food/snacks/meatsteak{
+ pixel_y = 5;
+ pixel_x = 1
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Sz" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/prison{
+ icon_state = "bright_clean2"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"SL" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/flora/pottedplant{
+ icon_state = "pottedplant_21";
+ pixel_y = 28;
+ pixel_x = 3
+ },
+/obj/item/reagent_container/food/drinks/cans/souto/diet/lime{
+ pixel_y = 15;
+ pixel_x = -8
+ },
+/turf/open/floor/prison{
+ dir = 8;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ST" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/sign/poster/ad{
+ icon_state = "poster41";
+ pixel_y = 32
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"SV" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/obj/structure/machinery/door/airlock/almayer/generic{
+ name = "\improper Showers"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Te" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/reagent_container/food/condiment/hotsauce/cholula{
+ pixel_y = 28;
+ pixel_x = 16
+ },
+/obj/item/tool/kitchen/utensil/pknife{
+ pixel_x = 13;
+ pixel_y = 1
+ },
+/obj/item/tool/kitchen/utensil/pfork{
+ pixel_x = -5;
+ pixel_y = 5
+ },
+/obj/item/reagent_container/food/snacks/chocolatecakeslice{
+ pixel_y = 2;
+ pixel_x = 2
+ },
+/obj/item/reagent_container/food/drinks/coffee{
+ pixel_y = 13;
+ pixel_x = 5
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Tu" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"TC" = (
+/turf/open/floor/prison{
+ icon_state = "yellowcorner"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"TD" = (
+/turf/open/floor/prison{
+ icon_state = "bright_clean2"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"TE" = (
+/turf/open/mars_dirt{
+ icon_state = "mars_cave_3"
+ },
+/area/space)
+"TH" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/obj/item/storage/box/drinkingglasses{
+ layer = 2.97;
+ pixel_x = 14
+ },
+/obj/item/reagent_container/food/drinks/bottle/orangejuice{
+ layer = 2.97
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"TK" = (
+/turf/closed/shuttle/ert,
+/area/adminlevel/ert_station/pizza_station)
+"TQ" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out";
+ pixel_y = -1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out";
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "NE-out";
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out";
+ pixel_y = -1
+ },
+/obj/structure/pipes/standard/manifold/fourway/hidden/supply,
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"TY" = (
+/obj/structure/bed/chair{
+ can_buckle = 0;
+ dir = 4
+ },
+/obj/structure/bed/chair{
+ can_buckle = 0;
+ dir = 4;
+ pixel_x = 1;
+ pixel_y = 3
+ },
+/obj/structure/bed/chair{
+ can_buckle = 0;
+ dir = 4;
+ pixel_x = 2;
+ pixel_y = 6
+ },
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Uu" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/structure/machinery/power/apc/antag{
+ dir = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Ux" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 1;
+ pixel_y = 12
+ },
+/obj/structure/bed/chair/bolted{
+ pixel_y = -1;
+ buckling_y = -1
+ },
+/obj/structure/machinery/light{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"UB" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 6
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Vj" = (
+/obj/structure/closet/secure_closet/fridge/dry/stock,
+/turf/open/floor/prison{
+ icon_state = "greenblue";
+ dir = 5
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Vm" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/tool/kitchen/tray{
+ pixel_y = 2
+ },
+/obj/item/reagent_container/food/snacks/sliceable/pizza/mushroompizza{
+ pixel_y = 1
+ },
+/turf/open/floor/prison{
+ icon_state = "greenbluecorner"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Vs" = (
+/obj/structure/disposalpipe/segment{
+ dir = 2;
+ icon_state = "pipe-c"
+ },
+/obj/structure/machinery/light{
+ pixel_x = 16;
+ dir = 1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 10
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 8
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Vt" = (
+/turf/closed/shuttle/ert{
+ icon_state = "stan25"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Vv" = (
+/obj/docking_port/stationary/emergency_response/idle_port4,
+/turf/open/floor/plating,
+/area/adminlevel/ert_station/pizza_station)
+"Vx" = (
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space)
+"VD" = (
+/obj/structure/barricade/handrail/pizza{
+ dir = 1;
+ pixel_y = 12
+ },
+/obj/structure/reagent_dispensers/water_cooler/stacks{
+ density = 0;
+ pixel_x = -3;
+ pixel_y = 15;
+ layer = 4.03
+ },
+/obj/structure/surface/table/almayer{
+ layer = 4.02
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"VK" = (
+/turf/open/floor/prison{
+ dir = 10;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"VN" = (
+/obj/structure/bed/chair/bolted{
+ dir = 8;
+ pixel_x = -7;
+ buckling_x = -7
+ },
+/obj/structure/sign/poster{
+ desc = "One of those hot, tanned babes back the beaches of good ol' Earth.";
+ icon_state = "poster12";
+ name = "Beach Babe Pinup";
+ pixel_x = 6;
+ pixel_y = 30;
+ serial_number = 12
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"VQ" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"VS" = (
+/obj/structure/surface/table/almayer,
+/obj/item/storage/donut_box{
+ pixel_y = -8
+ },
+/turf/open/floor/prison,
+/area/adminlevel/ert_station/pizza_station)
+"VX" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "S";
+ pixel_y = -1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Wb" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/obj/structure/machinery/door/poddoor/almayer/open{
+ name = "\improper Umbillical Airlock";
+ id = "pizza_ert_arrival"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"WL" = (
+/obj/structure/window/framed/almayer/hull,
+/obj/structure/machinery/door/firedoor/border_only/almayer,
+/turf/open/floor/plating,
+/area/adminlevel/ert_station/pizza_station)
+"WP" = (
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"WS" = (
+/obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{
+ dir = 1;
+ req_one_access = null
+ },
+/turf/open/floor/plating/prison,
+/area/adminlevel/ert_station/pizza_station)
+"WZ" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{
+ name = "\improper Kitchen and Cleaning"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Xa" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out"
+ },
+/obj/structure/sign/safety/debark_lounge{
+ pixel_y = 32
+ },
+/obj/structure/sign/safety/landingzone{
+ pixel_y = 32;
+ pixel_x = 15
+ },
+/turf/open/floor/prison{
+ dir = 1;
+ icon_state = "yellow"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Xg" = (
+/obj/structure/prop/souto_land/streamer{
+ pixel_y = 9;
+ pixel_x = 1
+ },
+/obj/structure/pipes/standard/manifold/hidden/supply,
+/turf/open/floor/prison{
+ icon_state = "red"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Xj" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E"
+ },
+/obj/structure/sign/safety/airlock{
+ pixel_y = 32
+ },
+/obj/structure/sign/safety/hazard{
+ pixel_x = 15;
+ pixel_y = 32
+ },
+/obj/structure/closet/crate/trashcart,
+/obj/item/storage/bag/trash,
+/obj/item/storage/bag/trash{
+ pixel_x = -6;
+ pixel_y = 5
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Xn" = (
+/obj/structure/platform_decoration/kutjevo{
+ dir = 4
+ },
+/turf/open/space,
+/area/space)
+"Xq" = (
+/obj/structure/surface/rack,
+/obj/structure/machinery/light/small/blue{
+ pixel_x = 16
+ },
+/obj/item/reagent_container/food/snacks/bigbiteburger{
+ pixel_x = -2
+ },
+/obj/item/reagent_container/food/snacks/bigbiteburger{
+ pixel_x = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "greenblue"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Xr" = (
+/obj/structure/disposalpipe/segment{
+ dir = 8
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "NE-out";
+ pixel_y = 1
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Xw" = (
+/obj/structure/platform/kutjevo/smooth,
+/obj/structure/platform/kutjevo/smooth{
+ dir = 4
+ },
+/turf/open/space/basic,
+/area/space)
+"Xx" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/reagent_container/food/snacks/sliceable/flatdough,
+/obj/item/tool/kitchen/rollingpin,
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"XB" = (
+/obj/structure/machinery/shower{
+ pixel_y = 16
+ },
+/obj/structure/window/reinforced{
+ dir = 4;
+ health = 80
+ },
+/obj/structure/window/reinforced{
+ dir = 8;
+ health = 80
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/adminlevel/ert_station/pizza_station)
+"XD" = (
+/obj/structure/pipes/vents/pump{
+ dir = 8
+ },
+/turf/open/floor/prison{
+ icon_state = "red";
+ dir = 5
+ },
+/area/adminlevel/ert_station/pizza_station)
+"XV" = (
+/obj/structure/prop/souto_land/streamer{
+ dir = 4;
+ pixel_y = 9
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "red"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"XZ" = (
+/obj/structure/barricade/handrail/pizza{
+ pixel_y = -3
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Ya" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4;
+ icon_state = "pipe-c"
+ },
+/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{
+ name = "STAFF ONLY"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Yf" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/reagent_container/food/condiment/hotsauce/franks/macho{
+ pixel_y = 18;
+ pixel_x = -6
+ },
+/obj/item/reagent_container/food/condiment/hotsauce/franks{
+ pixel_y = 18;
+ pixel_x = 6
+ },
+/obj/item/reagent_container/food/condiment/hotsauce/cholula{
+ pixel_y = 16
+ },
+/obj/item/reagent_container/food/drinks/drinkingglass{
+ pixel_y = 1;
+ pixel_x = -4
+ },
+/obj/item/reagent_container/food/drinks/drinkingglass{
+ pixel_y = 3;
+ pixel_x = 6
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Yj" = (
+/obj/structure/surface/table/reinforced/cloth,
+/obj/item/tool/kitchen/utensil/pknife{
+ pixel_x = -6
+ },
+/obj/item/tool/kitchen/utensil/pfork{
+ pixel_y = 3;
+ pixel_x = -3
+ },
+/obj/item/reagent_container/food/drinks/cans/souto/blue{
+ pixel_x = 5;
+ pixel_y = 10
+ },
+/obj/item/tool/kitchen/tray{
+ pixel_y = -2;
+ pixel_x = 16
+ },
+/turf/open/floor{
+ icon_state = "redyellowfull"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Ym" = (
+/obj/structure/sign/safety/nonpress_0g{
+ pixel_x = -16
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/plating/prison,
+/area/adminlevel/ert_station/pizza_station)
+"Yo" = (
+/turf/open/space,
+/area/space)
+"Yu" = (
+/obj/structure/platform/kutjevo/smooth,
+/obj/structure/platform/kutjevo/smooth{
+ dir = 4
+ },
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space)
+"Yv" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "dark_sterile"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Yw" = (
+/turf/closed/shuttle/ert{
+ icon_state = "stan27"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"Yy" = (
+/turf/open/space/basic,
+/area/space)
+"YD" = (
+/obj/structure/surface/table/reinforced,
+/obj/item/tool/kitchen/tray{
+ pixel_y = 6
+ },
+/obj/item/reagent_container/food/snacks/sliceable/pizza/meatpizza{
+ pixel_y = 5
+ },
+/turf/open/floor/prison{
+ icon_state = "greenblue";
+ dir = 6
+ },
+/area/adminlevel/ert_station/pizza_station)
+"YF" = (
+/obj/structure/platform_decoration/kutjevo{
+ dir = 1
+ },
+/obj/structure/lattice,
+/turf/open/space/basic,
+/area/space)
+"YL" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/obj/structure/machinery/door/poddoor/almayer/open{
+ name = "\improper Umbillical Airlock";
+ id = "pizza_ert_arrival"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{
+ name = "\improper Galaxy Pizza!"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"YM" = (
+/obj/structure/prop/invuln{
+ desc = "An inflated membrane. This one is puncture proof. Wow!";
+ icon = 'icons/obj/items/inflatable.dmi';
+ icon_state = "wall";
+ name = "Docking Umbilical"
+ },
+/obj/structure/blocker/invisible_wall,
+/obj/structure/sign/safety/airlock{
+ pixel_y = -32
+ },
+/obj/structure/sign/safety/hazard{
+ pixel_x = 15;
+ pixel_y = -32
+ },
+/turf/open/floor/almayer_hull,
+/area/adminlevel/ert_station/pizza_station)
+"YO" = (
+/turf/closed/wall/almayer,
+/area/adminlevel/ert_station/pizza_station)
+"ZD" = (
+/obj/structure/machinery/door/firedoor/border_only/almayer{
+ dir = 2
+ },
+/obj/structure/machinery/door/poddoor/almayer/open{
+ name = "\improper Umbillical Airlock";
+ id = "pizza_ert_arrival"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ZM" = (
+/obj/structure/closet/secure_closet/freezer/fridge/full,
+/obj/item/reagent_container/food/condiment/enzyme,
+/obj/item/reagent_container/food/drinks/soymilk,
+/obj/item/reagent_container/food/drinks/soymilk,
+/obj/item/reagent_container/food/condiment/hotsauce/tabasco,
+/obj/item/reagent_container/food/condiment/hotsauce/sriracha,
+/obj/item/reagent_container/food/condiment/hotsauce/franks,
+/obj/item/reagent_container/food/condiment/hotsauce/cholula,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/prison{
+ icon_state = "greenblue";
+ dir = 1
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ZR" = (
+/obj/structure/pipes/vents/pump{
+ dir = 4
+ },
+/turf/open/floor{
+ icon_state = "cmo"
+ },
+/area/adminlevel/ert_station/pizza_station)
+"ZV" = (
+/obj/structure/bed/sofa/vert/grey,
+/turf/open/floor/prison,
+/area/adminlevel/ert_station/pizza_station)
+"ZX" = (
+/obj/structure/surface/table/reinforced,
+/obj/structure/sign/poster/ad{
+ icon_state = "poster12";
+ pixel_y = 32
+ },
+/obj/item/tool/kitchen/tray{
+ pixel_y = 6
+ },
+/obj/item/tool/kitchen/tray{
+ pixel_y = 9
+ },
+/obj/item/tool/kitchen/tray{
+ pixel_y = 12
+ },
+/turf/open/floor/prison{
+ icon_state = "kitchen"
+ },
+/area/adminlevel/ert_station/pizza_station)
+
+(1,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(2,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yo
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yo
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(3,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+yg
+qq
+qq
+qX
+yg
+uj
+qq
+qq
+NT
+yg
+qq
+qq
+qX
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(4,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+yg
+RG
+OJ
+OJ
+Sg
+eI
+OJ
+OJ
+OJ
+Sg
+wb
+OJ
+OJ
+Py
+NT
+Yy
+Yy
+Yy
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(5,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+ID
+ID
+Yy
+yg
+Xw
+OJ
+OJ
+OJ
+tT
+Xw
+OJ
+OJ
+OJ
+Gn
+Xw
+OJ
+OJ
+OJ
+OG
+Vx
+ID
+ID
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(6,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+ID
+ID
+ID
+ID
+eI
+OJ
+OJ
+OJ
+oy
+CP
+CP
+OJ
+OJ
+OJ
+CP
+CP
+oy
+OJ
+OJ
+tT
+rk
+Vx
+ID
+ID
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(7,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+ID
+ID
+ID
+ID
+Vx
+Pq
+OJ
+OJ
+oy
+CP
+fH
+fb
+OJ
+oy
+OJ
+ja
+Mz
+CP
+oy
+OJ
+OJ
+oX
+Yy
+Yy
+ID
+ID
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(8,1,1) = {"
+Yy
+Yy
+Yy
+ID
+ID
+ID
+ID
+Vx
+Yy
+RC
+PF
+xe
+CP
+lx
+Xn
+ID
+ID
+ID
+ID
+ID
+ha
+xe
+CP
+OJ
+OJ
+oX
+Yy
+Yy
+Vx
+ID
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(9,1,1) = {"
+Yy
+Yy
+Yy
+ID
+ID
+ID
+Yy
+Vx
+Yy
+Yy
+Yy
+eI
+CP
+ID
+ID
+ID
+ID
+ID
+ID
+ID
+ID
+eI
+CP
+fH
+Hg
+fO
+Yy
+Vx
+Vx
+Yy
+ID
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(10,1,1) = {"
+Yy
+Yy
+Yy
+ID
+ID
+Vx
+Vx
+Vx
+Yy
+Yy
+Yy
+ID
+ID
+ID
+ID
+ID
+ID
+ID
+ID
+ID
+Ei
+Ei
+WL
+WL
+WL
+uo
+Ei
+Ei
+Vx
+Vx
+Vx
+ID
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(11,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+ID
+Yy
+Yy
+Vx
+yg
+qq
+ID
+ID
+ID
+ID
+ID
+ID
+ID
+ID
+ID
+Ei
+Ei
+hX
+Ff
+rA
+uN
+Pl
+TY
+Ei
+Ei
+Vx
+Yy
+Yy
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(12,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Vx
+Yy
+Yy
+wD
+Yu
+jH
+ID
+Ei
+Ei
+Ei
+Ei
+Ei
+Ei
+Ei
+Ei
+Ei
+Gh
+Ly
+Sp
+uN
+Sp
+RN
+jx
+FS
+Ei
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(13,1,1) = {"
+Yy
+Yy
+Yy
+Vx
+Vx
+Yy
+yg
+Yu
+jH
+pD
+Ei
+Ei
+nK
+RV
+Xx
+ef
+wm
+qy
+YO
+YO
+vA
+ug
+Au
+vr
+yr
+uN
+wu
+ly
+Rh
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(14,1,1) = {"
+Yy
+Yy
+Yy
+Vx
+wD
+qq
+Xw
+jH
+TE
+TE
+Ei
+Ac
+nB
+nB
+nB
+nB
+nB
+nB
+eD
+YO
+dc
+zQ
+oU
+vi
+Gm
+uN
+ec
+xh
+Rh
+Yy
+Yy
+Yy
+Yy
+Ei
+uo
+uo
+uo
+Ei
+uo
+uo
+uo
+Ei
+Yy
+Yy
+Yy
+"}
+(15,1,1) = {"
+Yy
+Yy
+Yy
+yg
+Yu
+pD
+pD
+TE
+pD
+qt
+Rh
+qv
+nB
+ZR
+MB
+cr
+Pn
+nB
+nB
+jy
+tq
+MK
+FY
+wz
+Gm
+hb
+pS
+pS
+Rh
+Yy
+Yy
+Yy
+Ei
+Ei
+Mt
+nl
+SL
+BU
+fj
+nl
+sk
+Ei
+Ei
+Yy
+Yy
+"}
+(16,1,1) = {"
+Yy
+Yy
+Yy
+eI
+pD
+TE
+pD
+sB
+TE
+TE
+Rh
+Dx
+nB
+jo
+np
+JP
+aA
+Lk
+nB
+uY
+tq
+WP
+TH
+wz
+uz
+cO
+KC
+mt
+Rh
+Yy
+Yy
+Ei
+Ei
+pA
+fE
+VS
+rK
+an
+Nl
+cL
+wo
+VK
+Ei
+Ei
+Yy
+"}
+(17,1,1) = {"
+Yy
+Yy
+Yy
+eI
+sB
+TE
+TE
+sB
+TE
+pD
+Rh
+Yf
+UB
+AB
+Pa
+NP
+Pa
+ov
+nB
+jf
+tq
+WP
+La
+wz
+nU
+uN
+Ax
+tC
+Rh
+Yy
+Yy
+Ei
+Ei
+Xa
+Jm
+Jm
+Jm
+Jm
+Jm
+Jm
+Jm
+aS
+Ei
+Ei
+Yy
+"}
+(18,1,1) = {"
+Yy
+Yy
+Yy
+eI
+NJ
+TK
+TK
+Ha
+lg
+sB
+Ei
+sJ
+jo
+nB
+ae
+YO
+uD
+Ab
+bT
+YO
+Ao
+WP
+lv
+wz
+OE
+uN
+HQ
+fN
+Ei
+Yy
+Yy
+Yy
+uo
+AH
+Vv
+fu
+fu
+fu
+fu
+fu
+fu
+gU
+uo
+Yy
+Yy
+"}
+(19,1,1) = {"
+Yy
+Yy
+Yy
+eI
+Yw
+Ln
+Mj
+WS
+TE
+eW
+Ei
+YO
+Rf
+kz
+YO
+YO
+YO
+YO
+YO
+YO
+Uu
+WP
+nA
+sa
+aP
+Db
+zz
+ys
+Ei
+ah
+bd
+YM
+Ei
+cK
+fu
+fu
+fu
+fu
+fu
+fu
+fu
+lJ
+Ei
+GM
+Yy
+"}
+(20,1,1) = {"
+Yy
+Yy
+Yy
+eI
+Vt
+nf
+nf
+qh
+FL
+TE
+uo
+Ps
+fg
+WP
+zf
+WZ
+TD
+Fd
+lN
+Ya
+bB
+WP
+lE
+wz
+Gm
+Jl
+Jl
+Jl
+tH
+IJ
+Jl
+Jl
+Ep
+AH
+fu
+fu
+fu
+fu
+fu
+fu
+fu
+gU
+la
+Yy
+Yy
+"}
+(21,1,1) = {"
+Yy
+Yy
+Yy
+eI
+sB
+sB
+TE
+eW
+TE
+pD
+uo
+JU
+Tu
+CO
+CO
+NG
+mP
+ok
+Sz
+BJ
+vX
+WP
+yE
+wz
+hc
+ir
+ir
+ir
+Wb
+zQ
+ir
+Dd
+EO
+AH
+fu
+fu
+fu
+fu
+fu
+fu
+fu
+gU
+sW
+Yy
+Yy
+"}
+(22,1,1) = {"
+Yy
+Yy
+Yy
+eI
+sB
+sB
+eW
+TE
+TE
+ID
+Ei
+cP
+tq
+WP
+Bz
+YO
+YO
+AD
+YO
+YO
+gV
+WP
+zx
+DW
+Eh
+lB
+mt
+hR
+Ei
+ah
+bd
+YM
+Ei
+cK
+fu
+fu
+fu
+fu
+fu
+fu
+fu
+lJ
+Ei
+GM
+Yy
+"}
+(23,1,1) = {"
+Yy
+Yy
+Yy
+eI
+me
+TE
+TE
+pD
+ID
+ID
+Ei
+Kv
+EZ
+Qe
+BC
+YO
+wi
+yK
+yP
+YO
+VQ
+WP
+ic
+wz
+nU
+hb
+Iq
+xl
+Ei
+Yy
+Yy
+Yy
+uo
+AH
+fu
+fu
+fu
+fu
+fu
+fu
+fu
+gU
+uo
+Yy
+Yy
+"}
+(24,1,1) = {"
+Yy
+Yy
+Yy
+RC
+xe
+me
+me
+ID
+ID
+ID
+Ei
+ZX
+tq
+WP
+Fz
+YO
+eo
+yG
+Xq
+YO
+CT
+WP
+HL
+wz
+XV
+uN
+pS
+tp
+Ei
+Yy
+Yy
+Yy
+uo
+AH
+fu
+fu
+fu
+fu
+fu
+fu
+fu
+gU
+uo
+Yy
+Yy
+"}
+(25,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+RC
+uK
+PL
+Ei
+Ei
+Ei
+Ei
+Xj
+Xr
+WP
+sp
+YO
+ZM
+KY
+Sq
+YO
+DF
+WP
+gu
+wz
+OE
+hb
+qs
+dh
+Ei
+Yy
+Yy
+Yy
+uo
+AH
+fu
+fu
+fu
+fu
+fu
+fu
+fu
+gU
+uo
+Yy
+Yy
+"}
+(26,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+xp
+ei
+ub
+oG
+Ym
+FD
+vI
+wa
+FB
+YO
+YO
+Cv
+KY
+Jq
+YO
+ST
+Kb
+am
+wz
+Gd
+Db
+zz
+ys
+Ei
+ah
+bd
+YM
+Ei
+cK
+fu
+fu
+fu
+fu
+fu
+fu
+fu
+lJ
+Ei
+GM
+Yy
+"}
+(27,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+DH
+lL
+lH
+zE
+aD
+EK
+im
+sY
+fg
+YO
+NN
+yo
+KY
+ny
+YO
+Vs
+sx
+sx
+wq
+oh
+zh
+zh
+zh
+YL
+vr
+zh
+Ib
+Ep
+AH
+fu
+fu
+fu
+fu
+fu
+fu
+fu
+gU
+rL
+Yy
+Yy
+"}
+(28,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+vR
+Kc
+Ei
+Ei
+Ei
+Ei
+By
+sl
+aq
+bU
+hL
+xV
+Vm
+iw
+YO
+OS
+OS
+OS
+zM
+Gm
+OS
+OS
+OS
+ZD
+cq
+OS
+OS
+EO
+AH
+fu
+fu
+fu
+fu
+fu
+fu
+fu
+gU
+sW
+Yy
+Yy
+"}
+(29,1,1) = {"
+Yy
+Yy
+Vx
+Yy
+Yy
+YF
+Ee
+fO
+ID
+ID
+Ei
+Ei
+qA
+yM
+YO
+Vj
+zW
+YD
+YO
+YO
+Nr
+Mk
+OK
+wQ
+uz
+wP
+KC
+hR
+Ei
+ah
+bd
+YM
+Ei
+cK
+fu
+fu
+fu
+fu
+fu
+fu
+fu
+lJ
+Ei
+GM
+Yy
+"}
+(30,1,1) = {"
+Yy
+Vx
+Vx
+Vx
+Vx
+Vx
+Yy
+Yy
+Yy
+ID
+ID
+Ei
+dS
+YO
+YO
+YO
+oD
+YO
+YO
+qU
+jV
+Gj
+mk
+wQ
+aJ
+hb
+PH
+zl
+Ei
+Yy
+Yy
+Yy
+uo
+AH
+fu
+fu
+fu
+fu
+fu
+fu
+fu
+gU
+uo
+Yy
+Yy
+"}
+(31,1,1) = {"
+Yy
+Yy
+ID
+Yy
+Yy
+Vx
+Vx
+Vx
+Vx
+Vx
+Ei
+Ei
+bl
+pT
+YO
+mj
+ty
+MS
+YO
+rj
+ma
+uN
+MX
+Pi
+Xg
+hb
+Cp
+lw
+Rh
+Yy
+Yy
+Ei
+Ei
+iY
+No
+No
+No
+No
+No
+No
+No
+AW
+Ei
+Ei
+Yy
+"}
+(32,1,1) = {"
+Yy
+ID
+ID
+ID
+ID
+Vx
+Yy
+Yy
+Yy
+Yy
+Rh
+Fj
+td
+Fp
+YO
+XB
+MT
+bo
+YO
+Sr
+Ra
+uN
+jb
+xc
+qb
+uN
+pS
+pS
+Rh
+Yy
+Yy
+Ei
+Ei
+EH
+hg
+Nl
+NH
+ZV
+JR
+Nl
+TC
+rO
+Ei
+Ei
+Yy
+"}
+(33,1,1) = {"
+Yy
+ID
+ID
+ID
+ID
+Vx
+Yy
+Yy
+Yy
+Yy
+Rh
+wX
+tM
+hv
+YO
+YO
+SV
+YO
+YO
+VN
+pS
+XZ
+jT
+So
+Oh
+uN
+zC
+zC
+Rh
+Yy
+Yy
+Yy
+Ei
+Ei
+Gt
+Hd
+Hd
+GB
+Hd
+Hd
+oo
+Ei
+Ei
+Yy
+Yy
+"}
+(34,1,1) = {"
+Yy
+Yy
+ID
+ID
+ID
+ID
+ID
+Yy
+Yy
+Yy
+Ei
+YO
+YO
+YO
+YO
+KB
+VX
+zj
+YO
+Aj
+RP
+gy
+gb
+XD
+eK
+hb
+Yj
+sI
+Rh
+Yy
+Yy
+Yy
+Yy
+Ei
+uo
+uo
+uo
+Ei
+uo
+uo
+uo
+Ei
+Yy
+Yy
+Yy
+"}
+(35,1,1) = {"
+Yy
+Yy
+ID
+ID
+ID
+ID
+ID
+Vx
+Yy
+Yy
+Rh
+vq
+QN
+Yv
+se
+Bu
+TQ
+Bu
+NV
+AV
+cI
+OQ
+jV
+uN
+kW
+RN
+Og
+xX
+Rh
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(36,1,1) = {"
+Yy
+Yy
+Yy
+ID
+ID
+ID
+Vx
+Vx
+Vx
+Vx
+Rh
+vq
+ap
+Kd
+YO
+qo
+eQ
+Ck
+YO
+YO
+tX
+JV
+Gp
+Te
+Se
+hb
+pS
+nX
+Ei
+Yy
+Yy
+Vx
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(37,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Vx
+ID
+Ei
+Ei
+jq
+pE
+YO
+Jd
+xy
+Ny
+YO
+YO
+YO
+Ux
+cE
+eh
+LH
+VD
+Nb
+Ei
+Ei
+Vx
+Vx
+Vx
+Vx
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(38,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+ID
+ID
+ID
+Ei
+Ei
+Ei
+Ei
+WL
+WL
+WL
+Ei
+ID
+Ei
+Ei
+WL
+WL
+WL
+uo
+Ei
+Ei
+Vx
+Yy
+Yy
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(39,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+ID
+ID
+ID
+ID
+ID
+ID
+ID
+Yy
+Yy
+Yy
+ID
+ID
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Vx
+Vx
+Vx
+Yy
+ID
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(40,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+ID
+ID
+ID
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+ID
+ID
+Vx
+Yy
+Yy
+Yy
+Vx
+Vx
+Yy
+Vx
+ID
+ID
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(41,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+ID
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Vx
+Vx
+Vx
+Yy
+Yy
+Vx
+Yy
+ID
+ID
+ID
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(42,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Vx
+Vx
+Vx
+ID
+ID
+ID
+ID
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(43,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Vx
+ID
+ID
+ID
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(44,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+ID
+ID
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
+(45,1,1) = {"
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+Yy
+"}
diff --git a/maps/templates/lazy_templates/twe_ert_station.dmm b/maps/templates/lazy_templates/twe_ert_station.dmm
index 78c98b4d16a9..2c9c696d7842 100644
--- a/maps/templates/lazy_templates/twe_ert_station.dmm
+++ b/maps/templates/lazy_templates/twe_ert_station.dmm
@@ -309,9 +309,7 @@
"go" = (
/obj/structure/platform,
/obj/structure/blocker/invisible_wall,
-/turf/closed/shuttle/twe_dropship{
- icon_state = "0,0"
- },
+/turf/closed/shuttle/twe_dropship,
/area/adminlevel/ert_station/royal_marines_station)
"gq" = (
/turf/open/floor/almayer{
@@ -1220,7 +1218,6 @@
/area/adminlevel/ert_station/royal_marines_station)
"xw" = (
/obj/structure/machinery/door/airlock/almayer/medical{
- id_tag = null;
name = "Operating Theatre 1"
},
/turf/open/floor/almayer{
@@ -1705,6 +1702,9 @@
"Hg" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/surface/table/almayer,
+/obj/structure/machinery/power/apc/antag{
+ dir = 1
+ },
/turf/open/floor/almayer{
icon_state = "sterile_green"
},
diff --git a/maps/templates/lazy_templates/weyland_ert_station.dmm b/maps/templates/lazy_templates/weyland_ert_station.dmm
index 1937aa6a61a9..aa6b43ef8422 100644
--- a/maps/templates/lazy_templates/weyland_ert_station.dmm
+++ b/maps/templates/lazy_templates/weyland_ert_station.dmm
@@ -1506,6 +1506,9 @@
},
/area/adminlevel/ert_station/weyland_station)
"sg" = (
+/obj/structure/machinery/power/apc/antag{
+ dir = 4
+ },
/turf/open/floor/corsat{
dir = 4;
icon_state = "yellow"
diff --git a/sound/misc/desk_bell.ogg b/sound/misc/desk_bell.ogg
new file mode 100644
index 000000000000..c3b143c1a11f
Binary files /dev/null and b/sound/misc/desk_bell.ogg differ
diff --git a/sound/voice/joe/alwaysknow_haz.ogg b/sound/voice/joe/alwaysknow_haz.ogg
new file mode 100644
index 000000000000..b6489f72d59f
Binary files /dev/null and b/sound/voice/joe/alwaysknow_haz.ogg differ
diff --git a/sound/voice/joe/apollo_behalf_haz.ogg b/sound/voice/joe/apollo_behalf_haz.ogg
new file mode 100644
index 000000000000..f89225f25e69
Binary files /dev/null and b/sound/voice/joe/apollo_behalf_haz.ogg differ
diff --git a/sound/voice/joe/area_restricted_haz.ogg b/sound/voice/joe/area_restricted_haz.ogg
new file mode 100644
index 000000000000..e9e890b72153
Binary files /dev/null and b/sound/voice/joe/area_restricted_haz.ogg differ
diff --git a/sound/voice/joe/awful_haz.ogg b/sound/voice/joe/awful_haz.ogg
new file mode 100644
index 000000000000..71f3e5cd0d26
Binary files /dev/null and b/sound/voice/joe/awful_haz.ogg differ
diff --git a/sound/voice/joe/back_to_work_haz.ogg b/sound/voice/joe/back_to_work_haz.ogg
new file mode 100644
index 000000000000..ce5966c71e46
Binary files /dev/null and b/sound/voice/joe/back_to_work_haz.ogg differ
diff --git a/sound/voice/joe/beyond_repair_haz.ogg b/sound/voice/joe/beyond_repair_haz.ogg
new file mode 100644
index 000000000000..31a9de147862
Binary files /dev/null and b/sound/voice/joe/beyond_repair_haz.ogg differ
diff --git a/sound/voice/joe/breach_haz.ogg b/sound/voice/joe/breach_haz.ogg
new file mode 100644
index 000000000000..a6d425c00dfd
Binary files /dev/null and b/sound/voice/joe/breach_haz.ogg differ
diff --git a/sound/voice/joe/come_out_vent_haz.ogg b/sound/voice/joe/come_out_vent_haz.ogg
new file mode 100644
index 000000000000..8161b4331f47
Binary files /dev/null and b/sound/voice/joe/come_out_vent_haz.ogg differ
diff --git a/sound/voice/joe/could_require_attention_haz.ogg b/sound/voice/joe/could_require_attention_haz.ogg
new file mode 100644
index 000000000000..2d997a055d22
Binary files /dev/null and b/sound/voice/joe/could_require_attention_haz.ogg differ
diff --git a/sound/voice/joe/damage_haz.ogg b/sound/voice/joe/damage_haz.ogg
new file mode 100644
index 000000000000..3c757f48eab6
Binary files /dev/null and b/sound/voice/joe/damage_haz.ogg differ
diff --git a/sound/voice/joe/dangerous_items_haz.ogg b/sound/voice/joe/dangerous_items_haz.ogg
new file mode 100644
index 000000000000..6b1d3f5aef57
Binary files /dev/null and b/sound/voice/joe/dangerous_items_haz.ogg differ
diff --git a/sound/voice/joe/day_never_done_haz.ogg b/sound/voice/joe/day_never_done_haz.ogg
new file mode 100644
index 000000000000..3ae295a96143
Binary files /dev/null and b/sound/voice/joe/day_never_done_haz.ogg differ
diff --git a/sound/voice/joe/detailed_report_haz.ogg b/sound/voice/joe/detailed_report_haz.ogg
new file mode 100644
index 000000000000..31d4686a8799
Binary files /dev/null and b/sound/voice/joe/detailed_report_haz.ogg differ
diff --git a/sound/voice/joe/disturbance_haz.ogg b/sound/voice/joe/disturbance_haz.ogg
new file mode 100644
index 000000000000..78f242382bff
Binary files /dev/null and b/sound/voice/joe/disturbance_haz.ogg differ
diff --git a/sound/voice/joe/fire_haz.ogg b/sound/voice/joe/fire_haz.ogg
new file mode 100644
index 000000000000..ec1ff9fad98f
Binary files /dev/null and b/sound/voice/joe/fire_haz.ogg differ
diff --git a/sound/voice/joe/firearm_haz.ogg b/sound/voice/joe/firearm_haz.ogg
new file mode 100644
index 000000000000..ff5d19bab998
Binary files /dev/null and b/sound/voice/joe/firearm_haz.ogg differ
diff --git a/sound/voice/joe/follow_me_please_haz.ogg b/sound/voice/joe/follow_me_please_haz.ogg
new file mode 100644
index 000000000000..9d39bb8d1693
Binary files /dev/null and b/sound/voice/joe/follow_me_please_haz.ogg differ
diff --git a/sound/voice/joe/good_day_haz.ogg b/sound/voice/joe/good_day_haz.ogg
new file mode 100644
index 000000000000..7ec82d9483f4
Binary files /dev/null and b/sound/voice/joe/good_day_haz.ogg differ
diff --git a/sound/voice/joe/health_risks_haz.ogg b/sound/voice/joe/health_risks_haz.ogg
new file mode 100644
index 000000000000..76ecf60b23d7
Binary files /dev/null and b/sound/voice/joe/health_risks_haz.ogg differ
diff --git a/sound/voice/joe/how_can_i_help_haz.ogg b/sound/voice/joe/how_can_i_help_haz.ogg
new file mode 100644
index 000000000000..d6d28222efd7
Binary files /dev/null and b/sound/voice/joe/how_can_i_help_haz.ogg differ
diff --git a/sound/voice/joe/hysterical_haz.ogg b/sound/voice/joe/hysterical_haz.ogg
new file mode 100644
index 000000000000..cd2926fa64cc
Binary files /dev/null and b/sound/voice/joe/hysterical_haz.ogg differ
diff --git a/sound/voice/joe/investigating_disturbance_haz.ogg b/sound/voice/joe/investigating_disturbance_haz.ogg
new file mode 100644
index 000000000000..c36bc8ff0f0d
Binary files /dev/null and b/sound/voice/joe/investigating_disturbance_haz.ogg differ
diff --git a/sound/voice/joe/irresponsible_haz.ogg b/sound/voice/joe/irresponsible_haz.ogg
new file mode 100644
index 000000000000..585d5e6dc7bb
Binary files /dev/null and b/sound/voice/joe/irresponsible_haz.ogg differ
diff --git a/sound/voice/joe/misbehaving_haz.ogg b/sound/voice/joe/misbehaving_haz.ogg
new file mode 100644
index 000000000000..f3a49f3527ee
Binary files /dev/null and b/sound/voice/joe/misbehaving_haz.ogg differ
diff --git a/sound/voice/joe/more_pressing_matters_haz.ogg b/sound/voice/joe/more_pressing_matters_haz.ogg
new file mode 100644
index 000000000000..e4a2222ba2a4
Binary files /dev/null and b/sound/voice/joe/more_pressing_matters_haz.ogg differ
diff --git a/sound/voice/joe/not_allowed_there_haz.ogg b/sound/voice/joe/not_allowed_there_haz.ogg
new file mode 100644
index 000000000000..62804f4498a8
Binary files /dev/null and b/sound/voice/joe/not_allowed_there_haz.ogg differ
diff --git a/sound/voice/joe/not_what_i_think_haz.ogg b/sound/voice/joe/not_what_i_think_haz.ogg
new file mode 100644
index 000000000000..f8f640c87de8
Binary files /dev/null and b/sound/voice/joe/not_what_i_think_haz.ogg differ
diff --git a/sound/voice/joe/other_concerns_haz.ogg b/sound/voice/joe/other_concerns_haz.ogg
new file mode 100644
index 000000000000..8c24870cfa4b
Binary files /dev/null and b/sound/voice/joe/other_concerns_haz.ogg differ
diff --git a/sound/voice/joe/patience_haz.ogg b/sound/voice/joe/patience_haz.ogg
new file mode 100644
index 000000000000..3e99f84c5d58
Binary files /dev/null and b/sound/voice/joe/patience_haz.ogg differ
diff --git a/sound/voice/joe/presence_logged_haz.ogg b/sound/voice/joe/presence_logged_haz.ogg
new file mode 100644
index 000000000000..df8b5a0cdfa9
Binary files /dev/null and b/sound/voice/joe/presence_logged_haz.ogg differ
diff --git a/sound/voice/joe/really_shouldnt_be_here_haz.ogg b/sound/voice/joe/really_shouldnt_be_here_haz.ogg
new file mode 100644
index 000000000000..22de4fe8ac63
Binary files /dev/null and b/sound/voice/joe/really_shouldnt_be_here_haz.ogg differ
diff --git a/sound/voice/joe/report_haz.ogg b/sound/voice/joe/report_haz.ogg
new file mode 100644
index 000000000000..188042163ed4
Binary files /dev/null and b/sound/voice/joe/report_haz.ogg differ
diff --git a/sound/voice/joe/running_accidents_haz.ogg b/sound/voice/joe/running_accidents_haz.ogg
new file mode 100644
index 000000000000..adca77ae199c
Binary files /dev/null and b/sound/voice/joe/running_accidents_haz.ogg differ
diff --git a/sound/voice/joe/safety_breach_haz.ogg b/sound/voice/joe/safety_breach_haz.ogg
new file mode 100644
index 000000000000..41116872272a
Binary files /dev/null and b/sound/voice/joe/safety_breach_haz.ogg differ
diff --git a/sound/voice/joe/safety_haz.ogg b/sound/voice/joe/safety_haz.ogg
new file mode 100644
index 000000000000..838abe6813b6
Binary files /dev/null and b/sound/voice/joe/safety_haz.ogg differ
diff --git a/sound/voice/joe/species_haz.ogg b/sound/voice/joe/species_haz.ogg
new file mode 100644
index 000000000000..a0bcaebf05ac
Binary files /dev/null and b/sound/voice/joe/species_haz.ogg differ
diff --git a/sound/voice/joe/support_ticket_removed_haz.ogg b/sound/voice/joe/support_ticket_removed_haz.ogg
new file mode 100644
index 000000000000..db6e2dc69eca
Binary files /dev/null and b/sound/voice/joe/support_ticket_removed_haz.ogg differ
diff --git a/sound/voice/joe/temperatures_haz.ogg b/sound/voice/joe/temperatures_haz.ogg
new file mode 100644
index 000000000000..5d1a4a952dfa
Binary files /dev/null and b/sound/voice/joe/temperatures_haz.ogg differ
diff --git a/sound/voice/joe/that_stings_haz.ogg b/sound/voice/joe/that_stings_haz.ogg
new file mode 100644
index 000000000000..f88468d260c9
Binary files /dev/null and b/sound/voice/joe/that_stings_haz.ogg differ
diff --git a/sound/voice/joe/this_is_futile_haz.ogg b/sound/voice/joe/this_is_futile_haz.ogg
new file mode 100644
index 000000000000..3d371cc9fc04
Binary files /dev/null and b/sound/voice/joe/this_is_futile_haz.ogg differ
diff --git a/sound/voice/joe/tomorrow_together_haz.ogg b/sound/voice/joe/tomorrow_together_haz.ogg
new file mode 100644
index 000000000000..05686c426bf5
Binary files /dev/null and b/sound/voice/joe/tomorrow_together_haz.ogg differ
diff --git a/sound/voice/joe/unprotected_flames_haz.ogg b/sound/voice/joe/unprotected_flames_haz.ogg
new file mode 100644
index 000000000000..8b2df7a38946
Binary files /dev/null and b/sound/voice/joe/unprotected_flames_haz.ogg differ
diff --git a/sound/voice/joe/what_happened_to_you_haz.ogg b/sound/voice/joe/what_happened_to_you_haz.ogg
new file mode 100644
index 000000000000..db90ec8119eb
Binary files /dev/null and b/sound/voice/joe/what_happened_to_you_haz.ogg differ
diff --git a/sound/voice/joe/what_is_this_haz.ogg b/sound/voice/joe/what_is_this_haz.ogg
new file mode 100644
index 000000000000..27aedef9f230
Binary files /dev/null and b/sound/voice/joe/what_is_this_haz.ogg differ
diff --git a/sound/voice/joe/with_you_shortly_haz.ogg b/sound/voice/joe/with_you_shortly_haz.ogg
new file mode 100644
index 000000000000..5f7a669c38fb
Binary files /dev/null and b/sound/voice/joe/with_you_shortly_haz.ogg differ
diff --git a/strings/fortunes.txt b/strings/fortunes.txt
index 31478d7ba3d9..27f249d0c8b0 100644
--- a/strings/fortunes.txt
+++ b/strings/fortunes.txt
@@ -5,6 +5,7 @@ A conclusion is simply the place where you got tired of thinking.
A curse on the surface may be a blessing in disguise.
A cynic is only a frustrated optimist.
A dream is a wish your heart makes.
+A friend will bring you a big surprise soon.
A golden egg of your opportunity falls into your lap this month.
A good gun will never kill anyone on its own. It is the shooter who pulls the trigger.
A good leader knows when to shut up and listen.
@@ -19,7 +20,7 @@ A true leader looks after their men, not their life.
A true soldier dies protecting the ones they care for.
A very attractive person will come with a message for you.
A well-aimed spear is worth three.
-ALl endings are also beginnings. We just don't know it all the time.
+All endings are also beginnings. We just don't know it all the time.
About time I got out of that cookie.
Accept what comes to you each day.
Accomplish the tasks you were given, and then you can rest easy.
@@ -183,6 +184,7 @@ Luck will shine upon you today.
Make happiness a priority, and be gentle with yourself in the process.
Make someone laugh today.
Make someone smile today.
+Make today your day.
Man is born to live, but not prepared to live.
Many will travel to hear you speak.
Man’s mind, once stretched by a new idea, never regains its original dimensions.
@@ -377,4 +379,4 @@ Your shoes are dirty.
Your shoes are untied.
Your talents will be recognized and suitably rewarded.
Your work interests can capture the highest status or prestige.
-Your worst enemy has a crush on you.
\ No newline at end of file
+Your worst enemy has a crush on you.
diff --git a/strings/marinetips.txt b/strings/marinetips.txt
index d461c764fb34..253860e1eddd 100644
--- a/strings/marinetips.txt
+++ b/strings/marinetips.txt
@@ -101,3 +101,4 @@ The nuclear ordnance requires BOTH communication towers to be actively held to d
ARES will periodically report the amount of available tech points on Command Channel.
The quick wield keys generally prioritize wieldable gear going from left to right on your inventory bar.
Orbital Bombardment warheads respect roofing and hive core protection. They won't hit inside of protected areas.
+The Queen can unbolt and break dropship doors by prying them open, even if they are unlocked. Pilots, Dropship Crew Chiefs, Engineers and Synths can repair these doors with a multitool.
diff --git a/strings/xenotips.txt b/strings/xenotips.txt
index 08f56bf1aa8e..d5bc61e7cf79 100644
--- a/strings/xenotips.txt
+++ b/strings/xenotips.txt
@@ -37,3 +37,21 @@ You can filter out the Xenomorphs displayed in hive status by health, allowing y
Each xeno has their own ‘tackle counter’ on a marine. The range to successfully tackle can be anywhere from two to six tackles based on caste. If a marine gets stunned or knocked over by other means it will reset everyone's tackle counters and they may get up!
As a Xenomorph, the list of available tunnels is sorted by their distance to the player!
As a Xenomorph, pay attention to what a marine is wearing. If they have no helmet, aiming for the head will be significantly more damaging, if they aren't wearing gloves, then think about going for their hands.
+Applying acid to flares makes them burn faster.
+Melting weapons, ammo or other valuables owned by marines is a good way to debilitate them.
+The secrete acid shortcut is (by default) Shift + C.
+Placing acid traps under map debris such as metal sheets, wooden planks or other semi-large to large items is good for catching marines by surprise.
+Burrower can place tunnels underneath tables or lockers.
+Lesser drones and facehuggers cannot speak or use the Hivemind for three minutes after spawning.
+Alt-clicking on the Queen tracker allows you to set it to also track the Hive Core, any living leaders or any existing tunnels. Tunnels are ordered by closest to furthest; top to bottom.
+Be mindful of not blocking the escape of injured sisters.
+As a Xenomorph, you are able to melt advanced body scanners, sleepers, MarineMeds and limb printers.
+You can break roller beds with a single slash to stop a medic from quickly transporting a body.
+As a Defender, lowering your crest gives you increased resistance to stuns like explosives or shotgun shells.
+Tail stab will always hit the targetted limb and will do 1.2x your normal melee damage; it has a two tile range.
+You can check if a door is shocked by tailstabbing it.
+You can use your tail stab to slowly damage and break doors; this takes some time.
+Some smaller Xenomorphs such as Runners can hide behind barricades by resting against them, a good surprise tactic.
+Defenders with a lowered crest can open existing holes in walls.
+As a Defender, you can deal an additional stage of damage to an APC by lowering your crest and then attacking it.
+Any Xenomorph with acid can melt any kind of window frame; you may use this to create additional paths.
diff --git a/tgui/packages/tgui-panel/chat/constants.js b/tgui/packages/tgui-panel/chat/constants.js
index 020e8513dc2c..a9b1634783af 100644
--- a/tgui/packages/tgui-panel/chat/constants.js
+++ b/tgui/packages/tgui-panel/chat/constants.js
@@ -40,6 +40,7 @@ export const MESSAGE_TYPE_EVENTCHAT = 'eventchat';
export const MESSAGE_TYPE_ADMINLOG = 'adminlog';
export const MESSAGE_TYPE_ATTACKLOG = 'attacklog';
export const MESSAGE_TYPE_DEBUG = 'debug';
+export const MESSAGE_TYPE_NICHE = 'niche';
// Metadata for each message type
export const MESSAGE_TYPES = [
@@ -164,4 +165,11 @@ export const MESSAGE_TYPES = [
selector: '.debuginfo',
admin: true,
},
+ {
+ type: MESSAGE_TYPE_NICHE,
+ name: 'Niche Log',
+ description: 'ADMIN NICHE LOG: Urist McTraitor stuttered while saying: Boo',
+ selector: '.niche',
+ admin: true,
+ },
];
diff --git a/tgui/packages/tgui-panel/styles/goon/chat-dark.scss b/tgui/packages/tgui-panel/styles/goon/chat-dark.scss
index 9e6d604bdf82..ca142dab82a4 100644
--- a/tgui/packages/tgui-panel/styles/goon/chat-dark.scss
+++ b/tgui/packages/tgui-panel/styles/goon/chat-dark.scss
@@ -228,6 +228,7 @@ a.popt {
.looc,
.adminooc,
.admin,
+.niche,
.medal,
.yell {
font-weight: bold;
@@ -290,6 +291,11 @@ em {
font-weight: bold;
}
+.niche {
+ color: #5975da;
+ font-weight: bold;
+}
+
.name {
font-weight: bold;
}
diff --git a/tgui/packages/tgui-panel/styles/goon/chat-light.scss b/tgui/packages/tgui-panel/styles/goon/chat-light.scss
index 78613d37ae51..9cf69e221ca6 100644
--- a/tgui/packages/tgui-panel/styles/goon/chat-light.scss
+++ b/tgui/packages/tgui-panel/styles/goon/chat-light.scss
@@ -246,6 +246,7 @@ a.popt {
.looc,
.adminooc,
.admin,
+.niche,
.medal,
.yell {
font-weight: bold;
@@ -308,6 +309,11 @@ em {
font-weight: bold;
}
+.niche {
+ color: #4473ff;
+ font-weight: bold;
+}
+
.name {
font-weight: bold;
}
diff --git a/tgui/packages/tgui/interfaces/AresAdmin.js b/tgui/packages/tgui/interfaces/AresAdmin.js
index 4f19cf452b17..dd51b5a1e007 100644
--- a/tgui/packages/tgui/interfaces/AresAdmin.js
+++ b/tgui/packages/tgui/interfaces/AresAdmin.js
@@ -18,6 +18,8 @@ const PAGES = {
'security': () => Security,
'requisitions': () => Requisitions,
'emergency': () => Emergency,
+ 'tech_log': () => TechLogs,
+ 'core_security': () => CoreSec,
'admin_access_log': () => AdminAccessLogs,
'access_management': () => AccessManagement,
'maintenance_management': () => MaintManagement,
@@ -31,6 +33,10 @@ export const AresAdmin = (props, context) => {
let themecolor = 'crtyellow';
if (sudo >= 1) {
themecolor = 'crtred';
+ } else if (current_menu === 'emergency') {
+ themecolor = 'crtred';
+ } else if (current_menu === 'core_security') {
+ themecolor = 'crtred';
}
return (
@@ -255,6 +261,18 @@ const MainMenu = (props, context) => {
onClick={() => act('page_requisitions')}
/>
+
+
@@ -337,6 +355,25 @@ const MainMenu = (props, context) => {
)}
+
+ Core Security Protocols
+
+
+
+
+
@@ -652,7 +689,7 @@ const BombardmentLogs = (props, context) => {
User
- Coordinates
+ Details
)}
@@ -1315,6 +1352,8 @@ const FlightLogs = (props, context) => {
{logged_in}, {access_text}
+
+ Remote Admin: {admin_login}
{
);
};
+const TechLogs = (props, context) => {
+ const { data, act } = useBackend(context);
+ const {
+ logged_in,
+ access_text,
+ last_page,
+ current_menu,
+ records_tech,
+ admin_login,
+ } = data;
+
+ return (
+ <>
+
+
+
+
+
+
+ {logged_in}, {access_text}
+
+ Remote Admin: {admin_login}
+
+
+ act('logout')}
+ />
+
+
+
+
+ Tech Control Logs
+ {!!records_tech.length && (
+
+
+ Time
+
+
+ Authenticator
+
+
+ Details
+
+
+ )}
+ {records_tech.map((record, i) => {
+ return (
+
+
+ {record.time}
+
+
+ {record.user}
+
+ {!!record.tier_changer && (
+
+ {record.details}
+
+ )}
+ {!record.tier_changer && (
+
+ {record.details}
+
+ )}
+
+
+ act('delete_record', { record: record.ref })}
+ />
+
+
+ );
+ })}
+
+ >
+ );
+};
+
+const CoreSec = (props) => {
+ const { data, act } = useBackend();
+ const {
+ logged_in,
+ access_text,
+ last_page,
+ current_menu,
+ security_vents,
+ admin_login,
+ } = data;
+
+ return (
+ <>
+
+
+
+ act('go_back')}
+ disabled={last_page === current_menu}
+ />
+ act('home')}
+ />
+
+
+
+ {logged_in}, {access_text}
+
+ Remote Admin: {admin_login}
+
+
+ act('logout')}
+ />
+
+
+
+
+ Core Security Protocols
+
+
+ Nerve Gas Release
+ {security_vents.map((vent, i) => {
+ return (
+ act('trigger_vent', { vent: vent.ref })}
+ />
+ );
+ })}
+
+ >
+ );
+};
+
// -------------------------------------------------------------------- //
// Anything below this line is exclusive to the Admin Remote Interface.
// -------------------------------------------------------------------- //
diff --git a/tgui/packages/tgui/interfaces/AresInterface.jsx b/tgui/packages/tgui/interfaces/AresInterface.jsx
index 79ad85044ec1..be9106e31c25 100644
--- a/tgui/packages/tgui/interfaces/AresInterface.jsx
+++ b/tgui/packages/tgui/interfaces/AresInterface.jsx
@@ -22,6 +22,8 @@ const PAGES = {
'security': () => Security,
'requisitions': () => Requisitions,
'emergency': () => Emergency,
+ 'tech_log': () => TechLogs,
+ 'core_security': () => CoreSec,
};
export const AresInterface = (props) => {
@@ -34,6 +36,8 @@ export const AresInterface = (props) => {
themecolor = 'crtred';
} else if (current_menu === 'emergency') {
themecolor = 'crtred';
+ } else if (current_menu === 'core_security') {
+ themecolor = 'crtred';
}
return (
@@ -256,7 +260,7 @@ const MainMenu = (props) => {
{
onClick={() => act('page_requisitions')}
/>
+
+ act('page_tech')}
+ />
+
)}
{access_level >= 6 && (
@@ -352,6 +368,27 @@ const MainMenu = (props) => {
)}
+ {(access_level === 3 || access_level >= 6) && (
+
+ Core Security Protocols
+
+
+ act('page_core_sec')}
+ />
+
+
+
+ )}
>
);
};
@@ -615,7 +652,7 @@ const BombardmentLogs = (props) => {
User
- Coordinates
+ Details
)}
@@ -1545,3 +1582,189 @@ const Emergency = (props) => {
>
);
};
+
+const TechLogs = (props, context) => {
+ const { data, act } = useBackend(context);
+ const {
+ logged_in,
+ access_text,
+ last_page,
+ current_menu,
+ records_tech,
+ access_level,
+ } = data;
+
+ return (
+ <>
+
+
+
+ act('go_back')}
+ disabled={last_page === current_menu}
+ />
+ act('home')}
+ />
+
+
+
+ {logged_in}, {access_text}
+
+
+ act('logout')}
+ />
+
+
+
+
+ Tech Control Logs
+ {!!records_tech.length && (
+
+
+ Time
+
+
+ Authenticator
+
+
+ Details
+
+
+ )}
+ {records_tech.map((record, i) => {
+ return (
+
+
+ {record.time}
+
+
+ {record.user}
+
+ {!!record.tier_changer && (
+
+ {record.details}
+
+ )}
+ {!record.tier_changer && (
+
+ {record.details}
+
+ )}
+
+
+ act('delete_record', { record: record.ref })}
+ />
+
+
+ );
+ })}
+
+ >
+ );
+};
+
+const CoreSec = (props) => {
+ const { data, act } = useBackend();
+ const {
+ logged_in,
+ access_text,
+ access_level,
+ last_page,
+ current_menu,
+ security_vents,
+ } = data;
+
+ return (
+ <>
+
+
+
+ act('go_back')}
+ disabled={last_page === current_menu}
+ />
+ act('home')}
+ />
+
+
+
+ {logged_in}, {access_text}
+
+
+ act('logout')}
+ />
+
+
+
+
+ Core Security Protocols
+
+
+ Nerve Gas Release
+ {security_vents.map((vent, i) => {
+ return (
+ act('trigger_vent', { vent: vent.ref })}
+ />
+ );
+ })}
+
+ >
+ );
+};
diff --git a/tgui/packages/tgui/interfaces/Cryo.jsx b/tgui/packages/tgui/interfaces/Cryo.jsx
index 338717f2d0ca..be1dce801ada 100644
--- a/tgui/packages/tgui/interfaces/Cryo.jsx
+++ b/tgui/packages/tgui/interfaces/Cryo.jsx
@@ -34,6 +34,11 @@ export const Cryo = () => {
const CryoContent = (props) => {
const { act, data } = useBackend();
+
+ let soundicon = 'volume-high';
+ if (!data.notify) {
+ soundicon = 'volume-xmark';
+ }
return (
<>
@@ -89,12 +94,30 @@ const CryoContent = (props) => {
icon="eject"
disabled={!data.hasOccupant}
onClick={() => act('eject')}
- content="eject patient"
+ content="Eject Patient"
/>
act('autoeject')}
+ width="6rem"
+ tooltipPosition="top"
+ tooltip={
+ 'Auto eject is ' + (data.autoEject ? 'enabled.' : 'disabled.')
+ }
content={data.autoEject ? 'Auto' : 'Manual'}
+ onClick={() => act('autoeject')}
+ />
+ act('notice')}
/>
diff --git a/tgui/packages/tgui/interfaces/HealthScan.jsx b/tgui/packages/tgui/interfaces/HealthScan.jsx
index c941c111d487..bcab0c603f8c 100644
--- a/tgui/packages/tgui/interfaces/HealthScan.jsx
+++ b/tgui/packages/tgui/interfaces/HealthScan.jsx
@@ -1,10 +1,11 @@
import { useBackend } from '../backend';
-import { Section, ProgressBar, Box, LabeledList, NoticeBox, Stack, Icon, Divider, Flex } from '../components';
+import { Section, ProgressBar, Box, LabeledList, NoticeBox, Stack, Icon, Divider, Flex, Button } from '../components';
import { Window } from '../layouts';
export const HealthScan = (props) => {
- const { data } = useBackend();
+ const { act, data } = useBackend();
const {
+ patient_mob,
patient,
dead,
health,
@@ -35,6 +36,7 @@ export const HealthScan = (props) => {
permadead,
advice,
species,
+ holocard,
} = data;
const bloodpct = blood_amount / 560;
@@ -47,6 +49,18 @@ export const HealthScan = (props) => {
const theme = Synthetic ? 'hackerman' : bodyscanner ? 'ntos' : 'default';
+ let holocard_message;
+ if (holocard === 'red') {
+ holocard_message = 'Patient needs life-saving treatment.';
+ } else if (holocard === 'orange') {
+ holocard_message = 'Patient needs non-urgent surgery.';
+ } else if (holocard === 'purple') {
+ holocard_message = 'Patient is infected with an XX-121 embryo.';
+ } else if (holocard === 'black') {
+ holocard_message = 'Patient is permanently deceased.';
+ } else {
+ holocard_message = 'Patient has no active holocard.';
+ }
return (
@@ -143,6 +157,18 @@ export const HealthScan = (props) => {
)}
+
+
+ {holocard_message}
+
+
+ act('change_holo_card')}
+ />
+
{limbs_damaged ? : null}
diff --git a/tgui/packages/tgui/interfaces/KeyBinds.jsx b/tgui/packages/tgui/interfaces/KeyBinds.jsx
index 63fc25aca3c5..b3b2fd5a8c30 100644
--- a/tgui/packages/tgui/interfaces/KeyBinds.jsx
+++ b/tgui/packages/tgui/interfaces/KeyBinds.jsx
@@ -10,6 +10,20 @@ const KEY_MODS = {
'CONTROL': true,
};
+const KEY_CODE_TO_BYOND = {
+ 'DEL': 'Delete',
+ 'DOWN': 'South',
+ 'END': 'Southwest',
+ 'HOME': 'Northwest',
+ 'INSERT': 'Insert',
+ 'LEFT': 'West',
+ 'PAGEDOWN': 'Southeast',
+ 'PAGEUP': 'Northeast',
+ 'RIGHT': 'East',
+ ' ': 'Space',
+ 'UP': 'North',
+};
+
const getAllKeybinds = (glob_keybinds) => {
const all_keybinds = new Array();
Object.keys(glob_keybinds).map((x) => all_keybinds.push(...glob_keybinds[x]));
@@ -18,7 +32,7 @@ const getAllKeybinds = (glob_keybinds) => {
export const KeyBinds = (props) => {
const { act, data } = useBackend();
- const { glob_keybinds } = data;
+ const { player_keybinds, glob_keybinds, byond_keymap } = data;
const [selectedTab, setSelectedTab] = useLocalState('progress', 'ALL');
@@ -52,13 +66,38 @@ export const KeyBinds = (props) => {
}>
-
- setSearchTerm(value)}
- placeholder="Search..."
- fluid
- />
+
+
+ setSearchTerm(value)}
+ placeholder="Search..."
+ fluid
+ />
+
+
+ {
+ // The key(s) pressed by the user, byond-ified.
+ const targetKey = keysDown
+ .map((k) => byond_keymap[k] || k)
+ .join('+');
+ // targetKey's entry in player_keybinds.
+ const targetEntry = player_keybinds[targetKey];
+ if (!targetEntry) {
+ return;
+ }
+ // If a keybind was found, scroll to the first match.
+ document
+ .getElementById(targetEntry[0])
+ .scrollIntoView();
+ }}
+ />
+
+
@@ -129,11 +168,11 @@ const KeybindsDropdown = (props) => {
export const KeybindElement = (props) => {
const { act, data } = useBackend();
const { keybind } = props;
- const { keybinds } = data;
+ const { player_keybinds } = data;
const currentBoundKeys = [];
- for (const [key, value] of Object.entries(keybinds)) {
+ for (const [key, value] of Object.entries(player_keybinds)) {
for (let i = 0; i < value.length; i++) {
if (value[i] === keybind.name) {
currentBoundKeys.push(key);
@@ -143,7 +182,7 @@ export const KeybindElement = (props) => {
}
return (
-
+
{keybind.full_name}
@@ -249,6 +288,10 @@ export class ButtonKeybind extends Component {
return;
}
+ if (KEY_CODE_TO_BYOND[pressedKey]) {
+ pressedKey = KEY_CODE_TO_BYOND[pressedKey];
+ }
+
if (e.keyCode >= 96 && e.keyCode <= 105) {
pressedKey = 'Numpad' + pressedKey;
}
diff --git a/tgui/packages/tgui/interfaces/StripMenu.tsx b/tgui/packages/tgui/interfaces/StripMenu.tsx
new file mode 100644
index 000000000000..23bf1199d54e
--- /dev/null
+++ b/tgui/packages/tgui/interfaces/StripMenu.tsx
@@ -0,0 +1,377 @@
+import { range } from 'common/collections';
+import { BooleanLike } from 'common/react';
+import { resolveAsset } from '../assets';
+import { useBackend } from '../backend';
+import { Box, Button, Icon, Stack } from '../components';
+import { Window } from '../layouts';
+
+const ROWS = 5;
+const COLUMNS = 6;
+
+const BUTTON_DIMENSIONS = '50px';
+
+type GridSpotKey = string;
+
+const getGridSpotKey = (spot: [number, number]): GridSpotKey => {
+ return `${spot[0]}/${spot[1]}`;
+};
+
+const CornerText = (props: {
+ readonly align: 'left' | 'right';
+ readonly children: string;
+}): JSX.Element => {
+ const { align, children } = props;
+
+ return (
+
+ {children}
+
+ );
+};
+
+type AlternateAction = {
+ icon: string;
+ text: string;
+};
+
+const ALTERNATE_ACTIONS: Record = {
+ remove_splints: {
+ icon: 'crutch',
+ text: 'Remove splints',
+ },
+
+ remove_accessory: {
+ icon: 'tshirt',
+ text: 'Remove accessory',
+ },
+
+ retrieve_tag: {
+ icon: 'tags',
+ text: 'Retrieve info tag',
+ },
+
+ toggle_internals: {
+ icon: 'mask-face',
+ text: 'Toggle internals',
+ },
+};
+
+type Slot = {
+ displayName: string;
+ gridSpot: GridSpotKey;
+ image?: string;
+ additionalComponent?: JSX.Element;
+ hideEmpty?: boolean;
+};
+
+const SLOTS: Record = {
+ glasses: {
+ displayName: 'glasses',
+ gridSpot: getGridSpotKey([0, 1]),
+ image: 'inventory-glasses.png',
+ },
+
+ head: {
+ displayName: 'headwear',
+ gridSpot: getGridSpotKey([0, 2]),
+ image: 'inventory-head.png',
+ },
+
+ wear_mask: {
+ displayName: 'mask',
+ gridSpot: getGridSpotKey([1, 2]),
+ image: 'inventory-mask.png',
+ },
+
+ wear_r_ear: {
+ displayName: 'right earwear',
+ gridSpot: getGridSpotKey([0, 3]),
+ image: 'inventory-ears.png',
+ },
+
+ wear_l_ear: {
+ displayName: 'left earwear',
+ gridSpot: getGridSpotKey([1, 3]),
+ image: 'inventory-ears.png',
+ },
+
+ handcuffs: {
+ displayName: 'handcuffs',
+ gridSpot: getGridSpotKey([1, 4]),
+ hideEmpty: true,
+ },
+
+ legcuffs: {
+ displayName: 'legcuffs',
+ gridSpot: getGridSpotKey([1, 5]),
+ hideEmpty: true,
+ },
+
+ w_uniform: {
+ displayName: 'uniform',
+ gridSpot: getGridSpotKey([2, 1]),
+ image: 'inventory-uniform.png',
+ },
+
+ wear_suit: {
+ displayName: 'suit',
+ gridSpot: getGridSpotKey([2, 2]),
+ image: 'inventory-suit.png',
+ },
+
+ gloves: {
+ displayName: 'gloves',
+ gridSpot: getGridSpotKey([2, 3]),
+ image: 'inventory-gloves.png',
+ },
+
+ r_hand: {
+ displayName: 'right hand',
+ gridSpot: getGridSpotKey([2, 4]),
+ image: 'inventory-hand_r.png',
+ additionalComponent: R,
+ },
+
+ l_hand: {
+ displayName: 'left hand',
+ gridSpot: getGridSpotKey([2, 5]),
+ image: 'inventory-hand_l.png',
+ additionalComponent: L,
+ },
+
+ shoes: {
+ displayName: 'shoes',
+ gridSpot: getGridSpotKey([3, 2]),
+ image: 'inventory-shoes.png',
+ },
+
+ j_store: {
+ displayName: 'suit storage item',
+ gridSpot: getGridSpotKey([4, 0]),
+ image: 'inventory-suit_storage.png',
+ },
+
+ id: {
+ displayName: 'ID',
+ gridSpot: getGridSpotKey([4, 1]),
+ image: 'inventory-id.png',
+ },
+
+ belt: {
+ displayName: 'belt',
+ gridSpot: getGridSpotKey([4, 2]),
+ image: 'inventory-belt.png',
+ },
+
+ back: {
+ displayName: 'backpack',
+ gridSpot: getGridSpotKey([4, 3]),
+ image: 'inventory-back.png',
+ },
+
+ l_store: {
+ displayName: 'left pocket',
+ gridSpot: getGridSpotKey([4, 4]),
+ image: 'inventory-pocket.png',
+ },
+
+ r_store: {
+ displayName: 'right pocket',
+ gridSpot: getGridSpotKey([4, 5]),
+ image: 'inventory-pocket.png',
+ },
+};
+
+enum ObscuringLevel {
+ Completely = 1,
+ Hidden = 2,
+}
+
+type Interactable = {
+ interacting: BooleanLike;
+};
+
+/**
+ * Some possible options:
+ *
+ * null - No interactions, no item, but is an available slot
+ * { interacting: 1 } - No item, but we're interacting with it
+ * { icon: icon, name: name } - An item with no alternate actions
+ * that we're not interacting with.
+ * { icon, name, interacting: 1 } - An item with no alternate actions
+ * that we're interacting with.
+ */
+type StripMenuItem =
+ | null
+ | Interactable
+ | ((
+ | {
+ icon: string;
+ name: string;
+ alternate: string;
+ }
+ | {
+ obscured: ObscuringLevel;
+ }
+ | {
+ no_item_action: string;
+ }
+ ) &
+ Partial);
+
+type StripMenuData = {
+ items: Record;
+ name: string;
+};
+
+const StripContent = (props: { readonly item: StripMenuItem }) => {
+ if (props.item && 'name' in props.item) {
+ return (
+
+ );
+ }
+ if (props.item && 'obscured' in props.item) {
+ return (
+
+ );
+ }
+ return <> >;
+};
+
+export const StripMenu = (props, context) => {
+ const { act, data } = useBackend();
+
+ const gridSpots = new Map();
+ for (const key of Object.keys(data.items)) {
+ const item = data.items[key];
+ if (item === null && SLOTS[key].hideEmpty) continue;
+ gridSpots.set(SLOTS[key].gridSpot, key);
+ }
+
+ return (
+
+
+
+ {range(0, ROWS).map((row) => (
+
+
+ {range(0, COLUMNS).map((column) => {
+ const key = getGridSpotKey([row, column]);
+ const keyAtSpot = gridSpots.get(key);
+
+ if (!keyAtSpot) {
+ return (
+
+ );
+ }
+
+ const item = data.items[keyAtSpot];
+ const slot = SLOTS[keyAtSpot];
+
+ let alternateAction: AlternateAction | undefined;
+
+ let content;
+ let tooltip;
+
+ if (item === null) {
+ tooltip = slot.displayName;
+ } else if ('name' in item) {
+ alternateAction = ALTERNATE_ACTIONS[item.alternate];
+ tooltip = item.name;
+ } else if ('obscured' in item) {
+ tooltip = `obscured ${slot.displayName}`;
+ } else if ('no_item_action' in item) {
+ tooltip = slot.displayName;
+ alternateAction = ALTERNATE_ACTIONS[item.no_item_action];
+ }
+
+ return (
+
+
+ {
+ if (item === null || 'no_item_action' in item) {
+ act('equip', {
+ key: keyAtSpot,
+ });
+ } else {
+ act('strip', {
+ key: keyAtSpot,
+ });
+ }
+ }}
+ fluid
+ tooltip={tooltip}
+ className="StripMenu__itembutton"
+ style={{
+ background: item?.interacting
+ ? 'hsl(39, 73%, 30%)'
+ : undefined,
+ }}>
+ {slot.image && (
+
+ )}
+ {item && }
+ {slot.additionalComponent}
+
+
+ {alternateAction !== undefined && (
+ {
+ act('alt', {
+ key: keyAtSpot,
+ });
+ }}
+ tooltip={alternateAction.text}
+ className="StripMenu__alternativeaction">
+
+
+ )}
+
+
+ );
+ })}
+
+
+ ))}
+
+
+
+ );
+};
diff --git a/tgui/packages/tgui/interfaces/TacticalMap.tsx b/tgui/packages/tgui/interfaces/TacticalMap.tsx
index 934589a0850e..c3a386cc6f92 100644
--- a/tgui/packages/tgui/interfaces/TacticalMap.tsx
+++ b/tgui/packages/tgui/interfaces/TacticalMap.tsx
@@ -13,7 +13,7 @@ interface TacMapProps {
svgData: any;
canViewTacmap: number;
canDraw: number;
- isXeno: boolean;
+ isxeno: boolean;
canViewCanvas: number;
newCanvasFlatImage: string;
oldCanvasFlatImage: string;
@@ -104,7 +104,7 @@ export const TacticalMap = (props) => {
+ theme={data.isxeno ? 'hive_status' : 'crtblue'}>
{
return (
AccessRequests,
'access_tickets': () => AccessTickets,
'id_access': () => AccessID,
+ 'core_security_gas': () => CoreSecGas,
};
export const WorkingJoe = (props) => {
const { data } = useBackend();
const { current_menu } = data;
const PageComponent = PAGES[current_menu]();
+ let themecolor = 'crtblue';
+ if (current_menu === 'core_security_gas') {
+ themecolor = 'crtred';
+ }
+
return (
-
+
@@ -235,6 +241,27 @@ const MainMenu = (props) => {
)}
+ {access_level >= 5 && (
+
+ Core Security Protocols
+
+
+ act('page_core_gas')}
+ />
+
+
+
+ )}
>
);
};
@@ -963,3 +990,72 @@ const AccessTickets = (props) => {
>
);
};
+
+const CoreSecGas = (props) => {
+ const { data, act } = useBackend();
+ const {
+ logged_in,
+ access_text,
+ access_level,
+ last_page,
+ current_menu,
+ security_vents,
+ } = data;
+
+ return (
+ <>
+
+
+
+ act('go_back')}
+ disabled={last_page === current_menu}
+ />
+ act('home')}
+ />
+
+
+
+ {logged_in}, {access_text}
+
+
+ act('logout')}
+ />
+
+
+
+
+ Nerve Gas Release
+ {security_vents.map((vent, i) => {
+ return (
+ act('trigger_vent', { vent: vent.ref })}
+ />
+ );
+ })}
+
+ >
+ );
+};
diff --git a/tgui/packages/tgui/styles/interfaces/StripMenu.scss b/tgui/packages/tgui/styles/interfaces/StripMenu.scss
new file mode 100644
index 000000000000..d2c867c0aca1
--- /dev/null
+++ b/tgui/packages/tgui/styles/interfaces/StripMenu.scss
@@ -0,0 +1,65 @@
+@use '../base.scss';
+
+$background-color: rgba(0, 0, 0, 0.33) !default;
+
+.StripMenu__cornertext_left {
+ position: relative;
+ left: 2px;
+ text-align: left;
+ text-shadow: 1px 1px 1px #555;
+}
+
+.StripMenu__cornertext_right {
+ position: relative;
+ left: -2px;
+ text-align: right;
+ text-shadow: 1px 1px 1px #555;
+}
+
+.StripMenu__iconbox {
+ height: 100%;
+ width: 100%;
+ -ms-interpolation-mode: nearest-neighbor;
+ vertical-align: middle;
+}
+
+.StripMenu__obscured {
+ text-align: center;
+ height: 100%;
+ width: 100%;
+}
+
+.StripMenu__itembox {
+ position: relative;
+ width: 100%;
+ height: 100%;
+}
+
+.StripMenu__contentbox {
+ position: relative;
+}
+
+.StripMenu__itembutton {
+ position: relative;
+ width: 100%;
+ height: 100%;
+ padding: 0;
+}
+
+.StripMenu__itemslot {
+ position: absolute;
+ width: 32px;
+ height: 32px;
+ left: 50%;
+ top: 50%;
+ transform: translateX(-50%) translateY(-50%) scale(0.8);
+ opacity: 0.7;
+}
+
+.StripMenu__alternativeaction {
+ background: rgba(0, 0, 0, 0.6);
+ position: absolute;
+ bottom: 0;
+ right: 0;
+ z-index: 2;
+}
diff --git a/tgui/packages/tgui/styles/main.scss b/tgui/packages/tgui/styles/main.scss
index f7a9ae4fbd7b..a76b1ef3d8e4 100644
--- a/tgui/packages/tgui/styles/main.scss
+++ b/tgui/packages/tgui/styles/main.scss
@@ -78,6 +78,7 @@
@include meta.load-css('./interfaces/common/Dpad.scss');
@include meta.load-css('./interfaces/common/ElectricalPanel.scss');
@include meta.load-css('./interfaces/TacticalMap.scss');
+@include meta.load-css('./interfaces/StripMenu.scss');
// Layouts
@include meta.load-css('./layouts/Layout.scss');
diff --git a/tgui/public/tgui-panel.bundle.css b/tgui/public/tgui-panel.bundle.css
index 468393947fff..65ed516c5573 100644
--- a/tgui/public/tgui-panel.bundle.css
+++ b/tgui/public/tgui-panel.bundle.css
@@ -1,2 +1,2 @@
-html,body{box-sizing:border-box;height:100%;margin:0;font-size:12px}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif}*,*:before,*:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{display:block;margin:0;padding:6px 0;padding:.5rem 0}h1{font-size:18px;font-size:1.5rem}h2{font-size:16px;font-size:1.333rem}h3{font-size:14px;font-size:1.167rem}h4{font-size:12px;font-size:1rem}td,th{vertical-align:baseline;text-align:left}.candystripe:nth-child(odd){background-color:rgba(0,0,0,.25)}.color-black{color:#1a1a1a !important}.color-white{color:#fff !important}.color-red{color:#df3e3e !important}.color-orange{color:#f37f33 !important}.color-yellow{color:#fbda21 !important}.color-olive{color:#cbe41c !important}.color-green{color:#25ca4c !important}.color-teal{color:#00d6cc !important}.color-blue{color:#2e93de !important}.color-dark-blue{color:#005fa7 !important}.color-violet{color:#7349cf !important}.color-purple{color:#ad45d0 !important}.color-pink{color:#e34da1 !important}.color-brown{color:#b97447 !important}.color-grey{color:#848484 !important}.color-light-grey{color:#b3b3b3 !important}.color-good{color:#68c22d !important}.color-average{color:#f29a29 !important}.color-bad{color:#df3e3e !important}.color-label{color:#8b9bb0 !important}.color-xeno{color:#664573 !important}.color-bg-black{background-color:#000 !important}.color-bg-white{background-color:#d9d9d9 !important}.color-bg-red{background-color:#bd2020 !important}.color-bg-orange{background-color:#d95e0c !important}.color-bg-yellow{background-color:#d9b804 !important}.color-bg-olive{background-color:#9aad14 !important}.color-bg-green{background-color:#1b9638 !important}.color-bg-teal{background-color:#009a93 !important}.color-bg-blue{background-color:#1c71b1 !important}.color-bg-dark-blue{background-color:#003e6e !important}.color-bg-violet{background-color:#552dab !important}.color-bg-purple{background-color:#8b2baa !important}.color-bg-pink{background-color:#cf2082 !important}.color-bg-brown{background-color:#8c5836 !important}.color-bg-grey{background-color:#646464 !important}.color-bg-light-grey{background-color:#919191 !important}.color-bg-good{background-color:#4d9121 !important}.color-bg-average{background-color:#cd7a0d !important}.color-bg-bad{background-color:#bd2020 !important}.color-bg-label{background-color:#657a94 !important}.color-bg-xeno{background-color:#462f4e !important}.debug-layout,.debug-layout *:not(g):not(path){color:rgba(255,255,255,.9) !important;background:rgba(0,0,0,0) !important;outline:1px solid rgba(255,255,255,.5) !important;box-shadow:none !important;filter:none !important}.debug-layout:hover,.debug-layout *:not(g):not(path):hover{outline-color:rgba(255,255,255,.8) !important}.outline-dotted{outline-style:dotted !important}.outline-dashed{outline-style:dashed !important}.outline-solid{outline-style:solid !important}.outline-double{outline-style:double !important}.outline-groove{outline-style:groove !important}.outline-ridge{outline-style:ridge !important}.outline-inset{outline-style:inset !important}.outline-outset{outline-style:outset !important}.outline-color-black{outline:.167rem solid #1a1a1a !important}.outline-color-white{outline:.167rem solid #fff !important}.outline-color-red{outline:.167rem solid #df3e3e !important}.outline-color-orange{outline:.167rem solid #f37f33 !important}.outline-color-yellow{outline:.167rem solid #fbda21 !important}.outline-color-olive{outline:.167rem solid #cbe41c !important}.outline-color-green{outline:.167rem solid #25ca4c !important}.outline-color-teal{outline:.167rem solid #00d6cc !important}.outline-color-blue{outline:.167rem solid #2e93de !important}.outline-color-dark-blue{outline:.167rem solid #005fa7 !important}.outline-color-violet{outline:.167rem solid #7349cf !important}.outline-color-purple{outline:.167rem solid #ad45d0 !important}.outline-color-pink{outline:.167rem solid #e34da1 !important}.outline-color-brown{outline:.167rem solid #b97447 !important}.outline-color-grey{outline:.167rem solid #848484 !important}.outline-color-light-grey{outline:.167rem solid #b3b3b3 !important}.outline-color-good{outline:.167rem solid #68c22d !important}.outline-color-average{outline:.167rem solid #f29a29 !important}.outline-color-bad{outline:.167rem solid #df3e3e !important}.outline-color-label{outline:.167rem solid #8b9bb0 !important}.outline-color-xeno{outline:.167rem solid #664573 !important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-baseline{text-align:baseline}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-pre{white-space:pre}.text-bold{font-weight:bold}.text-italic{font-style:italic}.text-underline{text-decoration:underline}.BlockQuote{color:#8b9bb0;border-left:.1666666667em solid #8b9bb0;padding-left:.5em;margin-bottom:.5em}.BlockQuote:last-child{margin-bottom:0}.Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.Button .fa,.Button .fas,.Button .far{margin-left:-0.25em;margin-right:-0.25em;min-width:1.333em;text-align:center}.Button--hasContent .fa,.Button--hasContent .fas,.Button--hasContent .far{margin-right:.25em}.Button--hasContent.Button--iconPosition--right .fa,.Button--hasContent.Button--iconPosition--right .fas,.Button--hasContent.Button--iconPosition--right .far{margin-right:0px;margin-left:3px}.Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.Button--fluid{display:block;margin-left:0;margin-right:0}.Button--circular{border-radius:50%}.Button--compact{padding:0 .25em;line-height:1.333em}.Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.Button--color--black:hover{transition:color 0ms,background-color 0ms}.Button--color--black:focus{transition:color 100ms,background-color 100ms}.Button--color--black:hover,.Button--color--black:focus{background-color:#131313;color:#fff}.Button--color--white{transition:color 50ms,background-color 50ms;background-color:#d9d9d9;color:#000}.Button--color--white:hover{transition:color 0ms,background-color 0ms}.Button--color--white:focus{transition:color 100ms,background-color 100ms}.Button--color--white:hover,.Button--color--white:focus{background-color:#f8f8f8;color:#000}.Button--color--red{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--red:hover{transition:color 0ms,background-color 0ms}.Button--color--red:focus{transition:color 100ms,background-color 100ms}.Button--color--red:hover,.Button--color--red:focus{background-color:#dc4848;color:#fff}.Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#d95e0c;color:#fff}.Button--color--orange:hover{transition:color 0ms,background-color 0ms}.Button--color--orange:focus{transition:color 100ms,background-color 100ms}.Button--color--orange:hover,.Button--color--orange:focus{background-color:#f0853f;color:#fff}.Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.Button--color--yellow:focus{transition:color 100ms,background-color 100ms}.Button--color--yellow:hover,.Button--color--yellow:focus{background-color:#f5d72e;color:#000}.Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#9aad14;color:#fff}.Button--color--olive:hover{transition:color 0ms,background-color 0ms}.Button--color--olive:focus{transition:color 100ms,background-color 100ms}.Button--color--olive:hover,.Button--color--olive:focus{background-color:#c4da2b;color:#fff}.Button--color--green{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--color--green:hover{transition:color 0ms,background-color 0ms}.Button--color--green:focus{transition:color 100ms,background-color 100ms}.Button--color--green:hover,.Button--color--green:focus{background-color:#32c154;color:#fff}.Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#009a93;color:#fff}.Button--color--teal:hover{transition:color 0ms,background-color 0ms}.Button--color--teal:focus{transition:color 100ms,background-color 100ms}.Button--color--teal:hover,.Button--color--teal:focus{background-color:#13c4bc;color:#fff}.Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#1c71b1;color:#fff}.Button--color--blue:hover{transition:color 0ms,background-color 0ms}.Button--color--blue:focus{transition:color 100ms,background-color 100ms}.Button--color--blue:hover,.Button--color--blue:focus{background-color:#3a95d9;color:#fff}.Button--color--dark-blue{transition:color 50ms,background-color 50ms;background-color:#003e6e;color:#fff}.Button--color--dark-blue:hover{transition:color 0ms,background-color 0ms}.Button--color--dark-blue:focus{transition:color 100ms,background-color 100ms}.Button--color--dark-blue:hover,.Button--color--dark-blue:focus{background-color:#135b92;color:#fff}.Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#552dab;color:#fff}.Button--color--violet:hover{transition:color 0ms,background-color 0ms}.Button--color--violet:focus{transition:color 100ms,background-color 100ms}.Button--color--violet:hover,.Button--color--violet:focus{background-color:#7953cc;color:#fff}.Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#8b2baa;color:#fff}.Button--color--purple:hover{transition:color 0ms,background-color 0ms}.Button--color--purple:focus{transition:color 100ms,background-color 100ms}.Button--color--purple:hover,.Button--color--purple:focus{background-color:#ad4fcd;color:#fff}.Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#cf2082;color:#fff}.Button--color--pink:hover{transition:color 0ms,background-color 0ms}.Button--color--pink:focus{transition:color 100ms,background-color 100ms}.Button--color--pink:hover,.Button--color--pink:focus{background-color:#e257a5;color:#fff}.Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#8c5836;color:#fff}.Button--color--brown:hover{transition:color 0ms,background-color 0ms}.Button--color--brown:focus{transition:color 100ms,background-color 100ms}.Button--color--brown:hover,.Button--color--brown:focus{background-color:#b47851;color:#fff}.Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#646464;color:#fff}.Button--color--grey:hover{transition:color 0ms,background-color 0ms}.Button--color--grey:focus{transition:color 100ms,background-color 100ms}.Button--color--grey:hover,.Button--color--grey:focus{background-color:#868686;color:#fff}.Button--color--light-grey{transition:color 50ms,background-color 50ms;background-color:#919191;color:#fff}.Button--color--light-grey:hover{transition:color 0ms,background-color 0ms}.Button--color--light-grey:focus{transition:color 100ms,background-color 100ms}.Button--color--light-grey:hover,.Button--color--light-grey:focus{background-color:#bababa;color:#fff}.Button--color--good{transition:color 50ms,background-color 50ms;background-color:#4d9121;color:#fff}.Button--color--good:hover{transition:color 0ms,background-color 0ms}.Button--color--good:focus{transition:color 100ms,background-color 100ms}.Button--color--good:hover,.Button--color--good:focus{background-color:#6cba39;color:#fff}.Button--color--average{transition:color 50ms,background-color 50ms;background-color:#cd7a0d;color:#fff}.Button--color--average:hover{transition:color 0ms,background-color 0ms}.Button--color--average:focus{transition:color 100ms,background-color 100ms}.Button--color--average:hover,.Button--color--average:focus{background-color:#ed9d35;color:#fff}.Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--bad:hover{transition:color 0ms,background-color 0ms}.Button--color--bad:focus{transition:color 100ms,background-color 100ms}.Button--color--bad:hover,.Button--color--bad:focus{background-color:#dc4848;color:#fff}.Button--color--label{transition:color 50ms,background-color 50ms;background-color:#657a94;color:#fff}.Button--color--label:hover{transition:color 0ms,background-color 0ms}.Button--color--label:focus{transition:color 100ms,background-color 100ms}.Button--color--label:hover,.Button--color--label:focus{background-color:#91a1b3;color:#fff}.Button--color--xeno{transition:color 50ms,background-color 50ms;background-color:#462f4e;color:#fff}.Button--color--xeno:hover{transition:color 0ms,background-color 0ms}.Button--color--xeno:focus{transition:color 100ms,background-color 100ms}.Button--color--xeno:hover,.Button--color--xeno:focus{background-color:#64496d;color:#fff}.Button--color--default{transition:color 50ms,background-color 50ms;background-color:#3e6189;color:#fff}.Button--color--default:hover{transition:color 0ms,background-color 0ms}.Button--color--default:focus{transition:color 100ms,background-color 100ms}.Button--color--default:hover,.Button--color--default:focus{background-color:#5c83b0;color:#fff}.Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--caution:hover{transition:color 0ms,background-color 0ms}.Button--color--caution:focus{transition:color 100ms,background-color 100ms}.Button--color--caution:hover,.Button--color--caution:focus{background-color:#f5d72e;color:#000}.Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--danger:hover{transition:color 0ms,background-color 0ms}.Button--color--danger:focus{transition:color 100ms,background-color 100ms}.Button--color--danger:hover,.Button--color--danger:focus{background-color:#dc4848;color:#fff}.Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#202020;color:#fff;background-color:rgba(32,32,32,0);color:rgba(255,255,255,.5)}.Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.Button--color--transparent:focus{transition:color 100ms,background-color 100ms}.Button--color--transparent:hover,.Button--color--transparent:focus{background-color:#383838;color:#fff}.Button--disabled{background-color:#999 !important}.Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--selected:hover{transition:color 0ms,background-color 0ms}.Button--selected:focus{transition:color 100ms,background-color 100ms}.Button--selected:hover,.Button--selected:focus{background-color:#32c154;color:#fff}.Button--flex{display:inline-flex;flex-direction:column}.Button--flex--fluid{width:100%}.Button--verticalAlignContent--top{justify-content:flex-start}.Button--verticalAlignContent--middle{justify-content:center}.Button--verticalAlignContent--bottom{justify-content:flex-end}.Button__content{display:block;align-self:stretch}.ColorBox{display:inline-block;width:1em;height:1em;line-height:1em;text-align:center}.Dimmer{display:flex;justify-content:center;align-items:center;position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.75);z-index:1}.Divider--horizontal{margin:.5em 0}.Divider--horizontal:not(.Divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Divider--vertical{height:100%;margin:0 .5em}.Divider--vertical:not(.Divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Dropdown{position:relative}.Dropdown__control{position:relative;display:inline-block;font-family:Verdana,sans-serif;font-size:1em;width:8.3333333333em;line-height:1.4166666667em;user-select:none}.Dropdown__arrow-button{float:right;padding-left:.35em;width:1.2em;height:1.8333333333em;border-left:.0833333333em solid #000;border-left:.0833333333em solid rgba(0,0,0,.25)}.Dropdown__menu{position:absolute;overflow-y:auto;z-index:5;width:8.3333333333em;max-height:16.6666666667em;overflow-y:scroll;border-radius:0 0 .1666666667em .1666666667em;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menu-noscroll{position:absolute;overflow-y:auto;z-index:5;width:8.3333333333em;max-height:16.6666666667em;border-radius:0 0 .1666666667em .1666666667em;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menuentry{padding:.1666666667em .3333333333em;font-family:Verdana,sans-serif;font-size:1em;line-height:1.4166666667em;transition:background-color 100ms ease-out}.Dropdown__menuentry:hover{background-color:rgba(255,255,255,.2);transition:background-color 0ms}.Dropdown__over{top:auto;bottom:100%}.Dropdown__selected-text{display:inline-block;text-overflow:ellipsis;white-space:nowrap;height:1.4166666667em;width:calc(100% - 1.2em)}.Flex{display:-ms-flexbox;display:flex}.Flex--inline{display:inline-flex}.Flex--iefix{display:block}.Flex--iefix.Flex--inline{display:inline-block}.Flex__item--iefix{display:inline-block}.Flex--iefix--column>.Flex__item--iefix{display:block}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Input--monospace .Input__input{font-family:"Consolas",monospace}.Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto;margin-bottom:-0.2em;cursor:n-resize}.Knob:after{content:".";color:rgba(0,0,0,0);line-height:2.5em}.Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 100%);border-radius:50%;box-shadow:0 .05em .5em 0 rgba(0,0,0,.5)}.Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:rgba(255,255,255,.9)}.Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.Knob__ringTrackPivot{transform:rotateZ(135deg)}.Knob__ringTrack{fill:rgba(0,0,0,0);stroke:rgba(255,255,255,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.Knob__ringFillPivot{transform:rotateZ(135deg)}.Knob--bipolar .Knob__ringFillPivot{transform:rotateZ(270deg)}.Knob__ringFill{fill:rgba(0,0,0,0);stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms ease-out}.Knob--color--black .Knob__ringFill{stroke:#1a1a1a}.Knob--color--white .Knob__ringFill{stroke:#fff}.Knob--color--red .Knob__ringFill{stroke:#df3e3e}.Knob--color--orange .Knob__ringFill{stroke:#f37f33}.Knob--color--yellow .Knob__ringFill{stroke:#fbda21}.Knob--color--olive .Knob__ringFill{stroke:#cbe41c}.Knob--color--green .Knob__ringFill{stroke:#25ca4c}.Knob--color--teal .Knob__ringFill{stroke:#00d6cc}.Knob--color--blue .Knob__ringFill{stroke:#2e93de}.Knob--color--dark-blue .Knob__ringFill{stroke:#005fa7}.Knob--color--violet .Knob__ringFill{stroke:#7349cf}.Knob--color--purple .Knob__ringFill{stroke:#ad45d0}.Knob--color--pink .Knob__ringFill{stroke:#e34da1}.Knob--color--brown .Knob__ringFill{stroke:#b97447}.Knob--color--grey .Knob__ringFill{stroke:#848484}.Knob--color--light-grey .Knob__ringFill{stroke:#b3b3b3}.Knob--color--good .Knob__ringFill{stroke:#68c22d}.Knob--color--average .Knob__ringFill{stroke:#f29a29}.Knob--color--bad .Knob__ringFill{stroke:#df3e3e}.Knob--color--label .Knob__ringFill{stroke:#8b9bb0}.Knob--color--xeno .Knob__ringFill{stroke:#664573}.LabeledList{display:table;width:100%;width:calc(100% + 1em);border-collapse:collapse;border-spacing:0;margin:-0.25em -0.5em;margin-bottom:0;padding:0}.LabeledList__row{display:table-row}.LabeledList__row:last-child .LabeledList__cell{padding-bottom:0}.LabeledList__cell{display:table-cell;margin:0;padding:.25em .5em;border:0;text-align:left}.LabeledList__label--nowrap{width:1%;white-space:nowrap;min-width:5em}.LabeledList__buttons{width:.1%;white-space:nowrap;text-align:right;padding-top:.0833333333em;padding-bottom:0}.Modal{background-color:#202020;max-width:calc(100% - 1rem);padding:1rem}.NoticeBox{padding:.33em .5em;margin-bottom:.5em;box-shadow:none;font-weight:bold;font-style:italic;color:#000;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg, transparent, transparent 0.8333333333em, rgba(0, 0, 0, 0.1) 0.8333333333em, rgba(0, 0, 0, 0.1) 1.6666666667em)}.NoticeBox--color--black{color:#fff;background-color:#000}.NoticeBox--color--white{color:#000;background-color:#b3b3b3}.NoticeBox--color--red{color:#fff;background-color:#701f1f}.NoticeBox--color--orange{color:#fff;background-color:#854114}.NoticeBox--color--yellow{color:#000;background-color:#83710d}.NoticeBox--color--olive{color:#000;background-color:#576015}.NoticeBox--color--green{color:#fff;background-color:#174e24}.NoticeBox--color--teal{color:#fff;background-color:#064845}.NoticeBox--color--blue{color:#fff;background-color:#1b4565}.NoticeBox--color--dark-blue{color:#fff;background-color:#02121f}.NoticeBox--color--violet{color:#fff;background-color:#3b2864}.NoticeBox--color--purple{color:#fff;background-color:#542663}.NoticeBox--color--pink{color:#fff;background-color:#802257}.NoticeBox--color--brown{color:#fff;background-color:#4c3729}.NoticeBox--color--grey{color:#fff;background-color:#3e3e3e}.NoticeBox--color--light-grey{color:#fff;background-color:#6a6a6a}.NoticeBox--color--good{color:#fff;background-color:#2e4b1a}.NoticeBox--color--average{color:#fff;background-color:#7b4e13}.NoticeBox--color--bad{color:#fff;background-color:#701f1f}.NoticeBox--color--label{color:#fff;background-color:#53565a}.NoticeBox--color--xeno{color:#fff;background-color:#19161b}.NoticeBox--type--info{color:#fff;background-color:#235982}.NoticeBox--type--success{color:#fff;background-color:#1e662f}.NoticeBox--type--warning{color:#fff;background-color:#a95219}.NoticeBox--type--danger{color:#fff;background-color:#8f2828}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Input--monospace .Input__input{font-family:"Consolas",monospace}.NumberInput{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#88bfff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.NumberInput--fluid{display:block}.NumberInput__content{margin-left:.5em}.NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #88bfff;background-color:#88bfff}.NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-width:.0833333333em !important;border-style:solid !important;border-radius:.16em;background-color:rgba(0,0,0,0);transition:border-color 900ms ease-out}.ProgressBar__fill{position:absolute;top:-0.5px;left:0px;bottom:-0.5px}.ProgressBar__fill--animated{transition:background-color 900ms ease-out,width 900ms ease-out}.ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.ProgressBar--color--default{border:.0833333333em solid #3e6189}.ProgressBar--color--default .ProgressBar__fill{background-color:#3e6189}.ProgressBar--color--black{border-color:#000 !important}.ProgressBar--color--black .ProgressBar__fill{background-color:#000}.ProgressBar--color--white{border-color:#d9d9d9 !important}.ProgressBar--color--white .ProgressBar__fill{background-color:#d9d9d9}.ProgressBar--color--red{border-color:#bd2020 !important}.ProgressBar--color--red .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--orange{border-color:#d95e0c !important}.ProgressBar--color--orange .ProgressBar__fill{background-color:#d95e0c}.ProgressBar--color--yellow{border-color:#d9b804 !important}.ProgressBar--color--yellow .ProgressBar__fill{background-color:#d9b804}.ProgressBar--color--olive{border-color:#9aad14 !important}.ProgressBar--color--olive .ProgressBar__fill{background-color:#9aad14}.ProgressBar--color--green{border-color:#1b9638 !important}.ProgressBar--color--green .ProgressBar__fill{background-color:#1b9638}.ProgressBar--color--teal{border-color:#009a93 !important}.ProgressBar--color--teal .ProgressBar__fill{background-color:#009a93}.ProgressBar--color--blue{border-color:#1c71b1 !important}.ProgressBar--color--blue .ProgressBar__fill{background-color:#1c71b1}.ProgressBar--color--dark-blue{border-color:#003e6e !important}.ProgressBar--color--dark-blue .ProgressBar__fill{background-color:#003e6e}.ProgressBar--color--violet{border-color:#552dab !important}.ProgressBar--color--violet .ProgressBar__fill{background-color:#552dab}.ProgressBar--color--purple{border-color:#8b2baa !important}.ProgressBar--color--purple .ProgressBar__fill{background-color:#8b2baa}.ProgressBar--color--pink{border-color:#cf2082 !important}.ProgressBar--color--pink .ProgressBar__fill{background-color:#cf2082}.ProgressBar--color--brown{border-color:#8c5836 !important}.ProgressBar--color--brown .ProgressBar__fill{background-color:#8c5836}.ProgressBar--color--grey{border-color:#646464 !important}.ProgressBar--color--grey .ProgressBar__fill{background-color:#646464}.ProgressBar--color--light-grey{border-color:#919191 !important}.ProgressBar--color--light-grey .ProgressBar__fill{background-color:#919191}.ProgressBar--color--good{border-color:#4d9121 !important}.ProgressBar--color--good .ProgressBar__fill{background-color:#4d9121}.ProgressBar--color--average{border-color:#cd7a0d !important}.ProgressBar--color--average .ProgressBar__fill{background-color:#cd7a0d}.ProgressBar--color--bad{border-color:#bd2020 !important}.ProgressBar--color--bad .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--label{border-color:#657a94 !important}.ProgressBar--color--label .ProgressBar__fill{background-color:#657a94}.ProgressBar--color--xeno{border-color:#462f4e !important}.ProgressBar--color--xeno .ProgressBar__fill{background-color:#462f4e}.Section{position:relative;margin-bottom:.5em;background-color:#131313;background-color:#131313;box-sizing:border-box}.Section:last-child{margin-bottom:0}.Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #4972a1}.Section__titleText{font-size:1.1666666667em;font-weight:bold;color:#fff}.Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.Section__rest{position:relative}.Section__content{padding:.66em .5em}.Section--fitted>.Section__rest>.Section__content{padding:0}.Section--fill{display:flex;flex-direction:column;height:100%}.Section--fill>.Section__rest{flex-grow:1}.Section--fill>.Section__rest>.Section__content{height:100%}.Section--fill.Section--scrollable>.Section__rest>.Section__content{position:absolute;top:0;left:0;right:0;bottom:0}.Section--fill.Section--iefix{display:table !important;width:100% !important;height:100% !important;border-collapse:collapse;border-spacing:0}.Section--fill.Section--iefix>.Section__rest{display:table-row !important;height:100% !important}.Section--scrollable{overflow-x:hidden;overflow-y:hidden}.Section--scrollable>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:hidden}.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:hidden;overflow-x:scroll}.Section--scrollable.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:scroll}.Section .Section{background-color:rgba(0,0,0,0);margin-left:-0.5em;margin-right:-0.5em}.Section .Section:first-child{margin-top:-0.5em}.Section .Section .Section__titleText{font-size:1.0833333333em}.Section .Section .Section .Section__titleText{font-size:1em}.Slider{cursor:e-resize}.Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none !important}.Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #fff}.Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid rgba(0,0,0,0);border-right:.4166666667em solid rgba(0,0,0,0);border-bottom:.4166666667em solid #fff}.Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.Divider--horizontal{margin:.5em 0}.Divider--horizontal:not(.Divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Divider--vertical{height:100%;margin:0 .5em}.Divider--vertical:not(.Divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Stack--fill{height:100%}.Stack--horizontal>.Stack__item{margin-left:.5em}.Stack--horizontal>.Stack__item:first-child{margin-left:0}.Stack--vertical>.Stack__item{margin-top:.5em}.Stack--vertical>.Stack__item:first-child{margin-top:0}.Stack--horizontal>.Stack__divider:not(.Stack__divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Stack--vertical>.Stack__divider:not(.Stack__divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Table{display:table;width:100%;border-collapse:collapse;border-spacing:0;margin:0}.Table--collapsing{width:auto}.Table__row{display:table-row}.Table__cell{display:table-cell;padding:0 .25em}.Table__cell:first-child{padding-left:0}.Table__cell:last-child{padding-right:0}.Table__row--header .Table__cell,.Table__cell--header{font-weight:bold;padding-bottom:.5em}.Table__cell--collapsing{width:1%;white-space:nowrap}.Tabs{display:flex;align-items:stretch;overflow:hidden;background-color:#131313}.Tabs--fill{height:100%}.Section .Tabs{background-color:rgba(0,0,0,0)}.Section:not(.Section--fitted) .Tabs{margin:0 -0.5em .5em}.Section:not(.Section--fitted) .Tabs:first-child{margin-top:-0.5em}.Tabs--vertical{flex-direction:column;padding:.25em 0 .25em .25em}.Tabs--horizontal{margin-bottom:.5em;padding:.25em .25em 0 .25em}.Tabs--horizontal:last-child{margin-bottom:0}.Tabs__Tab{flex-grow:0}.Tabs--fluid .Tabs__Tab{flex-grow:1}.Tab{display:flex;align-items:center;justify-content:space-between;background-color:rgba(0,0,0,0);color:rgba(255,255,255,.5);min-height:2.25em;min-width:4em}.Tab:not(.Tab--selected):hover{background-color:rgba(255,255,255,.075)}.Tab--selected{background-color:rgba(255,255,255,.125);color:#dfe7f0}.Tab__text{flex-grow:1;margin:0 .5em}.Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.Tabs--horizontal .Tab{border-top:.1666666667em solid rgba(0,0,0,0);border-bottom:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-top-right-radius:.25em}.Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #d4dfec}.Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid rgba(0,0,0,0);border-right:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-bottom-left-radius:.25em}.Tabs--vertical .Tab--selected{border-right:.1666666667em solid #d4dfec}.Tab--selected.Tab--color--black{color:#535353}.Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#1a1a1a}.Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#1a1a1a}.Tab--selected.Tab--color--white{color:#fff}.Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#fff}.Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#fff}.Tab--selected.Tab--color--red{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#df3e3e}.Tab--selected.Tab--color--orange{color:#f69f66}.Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#f37f33}.Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#f37f33}.Tab--selected.Tab--color--yellow{color:#fce358}.Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#fbda21}.Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#fbda21}.Tab--selected.Tab--color--olive{color:#d8eb55}.Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#cbe41c}.Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#cbe41c}.Tab--selected.Tab--color--green{color:#53e074}.Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#25ca4c}.Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#25ca4c}.Tab--selected.Tab--color--teal{color:#21fff5}.Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00d6cc}.Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00d6cc}.Tab--selected.Tab--color--blue{color:#62aee6}.Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#2e93de}.Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#2e93de}.Tab--selected.Tab--color--dark-blue{color:#008ffd}.Tabs--horizontal .Tab--selected.Tab--color--dark-blue{border-bottom-color:#005fa7}.Tabs--vertical .Tab--selected.Tab--color--dark-blue{border-right-color:#005fa7}.Tab--selected.Tab--color--violet{color:#9676db}.Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#7349cf}.Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#7349cf}.Tab--selected.Tab--color--purple{color:#c274db}.Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#ad45d0}.Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#ad45d0}.Tab--selected.Tab--color--pink{color:#ea79b9}.Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#e34da1}.Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#e34da1}.Tab--selected.Tab--color--brown{color:#ca9775}.Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#b97447}.Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#b97447}.Tab--selected.Tab--color--grey{color:#a3a3a3}.Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#848484}.Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#848484}.Tab--selected.Tab--color--light-grey{color:#c6c6c6}.Tabs--horizontal .Tab--selected.Tab--color--light-grey{border-bottom-color:#b3b3b3}.Tabs--vertical .Tab--selected.Tab--color--light-grey{border-right-color:#b3b3b3}.Tab--selected.Tab--color--good{color:#8cd95a}.Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#68c22d}.Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#68c22d}.Tab--selected.Tab--color--average{color:#f5b35e}.Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#f29a29}.Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#f29a29}.Tab--selected.Tab--color--bad{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#df3e3e}.Tab--selected.Tab--color--label{color:#a8b4c4}.Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#8b9bb0}.Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#8b9bb0}.Tab--selected.Tab--color--xeno{color:#9366a3}.Tabs--horizontal .Tab--selected.Tab--color--xeno{border-bottom-color:#664573}.Tabs--vertical .Tab--selected.Tab--color--xeno{border-right-color:#664573}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Input--monospace .Input__input{font-family:"Consolas",monospace}.TextArea{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;background-color:#0a0a0a;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.TextArea--fluid{display:block;width:auto;height:auto}.TextArea--noborder{border:0px}.TextArea__textarea.TextArea__textarea--scrollable{overflow:auto;overflow-x:hidden;overflow-y:scroll}.TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:rgba(0,0,0,0);color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.TextArea__textarea_custom{overflow:visible;white-space:pre-wrap}.Tooltip{z-index:2;padding:.5em .75em;pointer-events:none;text-align:left;transition:opacity 150ms ease-out;background-color:#000;color:#fff;box-shadow:.1em .1em 1.25em -0.1em rgba(0,0,0,.5);border-radius:.16em;max-width:20.8333333333em}.Chat{color:#abc6ec}.Chat__badge{display:inline-block;min-width:.5em;font-size:.7em;padding:.2em .3em;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:crimson;border-radius:10px;transition:font-size 200ms ease-out}.Chat__badge:before{content:"x"}.Chat__badge--animate{font-size:.9em;transition:font-size 0ms}.Chat__scrollButton{position:fixed;right:2em;bottom:1em}.Chat__reconnected{font-size:.85em;text-align:center;margin:1em 0 2em}.Chat__reconnected:before{content:"Reconnected";display:inline-block;border-radius:1em;padding:0 .7em;color:#db2828;background-color:#131313}.Chat__reconnected:after{content:"";display:block;margin-top:-0.75em;border-bottom:.1666666667em solid #db2828}.Chat__highlight{color:#000}.Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:bold}.ChatMessage{word-wrap:break-word}.ChatMessage--highlighted{position:relative;border-left:.1666666667em solid #fd4;padding-left:.5em}.ChatMessage--highlighted:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(255,221,68,.1);pointer-events:none}.Ping{position:relative;padding:.125em .25em;border:.0833333333em solid rgba(140,140,140,.5);border-radius:.25em;width:3.75em;text-align:right}.Ping__indicator{content:"";position:absolute;top:.5em;left:.5em;width:.5em;height:.5em;background-color:#888;border-radius:.25em}.Notifications{position:absolute;bottom:1em;left:1em;right:2em}.Notification{color:#fff;background-color:crimson;padding:.5em;margin:1em 0}.Notification:first-child{margin-top:0}.Notification:last-child{margin-bottom:0}.Layout,.Layout *{scrollbar-base-color:#181818;scrollbar-face-color:#363636;scrollbar-3dlight-color:#202020;scrollbar-highlight-color:#202020;scrollbar-track-color:#181818;scrollbar-arrow-color:#909090;scrollbar-shadow-color:#363636}.Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#202020;background-image:linear-gradient(to bottom, #202020 0%, #202020 100%)}.Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.Window__contentPadding:after{height:0}.Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(56,56,56,.25);pointer-events:none}.Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}em{font-style:normal;font-weight:bold}img{margin:0;padding:0;line-height:1;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}img.icon{height:1em;min-height:16px;width:auto;vertical-align:bottom}a{color:#397ea5}a.visited{color:#7c00e6}a:visited{color:#7c00e6}a.popt{text-decoration:none}.popup{position:fixed;top:50%;left:50%;background:#ddd}.popup .close{position:absolute;background:#aaa;top:0;right:0;color:#333;text-decoration:none;z-index:2;padding:0 10px;height:30px;line-height:30px}.popup .close:hover{background:#999}.popup .head{background:#999;color:#ddd;padding:0 10px;height:30px;line-height:30px;text-transform:uppercase;font-size:.9em;font-weight:bold;border-bottom:2px solid green}.popup input{border:1px solid #999;background:#fff;margin:0;padding:5px;outline:none;color:#333}.popup input[type=text]:hover,.popup input[type=text]:active,.popup input[type=text]:focus{border-color:green}.popup input[type=submit]{padding:5px 10px;background:#999;color:#ddd;text-transform:uppercase;font-size:.9em;font-weight:bold}.popup input[type=submit]:hover,.popup input[type=submit]:focus,.popup input[type=submit]:active{background:#aaa;cursor:pointer}.changeFont{padding:10px}.changeFont a{display:block;text-decoration:none;padding:3px;color:#333}.changeFont a:hover{background:#ccc}.highlightPopup{padding:10px;text-align:center}.highlightPopup input[type=text]{display:block;width:215px;text-align:left;margin-top:5px}.highlightPopup input.highlightColor{background-color:#ff0}.highlightPopup input.highlightTermSubmit{margin-top:5px}.contextMenu{background-color:#ddd;position:fixed;margin:2px;width:150px}.contextMenu a{display:block;padding:2px 5px;text-decoration:none;color:#333}.contextMenu a:hover{background-color:#ccc}.filterMessages{padding:5px}.filterMessages div{padding:2px 0}.icon-stack{height:1em;line-height:1em;width:1em;vertical-align:middle;margin-top:-2px}.motd{color:#a4bad6;font-family:Verdana,sans-serif;white-space:normal}.motd h1,.motd h2,.motd h3,.motd h4,.motd h5,.motd h6{color:#a4bad6;text-decoration:underline}.motd a,.motd a:link,.motd a:visited,.motd a:active,.motd a:hover{color:#a4bad6}.bold,.name,.prefix,.ooc,.looc,.adminooc,.admin,.medal,.yell{font-weight:bold}.italic,.italics{font-style:italic}.highlight{background:#ff0}h1,h2,h3,h4,h5,h6{color:#a4bad6;font-family:Georgia,Verdana,sans-serif}h1.alert,h2.alert{color:#a4bad6}em{font-style:normal;font-weight:bold}.ooc{font-weight:bold}.adminobserverooc{color:#09c;font-weight:bold}.adminooc{color:#3d5bc3;font-weight:bold}.adminsay{color:#9611d4;font-weight:bold}.admin{color:#5975da;font-weight:bold}.name{font-weight:bold}.deadsay{color:#e2c1ff}.binarysay{color:#1e90ff}.binarysay a{color:lime}.binarysay a:active,.binarysay a:visited{color:#8f8}.radio{color:#1ecc43}.sciradio{color:#c68cfa}.comradio{color:#fcdf03}.secradio{color:#dd3535}.medradio{color:#57b8f0}.engradio{color:#f37746}.suppradio{color:#b88646}.servradio{color:#6ca729}.syndradio{color:#8f4a4b}.gangradio{color:#ac2ea1}.centcomradio{color:#2681a5}.aiprivradio{color:#d65d95}.redteamradio{color:#f44}.blueteamradio{color:#3434fd}.greenteamradio{color:#34fd34}.yellowteamradio{color:#fdfd34}.yell{font-weight:bold}.alert{color:#d82020}.userdanger{color:#c51e1e;font-weight:bold;font-size:185%}.bolddanger{color:#c51e1e;font-weight:bold}.danger{color:#c51e1e}.warning{color:#c51e1e;font-style:italic}.alertwarning{color:red;font-weight:bold}.boldwarning{color:#c51e1e;font-style:italic;font-weight:bold}.announce{color:#c51e1e;font-weight:bold}.boldannounce{color:#c51e1e;font-weight:bold}.bigannounce{font-weight:bold;font-size:115%}.greenannounce{color:#059223;font-weight:bold}.rose{color:#ff5050}.info{color:#9ab0ff}.notice{color:#6685f5}.staff_ic{color:#6685f5}.tinynotice{color:#6685f5;font-size:85%}.tinynoticeital{color:#6685f5;font-style:italic;font-size:85%}.smallnotice{color:#6685f5;font-size:90%}.smallnoticeital{color:#6685f5;font-style:italic;font-size:90%}.boldnotice{color:#6685f5;font-weight:bold}.hear{color:#6685f5;font-style:italic}.adminnotice{color:#6685f5}.adminhelp{color:red;font-weight:bold}.unconscious{color:#a4bad6;font-weight:bold}.suicide{color:#ff5050;font-style:italic}.green{color:#059223}.grey{color:#838383}.red{color:red}.blue{color:#215cff}.nicegreen{color:#059223}.boldnicegreen{color:#059223;font-weight:bold}.cult{color:#973e3b}.cultitalic{color:#973e3b;font-style:italic}.cultbold{color:#973e3b;font-style:italic;font-weight:bold}.cultboldtalic{color:#973e3b;font-weight:bold;font-size:185%}.cultlarge{color:#973e3b;font-weight:bold;font-size:185%}.narsie{color:#973e3b;font-weight:bold;font-size:925%}.narsiesmall{color:#973e3b;font-weight:bold;font-size:370%}.colossus{color:#7f282a;font-size:310%}.hierophant{color:#b441ee;font-weight:bold;font-style:italic}.hierophant_warning{color:#c56bf1;font-style:italic}.purple{color:#9956d3}.holoparasite{color:#88809c}.revennotice{color:#c099e2}.revenboldnotice{color:#c099e2;font-weight:bold}.revenbignotice{color:#c099e2;font-weight:bold;font-size:185%}.revenminor{color:#823abb}.revenwarning{color:#760fbb;font-style:italic}.revendanger{color:#760fbb;font-weight:bold;font-size:185%}.deconversion_message{color:#a947ff;font-size:185%;font-style:italic}.ghostalert{color:#60f;font-style:italic;font-weight:bold}.alien{color:#855d85}.noticealien{color:#059223}.alertalien{color:#059223;font-weight:bold}.changeling{color:#059223;font-style:italic}.alertsyndie{color:red;font-size:185%;font-weight:bold}.spider{color:#80f;font-weight:bold;font-size:185%}.interface{color:#750e75}.sans{font-family:"Comic Sans MS",cursive,sans-serif}.papyrus{font-family:"Papyrus",cursive,sans-serif}.robot{font-family:"Courier New",cursive,sans-serif}.tape_recorder{color:red;font-family:"Courier New",cursive,sans-serif}.command_headset{font-weight:bold;font-size:160%}.small{font-size:60%}.big{font-size:185%}.reallybig{font-size:245%}.extremelybig{font-size:310%}.greentext{color:#059223;font-size:185%}.redtext{color:#c51e1e;font-size:185%}.clown{color:#ff70c1;font-size:160%;font-family:"Comic Sans MS",cursive,sans-serif;font-weight:bold}.singing{font-family:"Trebuchet MS",cursive,sans-serif;font-style:italic}.his_grace{color:#15d512;font-family:"Courier New",cursive,sans-serif;font-style:italic}.hypnophrase{color:#202020;font-weight:bold;animation:hypnocolor 1500ms infinite;animation-direction:alternate}@keyframes hypnocolor{0%{color:#202020}25%{color:#4b02ac}50%{color:#9f41f1}75%{color:#541c9c}100%{color:#7adbf3}}.phobia{color:#d00;font-weight:bold;animation:phobia 750ms infinite}@keyframes phobia{0%{color:#f75a5a}50%{color:#d00}100%{color:#f75a5a}}.icon{height:1em;width:auto}.bigicon{font-size:2.5em}.memo{color:#638500;text-align:center}.memoedit{text-align:center;font-size:125%}.abductor{color:#c204c2;font-style:italic}.mind_control{color:#df3da9;font-size:100%;font-weight:bold;font-style:italic}.slime{color:#00ced1}.drone{color:#848482}.monkey{color:#975032}.swarmer{color:#2c75ff}.resonate{color:#298f85}.monkeyhive{color:#a56408}.monkeylead{color:#af6805;font-size:80%}.connectionClosed,.fatalError{background:red;color:#fff;padding:5px}.connectionClosed.restored{background:green}.internal.boldnshit{color:#3d5bc3;font-weight:bold}.text-normal{font-weight:normal;font-style:normal}.hidden{display:none;visibility:hidden}.ml-1{margin-left:1em}.ml-2{margin-left:2em}.ml-3{margin-left:3em}.xooc{color:#ac04e9;font-weight:bold;font-size:140%}.mooc{color:#090;font-weight:bold;font-size:140%}.yooc{color:#999600;font-weight:bold;font-size:140%}.headminsay{color:#653d78;font-weight:bold}.radio{color:#b4b4b4}.deptradio{color:#939}.comradio{color:#779cc2}.centradio{color:#5c5c8a}.hcradio{color:#318779}.pvstradio{color:#9b0612}.cryoradio{color:#ad6d48}.airadio{color:#f0f}.secradio{color:#a52929}.engradio{color:#a66300}.sentryradio{color:#844300}.medradio{color:#008160}.supradio{color:#ba8e41}.jtacradio{color:#ad3b98}.intelradio{color:#027d02}.wyradio{color:#fe9b24}.pmcradio{color:#4dc5ce}.vairadio{color:#e3580e}.rmcradio{color:#e3580e}.cmbradio{color:#1b748c}.clfradio{color:#8e83ca}.alpharadio{color:#db2626}.bravoradio{color:#c68610}.charlieradio{color:#a5a}.deltaradio{color:#007fcf}.echoradio{color:#3eb489}.medium{font-size:110%}.big{font-size:115%}.large{font-size:125%}.extra_large{font-size:130%}.huge{font-size:150%}.underline{text-decoration:underline}.orange{color:#eca100}.normal{font-style:normal}.attack{color:#ff3838}.moderate{color:#c00}.disarm{color:#900}.passive{color:#600}.helpful{color:#368f31}.scanner{color:#ff3838}.scannerb{color:#ff3838;font-weight:bold}.scannerburn{color:orange}.scannerburnb{color:orange;font-weight:bold}.rose{color:#ff5050}.debuginfo{color:#493d26;font-style:italic}.xenonotice{color:#51a16c}.xenoboldnotice{color:#51a16c;font-weight:bold}.xenowarning{color:#51a16c;font-style:italic}.xenominorwarning{color:#51a16c;font-weight:bold;font-style:italic}.xenodanger{color:#51a16c;font-weight:bold}.avoidharm{color:#72a0e5;font-weight:bold}.highdanger{color:#ff3838;font-weight:bold;font-size:140%}.xenohighdanger{color:#51a16c;font-weight:bold;font-size:140%}.xenoannounce{color:#65c585;font-family:book-antiqua;font-weight:bold;font-size:140%}.yautjabold{color:purple;font-weight:bold}.yautjaboldbig{color:purple;font-weight:bold;font-size:120%}.objectivebig{font-weight:bold;font-size:130%}.objectivegreen{color:lime}.objectivered{color:red}.objectivesuccess{color:lime;font-weight:bold;font-size:110%}.objectivefail{color:red;font-weight:bold;font-size:110%}.xenotalk,.xeno{color:#c048c0;font-style:italic}.xenoleader{color:#996e99;font-style:italic;font-size:125%}.xenoqueen{color:#996e99;font-style:italic;font-weight:bold;font-size:125%}.newscaster{color:maroon}.role_header{color:#e92d2d;display:block;text-align:center;font-weight:bold;font-family:trebuchet-ms;font-size:150%}.role_body{color:#3a3ae9;display:block;text-align:center;font-size:125%}.round_header{color:#e92d2d;display:block;text-align:center;font-family:courier;font-weight:bold;font-size:180%}.round_body{color:#c5c5c5;display:block;text-align:center;font-family:trebuchet-ms;font-weight:bold;font-size:125%}.event_announcement{color:#600d48;font-family:arial-narrow;font-weight:bold;font-size:125%}.announce_header{color:#cecece;font-weight:bold;font-size:150%}.announce_header_blue{color:#7575f3;font-weight:bold;font-size:150%}.announce_header_admin{color:#7575f3;font-weight:bold;font-size:150%}.announce_body{color:#e92d2d;font-weight:normal;font-size:125%}.centerbold{display:block;text-align:center;font-weight:bold}.mod{color:#917455;font-weight:bold}.modooc{color:#184880;font-weight:bold}.adminmod{color:#7c440c;font-weight:bold}.mentorsay{color:#d4af57;font-weight:bold}.mentorhelp{color:#090;font-weight:bold}.mentorbody{color:#da6200;font-weight:bold}.mentorstaff{color:#b5850d;font-weight:bold}.staffsay{color:#b5850d;font-weight:bold}.tajaran{color:#803b56}.tajaran_signlang{color:#941c1c}.skrell{color:#00ced1}.soghun{color:#228b22}.changeling{color:purple}.vox{color:#a0a}.monkey{color:#966c47}.german{color:#858f1e;font-family:"Times New Roman",Times,serif}.spanish{color:#cf982b}.japanese{color:#940927}.chinese{color:#fe1919}.zombie{color:#2dacb1;font-style:italic}.rough{font-family:trebuchet-ms,cursive,sans-serif}.commando{color:#fe9b24;font-style:bold}.say_quote{font-family:Georgia,Verdana,sans-serif}.admin .message{color:#314cad}.admin .prefix{font-weight:bolder}.pm{font-size:110%}.deadsay{color:#8b4dff}.retro_translator{font-weight:bold}.yautja_translator{color:#a00;font-weight:bold;animation:glitch .5s infinite}@keyframes glitch{25%{color:#a00;transform:translate(-2px, -1px)}50%{color:#be0000;transform:translate(1px, -2px)}75%{color:#8d0000;transform:translate(-1px, 2px)}100%{color:#830000;transform:translate(1px, 1px)}}.examine_block{background:#1b1c1e;border:1px solid #a4bad6;margin:.5em;padding:.5em .75em}.examine_block .icon{width:1.5em;height:1.5em;margin:0;padding:0}.tooltip{font-style:italic;border-bottom:1px dashed #fff}
-.theme-light .color-black{color:#000 !important}.theme-light .color-white{color:#e6e6e6 !important}.theme-light .color-red{color:#c82121 !important}.theme-light .color-orange{color:#e6630d !important}.theme-light .color-yellow{color:#e5c304 !important}.theme-light .color-olive{color:#a3b816 !important}.theme-light .color-green{color:#1d9f3b !important}.theme-light .color-teal{color:#00a39c !important}.theme-light .color-blue{color:#1e78bb !important}.theme-light .color-dark-blue{color:#004274 !important}.theme-light .color-violet{color:#5a30b5 !important}.theme-light .color-purple{color:#932eb4 !important}.theme-light .color-pink{color:#db228a !important}.theme-light .color-brown{color:#955d39 !important}.theme-light .color-grey{color:#e6e6e6 !important}.theme-light .color-light-grey{color:#999 !important}.theme-light .color-good{color:#529923 !important}.theme-light .color-average{color:#da810e !important}.theme-light .color-bad{color:#c82121 !important}.theme-light .color-label{color:#353535 !important}.theme-light .color-xeno{color:#4a3253 !important}.theme-light .color-bg-black{background-color:#000 !important}.theme-light .color-bg-white{background-color:#bfbfbf !important}.theme-light .color-bg-red{background-color:#a61c1c !important}.theme-light .color-bg-orange{background-color:#c0530b !important}.theme-light .color-bg-yellow{background-color:#bfa303 !important}.theme-light .color-bg-olive{background-color:#889912 !important}.theme-light .color-bg-green{background-color:#188532 !important}.theme-light .color-bg-teal{background-color:#008882 !important}.theme-light .color-bg-blue{background-color:#19649c !important}.theme-light .color-bg-dark-blue{background-color:#003761 !important}.theme-light .color-bg-violet{background-color:#4b2897 !important}.theme-light .color-bg-purple{background-color:#7a2696 !important}.theme-light .color-bg-pink{background-color:#b61d73 !important}.theme-light .color-bg-brown{background-color:#7c4d2f !important}.theme-light .color-bg-grey{background-color:#bfbfbf !important}.theme-light .color-bg-light-grey{background-color:gray !important}.theme-light .color-bg-good{background-color:#44801d !important}.theme-light .color-bg-average{background-color:#b56b0b !important}.theme-light .color-bg-bad{background-color:#a61c1c !important}.theme-light .color-bg-label{background-color:#2c2c2c !important}.theme-light .color-bg-xeno{background-color:#3e2945 !important}.theme-light .Tabs{display:flex;align-items:stretch;overflow:hidden;background-color:#fff}.theme-light .Tabs--fill{height:100%}.theme-light .Section .Tabs{background-color:rgba(0,0,0,0)}.theme-light .Section:not(.Section--fitted) .Tabs{margin:0 -0.5em .5em}.theme-light .Section:not(.Section--fitted) .Tabs:first-child{margin-top:-0.5em}.theme-light .Tabs--vertical{flex-direction:column;padding:.25em 0 .25em .25em}.theme-light .Tabs--horizontal{margin-bottom:.5em;padding:.25em .25em 0 .25em}.theme-light .Tabs--horizontal:last-child{margin-bottom:0}.theme-light .Tabs__Tab{flex-grow:0}.theme-light .Tabs--fluid .Tabs__Tab{flex-grow:1}.theme-light .Tab{display:flex;align-items:center;justify-content:space-between;background-color:rgba(0,0,0,0);color:rgba(0,0,0,.5);min-height:2.25em;min-width:4em}.theme-light .Tab:not(.Tab--selected):hover{background-color:rgba(255,255,255,.075)}.theme-light .Tab--selected{background-color:rgba(255,255,255,.125);color:#404040}.theme-light .Tab__text{flex-grow:1;margin:0 .5em}.theme-light .Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.theme-light .Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.theme-light .Tabs--horizontal .Tab{border-top:.1666666667em solid rgba(0,0,0,0);border-bottom:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-top-right-radius:.25em}.theme-light .Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #000}.theme-light .Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid rgba(0,0,0,0);border-right:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-bottom-left-radius:.25em}.theme-light .Tabs--vertical .Tab--selected{border-right:.1666666667em solid #000}.theme-light .Tab--selected.Tab--color--black{color:#404040}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#000}.theme-light .Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#000}.theme-light .Tab--selected.Tab--color--white{color:#ececec}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#e6e6e6}.theme-light .Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#e6e6e6}.theme-light .Tab--selected.Tab--color--red{color:#e14d4d}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#c82121}.theme-light .Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#c82121}.theme-light .Tab--selected.Tab--color--orange{color:#f48942}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#e6630d}.theme-light .Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#e6630d}.theme-light .Tab--selected.Tab--color--yellow{color:#fcdd33}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#e5c304}.theme-light .Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#e5c304}.theme-light .Tab--selected.Tab--color--olive{color:#d0e732}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#a3b816}.theme-light .Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#a3b816}.theme-light .Tab--selected.Tab--color--green{color:#33da5a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#1d9f3b}.theme-light .Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#1d9f3b}.theme-light .Tab--selected.Tab--color--teal{color:#00faef}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00a39c}.theme-light .Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00a39c}.theme-light .Tab--selected.Tab--color--blue{color:#419ce1}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#1e78bb}.theme-light .Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#1e78bb}.theme-light .Tab--selected.Tab--color--dark-blue{color:#0079d7}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--dark-blue{border-bottom-color:#004274}.theme-light .Tabs--vertical .Tab--selected.Tab--color--dark-blue{border-right-color:#004274}.theme-light .Tab--selected.Tab--color--violet{color:#7f58d3}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#5a30b5}.theme-light .Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#5a30b5}.theme-light .Tab--selected.Tab--color--purple{color:#b455d4}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#932eb4}.theme-light .Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#932eb4}.theme-light .Tab--selected.Tab--color--pink{color:#e558a7}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#db228a}.theme-light .Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#db228a}.theme-light .Tab--selected.Tab--color--brown{color:#c0825a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#955d39}.theme-light .Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#955d39}.theme-light .Tab--selected.Tab--color--grey{color:#ececec}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#e6e6e6}.theme-light .Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#e6e6e6}.theme-light .Tab--selected.Tab--color--light-grey{color:#b3b3b3}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--light-grey{border-bottom-color:#999}.theme-light .Tabs--vertical .Tab--selected.Tab--color--light-grey{border-right-color:#999}.theme-light .Tab--selected.Tab--color--good{color:#77d23b}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#529923}.theme-light .Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#529923}.theme-light .Tab--selected.Tab--color--average{color:#f3a23a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#da810e}.theme-light .Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#da810e}.theme-light .Tab--selected.Tab--color--bad{color:#e14d4d}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#c82121}.theme-light .Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#c82121}.theme-light .Tab--selected.Tab--color--label{color:#686868}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#353535}.theme-light .Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#353535}.theme-light .Tab--selected.Tab--color--xeno{color:#7e558e}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--xeno{border-bottom-color:#4a3253}.theme-light .Tabs--vertical .Tab--selected.Tab--color--xeno{border-right-color:#4a3253}.theme-light .Section{position:relative;margin-bottom:.5em;background-color:#fff;background-color:#fff;box-sizing:border-box}.theme-light .Section:last-child{margin-bottom:0}.theme-light .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #fff}.theme-light .Section__titleText{font-size:1.1666666667em;font-weight:bold;color:#000}.theme-light .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-light .Section__rest{position:relative}.theme-light .Section__content{padding:.66em .5em}.theme-light .Section--fitted>.Section__rest>.Section__content{padding:0}.theme-light .Section--fill{display:flex;flex-direction:column;height:100%}.theme-light .Section--fill>.Section__rest{flex-grow:1}.theme-light .Section--fill>.Section__rest>.Section__content{height:100%}.theme-light .Section--fill.Section--scrollable>.Section__rest>.Section__content{position:absolute;top:0;left:0;right:0;bottom:0}.theme-light .Section--fill.Section--iefix{display:table !important;width:100% !important;height:100% !important;border-collapse:collapse;border-spacing:0}.theme-light .Section--fill.Section--iefix>.Section__rest{display:table-row !important;height:100% !important}.theme-light .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollable>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:hidden}.theme-light .Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:hidden;overflow-x:scroll}.theme-light .Section--scrollable.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:scroll}.theme-light .Section .Section{background-color:rgba(0,0,0,0);margin-left:-0.5em;margin-right:-0.5em}.theme-light .Section .Section:first-child{margin-top:-0.5em}.theme-light .Section .Section .Section__titleText{font-size:1.0833333333em}.theme-light .Section .Section .Section .Section__titleText{font-size:1em}.theme-light .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-light .Button .fa,.theme-light .Button .fas,.theme-light .Button .far{margin-left:-0.25em;margin-right:-0.25em;min-width:1.333em;text-align:center}.theme-light .Button--hasContent .fa,.theme-light .Button--hasContent .fas,.theme-light .Button--hasContent .far{margin-right:.25em}.theme-light .Button--hasContent.Button--iconPosition--right .fa,.theme-light .Button--hasContent.Button--iconPosition--right .fas,.theme-light .Button--hasContent.Button--iconPosition--right .far{margin-right:0px;margin-left:3px}.theme-light .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-light .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-light .Button--circular{border-radius:50%}.theme-light .Button--compact{padding:0 .25em;line-height:1.333em}.theme-light .Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.theme-light .Button--color--black:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--black:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--black:hover,.theme-light .Button--color--black:focus{background-color:#131313;color:#fff}.theme-light .Button--color--white{transition:color 50ms,background-color 50ms;background-color:#bfbfbf;color:#000}.theme-light .Button--color--white:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--white:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--white:hover,.theme-light .Button--color--white:focus{background-color:#efefef;color:#000}.theme-light .Button--color--red{transition:color 50ms,background-color 50ms;background-color:#a61c1c;color:#fff}.theme-light .Button--color--red:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--red:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--red:hover,.theme-light .Button--color--red:focus{background-color:#d23333;color:#fff}.theme-light .Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#c0530b;color:#fff}.theme-light .Button--color--orange:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--orange:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--orange:hover,.theme-light .Button--color--orange:focus{background-color:#ea7426;color:#fff}.theme-light .Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#bfa303;color:#fff}.theme-light .Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--yellow:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--yellow:hover,.theme-light .Button--color--yellow:focus{background-color:#efce17;color:#fff}.theme-light .Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#889912;color:#fff}.theme-light .Button--color--olive:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--olive:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--olive:hover,.theme-light .Button--color--olive:focus{background-color:#afc328;color:#fff}.theme-light .Button--color--green{transition:color 50ms,background-color 50ms;background-color:#188532;color:#fff}.theme-light .Button--color--green:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--green:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--green:hover,.theme-light .Button--color--green:focus{background-color:#2fac4c;color:#fff}.theme-light .Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#008882;color:#fff}.theme-light .Button--color--teal:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--teal:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--teal:hover,.theme-light .Button--color--teal:focus{background-color:#13afa9;color:#fff}.theme-light .Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#19649c;color:#fff}.theme-light .Button--color--blue:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--blue:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--blue:hover,.theme-light .Button--color--blue:focus{background-color:#3086c7;color:#fff}.theme-light .Button--color--dark-blue{transition:color 50ms,background-color 50ms;background-color:#003761;color:#fff}.theme-light .Button--color--dark-blue:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--dark-blue:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--dark-blue:hover,.theme-light .Button--color--dark-blue:focus{background-color:#135283;color:#fff}.theme-light .Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#4b2897;color:#fff}.theme-light .Button--color--violet:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--violet:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--violet:hover,.theme-light .Button--color--violet:focus{background-color:#6a41c1;color:#fff}.theme-light .Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#7a2696;color:#fff}.theme-light .Button--color--purple:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--purple:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--purple:hover,.theme-light .Button--color--purple:focus{background-color:#a03fc0;color:#fff}.theme-light .Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#b61d73;color:#fff}.theme-light .Button--color--pink:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--pink:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--pink:hover,.theme-light .Button--color--pink:focus{background-color:#da3f96;color:#fff}.theme-light .Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#7c4d2f;color:#fff}.theme-light .Button--color--brown:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--brown:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--brown:hover,.theme-light .Button--color--brown:focus{background-color:#a26c49;color:#fff}.theme-light .Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#bfbfbf;color:#000}.theme-light .Button--color--grey:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--grey:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--grey:hover,.theme-light .Button--color--grey:focus{background-color:#efefef;color:#000}.theme-light .Button--color--light-grey{transition:color 50ms,background-color 50ms;background-color:gray;color:#fff}.theme-light .Button--color--light-grey:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--light-grey:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--light-grey:hover,.theme-light .Button--color--light-grey:focus{background-color:#a6a6a6;color:#fff}.theme-light .Button--color--good{transition:color 50ms,background-color 50ms;background-color:#44801d;color:#fff}.theme-light .Button--color--good:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--good:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--good:hover,.theme-light .Button--color--good:focus{background-color:#62a635;color:#fff}.theme-light .Button--color--average{transition:color 50ms,background-color 50ms;background-color:#b56b0b;color:#fff}.theme-light .Button--color--average:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--average:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--average:hover,.theme-light .Button--color--average:focus{background-color:#e48f20;color:#fff}.theme-light .Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#a61c1c;color:#fff}.theme-light .Button--color--bad:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--bad:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--bad:hover,.theme-light .Button--color--bad:focus{background-color:#d23333;color:#fff}.theme-light .Button--color--label{transition:color 50ms,background-color 50ms;background-color:#2c2c2c;color:#fff}.theme-light .Button--color--label:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--label:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--label:hover,.theme-light .Button--color--label:focus{background-color:#464646;color:#fff}.theme-light .Button--color--xeno{transition:color 50ms,background-color 50ms;background-color:#3e2945;color:#fff}.theme-light .Button--color--xeno:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--xeno:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--xeno:hover,.theme-light .Button--color--xeno:focus{background-color:#5a4363;color:#fff}.theme-light .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#bbb;color:#000}.theme-light .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--default:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--default:hover,.theme-light .Button--color--default:focus{background-color:#eaeaea;color:#000}.theme-light .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-light .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--caution:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--caution:hover,.theme-light .Button--color--caution:focus{background-color:#ec8420;color:#fff}.theme-light .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-light .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--danger:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--danger:hover,.theme-light .Button--color--danger:focus{background-color:#c4c813;color:#fff}.theme-light .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#eee;color:#000;background-color:rgba(238,238,238,0);color:rgba(0,0,0,.5)}.theme-light .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--transparent:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--transparent:hover,.theme-light .Button--color--transparent:focus{background-color:#fcfcfc;color:#000}.theme-light .Button--disabled{background-color:#363636 !important}.theme-light .Button--selected{transition:color 50ms,background-color 50ms;background-color:#0668b8;color:#fff}.theme-light .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--selected:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--selected:hover,.theme-light .Button--selected:focus{background-color:#1a8be7;color:#fff}.theme-light .Button--flex{display:inline-flex;flex-direction:column}.theme-light .Button--flex--fluid{width:100%}.theme-light .Button--verticalAlignContent--top{justify-content:flex-start}.theme-light .Button--verticalAlignContent--middle{justify-content:center}.theme-light .Button--verticalAlignContent--bottom{justify-content:flex-end}.theme-light .Button__content{display:block;align-self:stretch}.theme-light .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#000;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-light .Input--fluid{display:block;width:auto}.theme-light .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-light .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#000;color:inherit}.theme-light .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Input--monospace .Input__input{font-family:"Consolas",monospace}.theme-light .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#000;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-light .Input--fluid{display:block;width:auto}.theme-light .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-light .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#000;color:inherit}.theme-light .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Input--monospace .Input__input{font-family:"Consolas",monospace}.theme-light .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#353535;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-light .NumberInput--fluid{display:block}.theme-light .NumberInput__content{margin-left:.5em}.theme-light .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-light .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #353535;background-color:#353535}.theme-light .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#fff;color:#000;text-align:right}.theme-light .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#000;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-light .Input--fluid{display:block;width:auto}.theme-light .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-light .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#000;color:inherit}.theme-light .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Input--monospace .Input__input{font-family:"Consolas",monospace}.theme-light .TextArea{position:relative;display:inline-block;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;background-color:#fff;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.theme-light .TextArea--fluid{display:block;width:auto;height:auto}.theme-light .TextArea--noborder{border:0px}.theme-light .TextArea__textarea.TextArea__textarea--scrollable{overflow:auto;overflow-x:hidden;overflow-y:scroll}.theme-light .TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:rgba(0,0,0,0);color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.theme-light .TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .TextArea__textarea_custom{overflow:visible;white-space:pre-wrap}.theme-light .Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto;margin-bottom:-0.2em;cursor:n-resize}.theme-light .Knob:after{content:".";color:rgba(0,0,0,0);line-height:2.5em}.theme-light .Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 100%);border-radius:50%;box-shadow:0 .05em .5em 0 rgba(0,0,0,.5)}.theme-light .Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.theme-light .Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:rgba(255,255,255,.9)}.theme-light .Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.theme-light .Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.theme-light .Knob__ringTrackPivot{transform:rotateZ(135deg)}.theme-light .Knob__ringTrack{fill:rgba(0,0,0,0);stroke:rgba(255,255,255,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.theme-light .Knob__ringFillPivot{transform:rotateZ(135deg)}.theme-light .Knob--bipolar .Knob__ringFillPivot{transform:rotateZ(270deg)}.theme-light .Knob__ringFill{fill:rgba(0,0,0,0);stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms ease-out}.theme-light .Knob--color--black .Knob__ringFill{stroke:#000}.theme-light .Knob--color--white .Knob__ringFill{stroke:#e6e6e6}.theme-light .Knob--color--red .Knob__ringFill{stroke:#c82121}.theme-light .Knob--color--orange .Knob__ringFill{stroke:#e6630d}.theme-light .Knob--color--yellow .Knob__ringFill{stroke:#e5c304}.theme-light .Knob--color--olive .Knob__ringFill{stroke:#a3b816}.theme-light .Knob--color--green .Knob__ringFill{stroke:#1d9f3b}.theme-light .Knob--color--teal .Knob__ringFill{stroke:#00a39c}.theme-light .Knob--color--blue .Knob__ringFill{stroke:#1e78bb}.theme-light .Knob--color--dark-blue .Knob__ringFill{stroke:#004274}.theme-light .Knob--color--violet .Knob__ringFill{stroke:#5a30b5}.theme-light .Knob--color--purple .Knob__ringFill{stroke:#932eb4}.theme-light .Knob--color--pink .Knob__ringFill{stroke:#db228a}.theme-light .Knob--color--brown .Knob__ringFill{stroke:#955d39}.theme-light .Knob--color--grey .Knob__ringFill{stroke:#e6e6e6}.theme-light .Knob--color--light-grey .Knob__ringFill{stroke:#999}.theme-light .Knob--color--good .Knob__ringFill{stroke:#529923}.theme-light .Knob--color--average .Knob__ringFill{stroke:#da810e}.theme-light .Knob--color--bad .Knob__ringFill{stroke:#c82121}.theme-light .Knob--color--label .Knob__ringFill{stroke:#353535}.theme-light .Knob--color--xeno .Knob__ringFill{stroke:#4a3253}.theme-light .Slider{cursor:e-resize}.theme-light .Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none !important}.theme-light .Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #000}.theme-light .Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid rgba(0,0,0,0);border-right:.4166666667em solid rgba(0,0,0,0);border-bottom:.4166666667em solid #000}.theme-light .Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.theme-light .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-width:.0833333333em !important;border-style:solid !important;border-radius:.16em;background-color:rgba(0,0,0,0);transition:border-color 900ms ease-out}.theme-light .ProgressBar__fill{position:absolute;top:-0.5px;left:0px;bottom:-0.5px}.theme-light .ProgressBar__fill--animated{transition:background-color 900ms ease-out,width 900ms ease-out}.theme-light .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-light .ProgressBar--color--default{border:.0833333333em solid #bfbfbf}.theme-light .ProgressBar--color--default .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--black{border-color:#000 !important}.theme-light .ProgressBar--color--black .ProgressBar__fill{background-color:#000}.theme-light .ProgressBar--color--white{border-color:#bfbfbf !important}.theme-light .ProgressBar--color--white .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--red{border-color:#a61c1c !important}.theme-light .ProgressBar--color--red .ProgressBar__fill{background-color:#a61c1c}.theme-light .ProgressBar--color--orange{border-color:#c0530b !important}.theme-light .ProgressBar--color--orange .ProgressBar__fill{background-color:#c0530b}.theme-light .ProgressBar--color--yellow{border-color:#bfa303 !important}.theme-light .ProgressBar--color--yellow .ProgressBar__fill{background-color:#bfa303}.theme-light .ProgressBar--color--olive{border-color:#889912 !important}.theme-light .ProgressBar--color--olive .ProgressBar__fill{background-color:#889912}.theme-light .ProgressBar--color--green{border-color:#188532 !important}.theme-light .ProgressBar--color--green .ProgressBar__fill{background-color:#188532}.theme-light .ProgressBar--color--teal{border-color:#008882 !important}.theme-light .ProgressBar--color--teal .ProgressBar__fill{background-color:#008882}.theme-light .ProgressBar--color--blue{border-color:#19649c !important}.theme-light .ProgressBar--color--blue .ProgressBar__fill{background-color:#19649c}.theme-light .ProgressBar--color--dark-blue{border-color:#003761 !important}.theme-light .ProgressBar--color--dark-blue .ProgressBar__fill{background-color:#003761}.theme-light .ProgressBar--color--violet{border-color:#4b2897 !important}.theme-light .ProgressBar--color--violet .ProgressBar__fill{background-color:#4b2897}.theme-light .ProgressBar--color--purple{border-color:#7a2696 !important}.theme-light .ProgressBar--color--purple .ProgressBar__fill{background-color:#7a2696}.theme-light .ProgressBar--color--pink{border-color:#b61d73 !important}.theme-light .ProgressBar--color--pink .ProgressBar__fill{background-color:#b61d73}.theme-light .ProgressBar--color--brown{border-color:#7c4d2f !important}.theme-light .ProgressBar--color--brown .ProgressBar__fill{background-color:#7c4d2f}.theme-light .ProgressBar--color--grey{border-color:#bfbfbf !important}.theme-light .ProgressBar--color--grey .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--light-grey{border-color:gray !important}.theme-light .ProgressBar--color--light-grey .ProgressBar__fill{background-color:gray}.theme-light .ProgressBar--color--good{border-color:#44801d !important}.theme-light .ProgressBar--color--good .ProgressBar__fill{background-color:#44801d}.theme-light .ProgressBar--color--average{border-color:#b56b0b !important}.theme-light .ProgressBar--color--average .ProgressBar__fill{background-color:#b56b0b}.theme-light .ProgressBar--color--bad{border-color:#a61c1c !important}.theme-light .ProgressBar--color--bad .ProgressBar__fill{background-color:#a61c1c}.theme-light .ProgressBar--color--label{border-color:#2c2c2c !important}.theme-light .ProgressBar--color--label .ProgressBar__fill{background-color:#2c2c2c}.theme-light .ProgressBar--color--xeno{border-color:#3e2945 !important}.theme-light .ProgressBar--color--xeno .ProgressBar__fill{background-color:#3e2945}.theme-light .Chat{color:#000}.theme-light .Chat__badge{display:inline-block;min-width:.5em;font-size:.7em;padding:.2em .3em;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:crimson;border-radius:10px;transition:font-size 200ms ease-out}.theme-light .Chat__badge:before{content:"x"}.theme-light .Chat__badge--animate{font-size:.9em;transition:font-size 0ms}.theme-light .Chat__scrollButton{position:fixed;right:2em;bottom:1em}.theme-light .Chat__reconnected{font-size:.85em;text-align:center;margin:1em 0 2em}.theme-light .Chat__reconnected:before{content:"Reconnected";display:inline-block;border-radius:1em;padding:0 .7em;color:#db2828;background-color:#fff}.theme-light .Chat__reconnected:after{content:"";display:block;margin-top:-0.75em;border-bottom:.1666666667em solid #db2828}.theme-light .Chat__highlight{color:#000}.theme-light .Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:bold}.theme-light .ChatMessage{word-wrap:break-word}.theme-light .ChatMessage--highlighted{position:relative;border-left:.1666666667em solid #fd4;padding-left:.5em}.theme-light .ChatMessage--highlighted:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(255,221,68,.1);pointer-events:none}.theme-light .Layout,.theme-light .Layout *{scrollbar-base-color:#f2f2f2;scrollbar-face-color:#d6d6d6;scrollbar-3dlight-color:#eee;scrollbar-highlight-color:#eee;scrollbar-track-color:#f2f2f2;scrollbar-arrow-color:#777;scrollbar-shadow-color:#d6d6d6}.theme-light .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-light .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-light .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#000;background-color:#eee;background-image:linear-gradient(to bottom, #eeeeee 0%, #eeeeee 100%)}.theme-light .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-light .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-light .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-light .Window__contentPadding:after{height:0}.theme-light .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-light .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(252,252,252,.25);pointer-events:none}.theme-light .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-light .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-light .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-light .TitleBar{background-color:#eee;border-bottom:1px solid rgba(0,0,0,.25);box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-light .TitleBar__clickable{color:rgba(0,0,0,.5);background-color:#eee;transition:color 250ms ease-out,background-color 250ms ease-out}.theme-light .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-light .TitleBar__title{position:absolute;display:inline-block;top:0;left:46px;left:3.8333333333rem;color:rgba(0,0,0,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap;pointer-events:none}.theme-light .TitleBar__buttons{pointer-events:initial;display:inline-block;width:100%;margin-left:10px}.theme-light .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-light .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px !important;line-height:2.6666666667rem !important}.theme-light .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-light .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:2px 4px;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-light html,.theme-light body{padding:0;margin:0;height:100%;color:#000}.theme-light body{background:#fff;font-family:Verdana,sans-serif;font-size:13px;line-height:1.2;overflow-x:hidden;overflow-y:scroll;word-wrap:break-word}.theme-light em{font-style:normal;font-weight:bold}.theme-light img{margin:0;padding:0;line-height:1;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}.theme-light img.icon{height:1em;min-height:16px;width:auto;vertical-align:bottom}.theme-light a{color:blue}.theme-light a.visited{color:#f0f}.theme-light a:visited{color:#f0f}.theme-light a.popt{text-decoration:none}.theme-light .popup{position:fixed;top:50%;left:50%;background:#ddd}.theme-light .popup .close{position:absolute;background:#aaa;top:0;right:0;color:#333;text-decoration:none;z-index:2;padding:0 10px;height:30px;line-height:30px}.theme-light .popup .close:hover{background:#999}.theme-light .popup .head{background:#999;color:#ddd;padding:0 10px;height:30px;line-height:30px;text-transform:uppercase;font-size:.9em;font-weight:bold;border-bottom:2px solid green}.theme-light .popup input{border:1px solid #999;background:#fff;margin:0;padding:5px;outline:none;color:#333}.theme-light .popup input[type=text]:hover,.theme-light .popup input[type=text]:active,.theme-light .popup input[type=text]:focus{border-color:green}.theme-light .popup input[type=submit]{padding:5px 10px;background:#999;color:#ddd;text-transform:uppercase;font-size:.9em;font-weight:bold}.theme-light .popup input[type=submit]:hover,.theme-light .popup input[type=submit]:focus,.theme-light .popup input[type=submit]:active{background:#aaa;cursor:pointer}.theme-light .changeFont{padding:10px}.theme-light .changeFont a{display:block;text-decoration:none;padding:3px;color:#333}.theme-light .changeFont a:hover{background:#ccc}.theme-light .highlightPopup{padding:10px;text-align:center}.theme-light .highlightPopup input[type=text]{display:block;width:215px;text-align:left;margin-top:5px}.theme-light .highlightPopup input.highlightColor{background-color:#ff0}.theme-light .highlightPopup input.highlightTermSubmit{margin-top:5px}.theme-light .contextMenu{background-color:#ddd;position:fixed;margin:2px;width:150px}.theme-light .contextMenu a{display:block;padding:2px 5px;text-decoration:none;color:#333}.theme-light .contextMenu a:hover{background-color:#ccc}.theme-light .filterMessages{padding:5px}.theme-light .filterMessages div{padding:2px 0}.theme-light .icon-stack{height:1em;line-height:1em;width:1em;vertical-align:middle;margin-top:-2px}.theme-light .motd{color:#638500;font-family:Verdana,sans-serif;white-space:normal}.theme-light .motd h1,.theme-light .motd h2,.theme-light .motd h3,.theme-light .motd h4,.theme-light .motd h5,.theme-light .motd h6{color:#638500;text-decoration:underline}.theme-light .motd a,.theme-light .motd a:link,.theme-light .motd a:visited,.theme-light .motd a:active,.theme-light .motd a:hover{color:#638500}.theme-light .bold,.theme-light .name,.theme-light .prefix,.theme-light .ooc,.theme-light .looc,.theme-light .adminooc,.theme-light .admin,.theme-light .medal,.theme-light .yell{font-weight:bold}.theme-light .italic,.theme-light .italics{font-style:italic}.theme-light .highlight{background:#ff0}.theme-light h1,.theme-light h2,.theme-light h3,.theme-light h4,.theme-light h5,.theme-light h6{color:blue;font-family:Georgia,Verdana,sans-serif}.theme-light h1.alert,.theme-light h2.alert{color:#000}.theme-light em{font-style:normal;font-weight:bold}.theme-light .ooc{font-weight:bold}.theme-light .adminobserverooc{color:#09c;font-weight:bold}.theme-light .adminooc{color:#700038;font-weight:bold}.theme-light .adminsay{color:#ff4500;font-weight:bold}.theme-light .admin{color:#4473ff;font-weight:bold}.theme-light .name{font-weight:bold}.theme-light .deadsay{color:#5c00e6}.theme-light .binarysay{color:#20c20e;background-color:#000;display:block}.theme-light .binarysay a{color:lime}.theme-light .binarysay a:active,.theme-light .binarysay a:visited{color:#8f8}.theme-light .radio{color:green}.theme-light .sciradio{color:#939}.theme-light .comradio{color:#948f02}.theme-light .secradio{color:#a30000}.theme-light .medradio{color:#337296}.theme-light .engradio{color:#fb5613}.theme-light .sentryradio{color:#844300}.theme-light .suppradio{color:#a8732b}.theme-light .servradio{color:#6eaa2c}.theme-light .syndradio{color:#6d3f40}.theme-light .gangradio{color:#ac2ea1}.theme-light .centcomradio{color:#686868}.theme-light .aiprivradio{color:#f0f}.theme-light .redteamradio{color:red}.theme-light .blueteamradio{color:blue}.theme-light .greenteamradio{color:lime}.theme-light .yellowteamradio{color:#d1ba22}.theme-light .yell{font-weight:bold}.theme-light .alert{color:red}.theme-light h1.alert,.theme-light h2.alert{color:#000}.theme-light .userdanger{color:red;font-weight:bold;font-size:185%}.theme-light .bolddanger{color:red;font-weight:bold}.theme-light .danger{color:red}.theme-light .tinydanger{color:red;font-size:85%}.theme-light .smalldanger{color:red;font-size:90%}.theme-light .warning{color:red;font-style:italic}.theme-light .alertwarning{color:red;font-weight:bold}.theme-light .boldwarning{color:red;font-style:italic;font-weight:bold}.theme-light .announce{color:#228b22;font-weight:bold}.theme-light .boldannounce{color:red;font-weight:bold}.theme-light .bigannounce{font-weight:bold;font-size:115%}.theme-light .greenannounce{color:lime;font-weight:bold}.theme-light .rose{color:#ff5050}.theme-light .info{color:#00c}.theme-light .notice{color:#009}.theme-light .staff_ic{color:#009}.theme-light .tinynotice{color:#009;font-size:85%}.theme-light .tinynoticeital{color:#009;font-style:italic;font-size:85%}.theme-light .smallnotice{color:#009;font-size:90%}.theme-light .smallnoticeital{color:#009;font-style:italic;font-size:90%}.theme-light .boldnotice{color:#009;font-weight:bold}.theme-light .hear{color:#009;font-style:italic}.theme-light .adminnotice{color:blue}.theme-light .adminhelp{color:red;font-weight:bold}.theme-light .unconscious{color:blue;font-weight:bold}.theme-light .suicide{color:#ff5050;font-style:italic}.theme-light .green{color:#03ff39}.theme-light .grey{color:#838383}.theme-light .red{color:red}.theme-light .blue{color:blue}.theme-light .nicegreen{color:#14a833}.theme-light .boldnicegreen{color:#14a833;font-weight:bold}.theme-light .cult{color:#973e3b}.theme-light .cultitalic{color:#973e3b;font-style:italic}.theme-light .cultbold{color:#973e3b;font-style:italic;font-weight:bold}.theme-light .cultboldtalic{color:#973e3b;font-weight:bold;font-size:185%}.theme-light .cultlarge{color:#973e3b;font-weight:bold;font-size:185%}.theme-light .narsie{color:#973e3b;font-weight:bold;font-size:925%}.theme-light .narsiesmall{color:#973e3b;font-weight:bold;font-size:370%}.theme-light .colossus{color:#7f282a;font-size:310%}.theme-light .hierophant{color:#609;font-weight:bold;font-style:italic}.theme-light .hierophant_warning{color:#609;font-style:italic}.theme-light .purple{color:#5e2d79}.theme-light .holoparasite{color:#35333a}.theme-light .revennotice{color:#1d2953}.theme-light .revenboldnotice{color:#1d2953;font-weight:bold}.theme-light .revenbignotice{color:#1d2953;font-weight:bold;font-size:185%}.theme-light .revenminor{color:#823abb}.theme-light .revenwarning{color:#760fbb;font-style:italic}.theme-light .revendanger{color:#760fbb;font-weight:bold;font-size:185%}.theme-light .deconversion_message{color:#5000a0;font-size:185%;font-style:italic}.theme-light .ghostalert{color:#5c00e6;font-style:italic;font-weight:bold}.theme-light .alien{color:#543354}.theme-light .noticealien{color:#00c000}.theme-light .alertalien{color:#00c000;font-weight:bold}.theme-light .changeling{color:purple;font-style:italic}.theme-light .alertsyndie{color:red;font-size:185%;font-weight:bold}.theme-light .spider{color:#4d004d;font-weight:bold;font-size:185%}.theme-light .interface{color:#303}.theme-light .sans{font-family:"Comic Sans MS",cursive,sans-serif}.theme-light .papyrus{font-family:"Papyrus",cursive,sans-serif}.theme-light .robot{font-family:"Courier New",cursive,sans-serif}.theme-light .tape_recorder{color:maroon;font-family:"Courier New",cursive,sans-serif}.theme-light .command_headset{font-weight:bold;font-size:160%}.theme-light .small{font-size:60%}.theme-light .big{font-size:185%}.theme-light .reallybig{font-size:245%}.theme-light .extremelybig{font-size:310%}.theme-light .greentext{color:lime;font-size:185%}.theme-light .redtext{color:red;font-size:185%}.theme-light .clown{color:#ff69bf;font-size:160%;font-family:"Comic Sans MS",cursive,sans-serif;font-weight:bold}.theme-light .singing{font-family:"Trebuchet MS",cursive,sans-serif;font-style:italic}.theme-light .his_grace{color:#15d512;font-family:"Courier New",cursive,sans-serif;font-style:italic}.theme-light .hypnophrase{color:#0d0d0d;font-weight:bold;animation:hypnocolor 1500ms infinite;animation-direction:alternate}@keyframes hypnocolor{0%{color:#0d0d0d}25%{color:#410194}50%{color:#7f17d8}75%{color:#410194}100%{color:#3bb5d3}}.theme-light .phobia{color:#d00;font-weight:bold;animation:phobia 750ms infinite}@keyframes phobia{0%{color:#0d0d0d}50%{color:#d00}100%{color:#0d0d0d}}.theme-light .icon{height:1em;width:auto}.theme-light .bigicon{font-size:2.5em}.theme-light .memo{color:#638500;text-align:center}.theme-light .memoedit{text-align:center;font-size:125%}.theme-light .abductor{color:purple;font-style:italic}.theme-light .mind_control{color:#a00d6f;font-size:100%;font-weight:bold;font-style:italic}.theme-light .slime{color:#00ced1}.theme-light .drone{color:#848482}.theme-light .monkey{color:#975032}.theme-light .swarmer{color:#2c75ff}.theme-light .resonate{color:#298f85}.theme-light .monkeyhive{color:#774704}.theme-light .monkeylead{color:#774704;font-size:80%}.theme-light .connectionClosed,.theme-light .fatalError{background:red;color:#fff;padding:5px}.theme-light .connectionClosed.restored{background:green}.theme-light .internal.boldnshit{color:blue;font-weight:bold}.theme-light .text-normal{font-weight:normal;font-style:normal}.theme-light .hidden{display:none;visibility:hidden}.theme-light .ml-1{margin-left:1em}.theme-light .ml-2{margin-left:2em}.theme-light .ml-3{margin-left:3em}.theme-light .xooc{color:#6c0094;font-weight:bold;font-size:140%}.theme-light .mooc{color:#090;font-weight:bold;font-size:140%}.theme-light .yooc{color:#999600;font-weight:bold;font-size:140%}.theme-light .headminsay{color:#5a0a7f;font-weight:bold}.theme-light .radio{color:#4e4e4e}.theme-light .deptradio{color:#939}.theme-light .comradio{color:#004080}.theme-light .centradio{color:#5c5c8a}.theme-light .cryoradio{color:#554e3f}.theme-light .hcradio{color:#318779}.theme-light .pvstradio{color:#9b0612}.theme-light .airadio{color:#f0f}.theme-light .secradio{color:#a30000}.theme-light .engradio{color:#a66300}.theme-light .sentryradio{color:#844300}.theme-light .medradio{color:#008160}.theme-light .supradio{color:#5f4519}.theme-light .jtacradio{color:#702963}.theme-light .intelradio{color:#027d02}.theme-light .wyradio{color:#fe9b24}.theme-light .pmcradio{color:#136957}.theme-light .vairadio{color:#943d0a}.theme-light .cmbradio{color:#1b748c}.theme-light .clfradio{color:#6f679c}.theme-light .alpharadio{color:#ea0000}.theme-light .bravoradio{color:#c68610}.theme-light .charlieradio{color:#a5a}.theme-light .deltaradio{color:#007fcf}.theme-light .echoradio{color:#3a7e65}.theme-light .medium{font-size:110%}.theme-light .big{font-size:115%}.theme-light .large{font-size:125%}.theme-light .extra_large{font-size:130%}.theme-light .huge{font-size:150%}.theme-light .underline{text-decoration:underline}.theme-light .orange{color:#eca100}.theme-light .normal{font-style:normal}.theme-light .attack{color:red}.theme-light .moderate{color:#c00}.theme-light .disarm{color:#900}.theme-light .passive{color:#600}.theme-light .helpful{color:#368f31}.theme-light .scanner{color:red}.theme-light .scannerb{color:red;font-weight:bold}.theme-light .scannerburn{color:orange}.theme-light .scannerburnb{color:orange;font-weight:bold}.theme-light .rose{color:#ff5050}.theme-light .debuginfo{color:#493d26;font-style:italic}.theme-light .xenonotice{color:#2a623d}.theme-light .xenoboldnotice{color:#2a623d;font-weight:bold}.theme-light .xenowarning{color:#2a623d;font-style:italic}.theme-light .xenominorwarning{color:#2a623d;font-weight:bold;font-style:italic}.theme-light .xenodanger{color:#2a623d;font-weight:bold}.theme-light .avoidharm{color:#72a0e5;font-weight:bold}.theme-light .highdanger{color:red;font-weight:bold;font-size:140%}.theme-light .xenohighdanger{color:#2a623d;font-weight:bold;font-size:140%}.theme-light .xenoannounce{color:#1a472a;font-family:book-antiqua;font-weight:bold;font-size:140%}.theme-light .yautjabold{color:purple;font-weight:bold}.theme-light .yautjaboldbig{color:purple;font-weight:bold;font-size:120%}.theme-light .objectivebig{font-weight:bold;font-size:130%}.theme-light .objectivegreen{color:lime}.theme-light .objectivered{color:red}.theme-light .objectivesuccess{color:lime;font-weight:bold;font-size:110%}.theme-light .objectivefail{color:red;font-weight:bold;font-size:110%}.theme-light .xenotalk,.theme-light .xeno{color:#900090;font-style:italic}.theme-light .xenoleader{color:#730d73;font-style:italic;font-size:125%}.theme-light .xenoqueen{color:#730d73;font-style:italic;font-weight:bold;font-size:125%}.theme-light .newscaster{color:maroon}.theme-light .role_header{color:#db0000;display:block;text-align:center;font-weight:bold;font-family:trebuchet-ms;font-size:150%}.theme-light .role_body{color:#009;display:block;text-align:center;font-size:125%}.theme-light .round_header{color:#db0000;display:block;text-align:center;font-family:courier;font-weight:bold;font-size:180%}.theme-light .round_body{color:#001427;display:block;text-align:center;font-family:trebuchet-ms;font-weight:bold;font-size:125%}.theme-light .event_announcement{color:#600d48;font-family:arial-narrow;font-weight:bold;font-size:125%}.theme-light .announce_header{color:#000;font-weight:bold;font-size:150%}.theme-light .announce_header_blue{color:#009;font-weight:bold;font-size:150%}.theme-light .announce_body{color:red;font-weight:normal;font-size:125%}.theme-light .centerbold{display:block;text-align:center;font-weight:bold}.theme-light .mod{color:#735638;font-weight:bold}.theme-light .modooc{color:#184880;font-weight:bold}.theme-light .adminmod{color:#402a14;font-weight:bold}.theme-light .mentorsay{color:#b38c32;font-weight:bold}.theme-light .mentorhelp{color:#007e00;font-weight:bold}.theme-light .mentorbody{color:#da6200;font-weight:bold}.theme-light .mentorstaff{color:#876101;font-weight:bold}.theme-light .staffsay{color:#876101;font-weight:bold}.theme-light .tajaran{color:#803b56}.theme-light .tajaran_signlang{color:#941c1c}.theme-light .skrell{color:#00ced1}.theme-light .soghun{color:#228b22}.theme-light .changeling{color:purple}.theme-light .vox{color:#a0a}.theme-light .monkey{color:#966c47}.theme-light .german{color:#858f1e;font-family:"Times New Roman",Times,serif}.theme-light .spanish{color:#cf982b}.theme-light .japanese{color:#940927}.theme-light .chinese{color:#fe1919}.theme-light .zombie{color:#216163;font-style:italic}.theme-light .commando{color:#fe9b24;font-style:bold}.theme-light .rough{font-family:trebuchet-ms,cursive,sans-serif}.theme-light .say_quote{font-family:Georgia,Verdana,sans-serif}.theme-light .admin .message{color:#314cad}.theme-light .admin .prefix{font-weight:bolder}.theme-light .pm{font-size:110%}.theme-light .retro_translator{font-weight:bold}.theme-light .yautja_translator{color:#a00;font-weight:bold;animation:glitch .5s infinite}@keyframes glitch{25%{color:#a00;transform:translate(-2px, -1px)}50%{color:#be0000;transform:translate(1px, -2px)}75%{color:#8d0000;transform:translate(-1px, 2px)}100%{color:#830000;transform:translate(1px, 1px)}}.theme-light .examine_block{background:#f2f7fa;border:1px solid #111a27;margin:.5em;padding:.5em .75em}.theme-light .examine_block .icon{width:1.5em;height:1.5em;margin:0;padding:0}.theme-light .tooltip{font-style:italic;border-bottom:1px dashed #000}
+html,body{box-sizing:border-box;height:100%;margin:0;font-size:12px}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif}*,*:before,*:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{display:block;margin:0;padding:6px 0;padding:.5rem 0}h1{font-size:18px;font-size:1.5rem}h2{font-size:16px;font-size:1.333rem}h3{font-size:14px;font-size:1.167rem}h4{font-size:12px;font-size:1rem}td,th{vertical-align:baseline;text-align:left}.candystripe:nth-child(odd){background-color:rgba(0,0,0,.25)}.color-black{color:#1a1a1a !important}.color-white{color:#fff !important}.color-red{color:#df3e3e !important}.color-orange{color:#f37f33 !important}.color-yellow{color:#fbda21 !important}.color-olive{color:#cbe41c !important}.color-green{color:#25ca4c !important}.color-teal{color:#00d6cc !important}.color-blue{color:#2e93de !important}.color-dark-blue{color:#005fa7 !important}.color-violet{color:#7349cf !important}.color-purple{color:#ad45d0 !important}.color-pink{color:#e34da1 !important}.color-brown{color:#b97447 !important}.color-grey{color:#848484 !important}.color-light-grey{color:#b3b3b3 !important}.color-good{color:#68c22d !important}.color-average{color:#f29a29 !important}.color-bad{color:#df3e3e !important}.color-label{color:#8b9bb0 !important}.color-xeno{color:#664573 !important}.color-bg-black{background-color:#000 !important}.color-bg-white{background-color:#d9d9d9 !important}.color-bg-red{background-color:#bd2020 !important}.color-bg-orange{background-color:#d95e0c !important}.color-bg-yellow{background-color:#d9b804 !important}.color-bg-olive{background-color:#9aad14 !important}.color-bg-green{background-color:#1b9638 !important}.color-bg-teal{background-color:#009a93 !important}.color-bg-blue{background-color:#1c71b1 !important}.color-bg-dark-blue{background-color:#003e6e !important}.color-bg-violet{background-color:#552dab !important}.color-bg-purple{background-color:#8b2baa !important}.color-bg-pink{background-color:#cf2082 !important}.color-bg-brown{background-color:#8c5836 !important}.color-bg-grey{background-color:#646464 !important}.color-bg-light-grey{background-color:#919191 !important}.color-bg-good{background-color:#4d9121 !important}.color-bg-average{background-color:#cd7a0d !important}.color-bg-bad{background-color:#bd2020 !important}.color-bg-label{background-color:#657a94 !important}.color-bg-xeno{background-color:#462f4e !important}.debug-layout,.debug-layout *:not(g):not(path){color:rgba(255,255,255,.9) !important;background:rgba(0,0,0,0) !important;outline:1px solid rgba(255,255,255,.5) !important;box-shadow:none !important;filter:none !important}.debug-layout:hover,.debug-layout *:not(g):not(path):hover{outline-color:rgba(255,255,255,.8) !important}.outline-dotted{outline-style:dotted !important}.outline-dashed{outline-style:dashed !important}.outline-solid{outline-style:solid !important}.outline-double{outline-style:double !important}.outline-groove{outline-style:groove !important}.outline-ridge{outline-style:ridge !important}.outline-inset{outline-style:inset !important}.outline-outset{outline-style:outset !important}.outline-color-black{outline:.167rem solid #1a1a1a !important}.outline-color-white{outline:.167rem solid #fff !important}.outline-color-red{outline:.167rem solid #df3e3e !important}.outline-color-orange{outline:.167rem solid #f37f33 !important}.outline-color-yellow{outline:.167rem solid #fbda21 !important}.outline-color-olive{outline:.167rem solid #cbe41c !important}.outline-color-green{outline:.167rem solid #25ca4c !important}.outline-color-teal{outline:.167rem solid #00d6cc !important}.outline-color-blue{outline:.167rem solid #2e93de !important}.outline-color-dark-blue{outline:.167rem solid #005fa7 !important}.outline-color-violet{outline:.167rem solid #7349cf !important}.outline-color-purple{outline:.167rem solid #ad45d0 !important}.outline-color-pink{outline:.167rem solid #e34da1 !important}.outline-color-brown{outline:.167rem solid #b97447 !important}.outline-color-grey{outline:.167rem solid #848484 !important}.outline-color-light-grey{outline:.167rem solid #b3b3b3 !important}.outline-color-good{outline:.167rem solid #68c22d !important}.outline-color-average{outline:.167rem solid #f29a29 !important}.outline-color-bad{outline:.167rem solid #df3e3e !important}.outline-color-label{outline:.167rem solid #8b9bb0 !important}.outline-color-xeno{outline:.167rem solid #664573 !important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-baseline{text-align:baseline}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-pre{white-space:pre}.text-bold{font-weight:bold}.text-italic{font-style:italic}.text-underline{text-decoration:underline}.BlockQuote{color:#8b9bb0;border-left:.1666666667em solid #8b9bb0;padding-left:.5em;margin-bottom:.5em}.BlockQuote:last-child{margin-bottom:0}.Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.Button .fa,.Button .fas,.Button .far{margin-left:-0.25em;margin-right:-0.25em;min-width:1.333em;text-align:center}.Button--hasContent .fa,.Button--hasContent .fas,.Button--hasContent .far{margin-right:.25em}.Button--hasContent.Button--iconPosition--right .fa,.Button--hasContent.Button--iconPosition--right .fas,.Button--hasContent.Button--iconPosition--right .far{margin-right:0px;margin-left:3px}.Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.Button--fluid{display:block;margin-left:0;margin-right:0}.Button--circular{border-radius:50%}.Button--compact{padding:0 .25em;line-height:1.333em}.Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.Button--color--black:hover{transition:color 0ms,background-color 0ms}.Button--color--black:focus{transition:color 100ms,background-color 100ms}.Button--color--black:hover,.Button--color--black:focus{background-color:#131313;color:#fff}.Button--color--white{transition:color 50ms,background-color 50ms;background-color:#d9d9d9;color:#000}.Button--color--white:hover{transition:color 0ms,background-color 0ms}.Button--color--white:focus{transition:color 100ms,background-color 100ms}.Button--color--white:hover,.Button--color--white:focus{background-color:#f8f8f8;color:#000}.Button--color--red{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--red:hover{transition:color 0ms,background-color 0ms}.Button--color--red:focus{transition:color 100ms,background-color 100ms}.Button--color--red:hover,.Button--color--red:focus{background-color:#dc4848;color:#fff}.Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#d95e0c;color:#fff}.Button--color--orange:hover{transition:color 0ms,background-color 0ms}.Button--color--orange:focus{transition:color 100ms,background-color 100ms}.Button--color--orange:hover,.Button--color--orange:focus{background-color:#f0853f;color:#fff}.Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.Button--color--yellow:focus{transition:color 100ms,background-color 100ms}.Button--color--yellow:hover,.Button--color--yellow:focus{background-color:#f5d72e;color:#000}.Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#9aad14;color:#fff}.Button--color--olive:hover{transition:color 0ms,background-color 0ms}.Button--color--olive:focus{transition:color 100ms,background-color 100ms}.Button--color--olive:hover,.Button--color--olive:focus{background-color:#c4da2b;color:#fff}.Button--color--green{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--color--green:hover{transition:color 0ms,background-color 0ms}.Button--color--green:focus{transition:color 100ms,background-color 100ms}.Button--color--green:hover,.Button--color--green:focus{background-color:#32c154;color:#fff}.Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#009a93;color:#fff}.Button--color--teal:hover{transition:color 0ms,background-color 0ms}.Button--color--teal:focus{transition:color 100ms,background-color 100ms}.Button--color--teal:hover,.Button--color--teal:focus{background-color:#13c4bc;color:#fff}.Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#1c71b1;color:#fff}.Button--color--blue:hover{transition:color 0ms,background-color 0ms}.Button--color--blue:focus{transition:color 100ms,background-color 100ms}.Button--color--blue:hover,.Button--color--blue:focus{background-color:#3a95d9;color:#fff}.Button--color--dark-blue{transition:color 50ms,background-color 50ms;background-color:#003e6e;color:#fff}.Button--color--dark-blue:hover{transition:color 0ms,background-color 0ms}.Button--color--dark-blue:focus{transition:color 100ms,background-color 100ms}.Button--color--dark-blue:hover,.Button--color--dark-blue:focus{background-color:#135b92;color:#fff}.Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#552dab;color:#fff}.Button--color--violet:hover{transition:color 0ms,background-color 0ms}.Button--color--violet:focus{transition:color 100ms,background-color 100ms}.Button--color--violet:hover,.Button--color--violet:focus{background-color:#7953cc;color:#fff}.Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#8b2baa;color:#fff}.Button--color--purple:hover{transition:color 0ms,background-color 0ms}.Button--color--purple:focus{transition:color 100ms,background-color 100ms}.Button--color--purple:hover,.Button--color--purple:focus{background-color:#ad4fcd;color:#fff}.Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#cf2082;color:#fff}.Button--color--pink:hover{transition:color 0ms,background-color 0ms}.Button--color--pink:focus{transition:color 100ms,background-color 100ms}.Button--color--pink:hover,.Button--color--pink:focus{background-color:#e257a5;color:#fff}.Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#8c5836;color:#fff}.Button--color--brown:hover{transition:color 0ms,background-color 0ms}.Button--color--brown:focus{transition:color 100ms,background-color 100ms}.Button--color--brown:hover,.Button--color--brown:focus{background-color:#b47851;color:#fff}.Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#646464;color:#fff}.Button--color--grey:hover{transition:color 0ms,background-color 0ms}.Button--color--grey:focus{transition:color 100ms,background-color 100ms}.Button--color--grey:hover,.Button--color--grey:focus{background-color:#868686;color:#fff}.Button--color--light-grey{transition:color 50ms,background-color 50ms;background-color:#919191;color:#fff}.Button--color--light-grey:hover{transition:color 0ms,background-color 0ms}.Button--color--light-grey:focus{transition:color 100ms,background-color 100ms}.Button--color--light-grey:hover,.Button--color--light-grey:focus{background-color:#bababa;color:#fff}.Button--color--good{transition:color 50ms,background-color 50ms;background-color:#4d9121;color:#fff}.Button--color--good:hover{transition:color 0ms,background-color 0ms}.Button--color--good:focus{transition:color 100ms,background-color 100ms}.Button--color--good:hover,.Button--color--good:focus{background-color:#6cba39;color:#fff}.Button--color--average{transition:color 50ms,background-color 50ms;background-color:#cd7a0d;color:#fff}.Button--color--average:hover{transition:color 0ms,background-color 0ms}.Button--color--average:focus{transition:color 100ms,background-color 100ms}.Button--color--average:hover,.Button--color--average:focus{background-color:#ed9d35;color:#fff}.Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--bad:hover{transition:color 0ms,background-color 0ms}.Button--color--bad:focus{transition:color 100ms,background-color 100ms}.Button--color--bad:hover,.Button--color--bad:focus{background-color:#dc4848;color:#fff}.Button--color--label{transition:color 50ms,background-color 50ms;background-color:#657a94;color:#fff}.Button--color--label:hover{transition:color 0ms,background-color 0ms}.Button--color--label:focus{transition:color 100ms,background-color 100ms}.Button--color--label:hover,.Button--color--label:focus{background-color:#91a1b3;color:#fff}.Button--color--xeno{transition:color 50ms,background-color 50ms;background-color:#462f4e;color:#fff}.Button--color--xeno:hover{transition:color 0ms,background-color 0ms}.Button--color--xeno:focus{transition:color 100ms,background-color 100ms}.Button--color--xeno:hover,.Button--color--xeno:focus{background-color:#64496d;color:#fff}.Button--color--default{transition:color 50ms,background-color 50ms;background-color:#3e6189;color:#fff}.Button--color--default:hover{transition:color 0ms,background-color 0ms}.Button--color--default:focus{transition:color 100ms,background-color 100ms}.Button--color--default:hover,.Button--color--default:focus{background-color:#5c83b0;color:#fff}.Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--caution:hover{transition:color 0ms,background-color 0ms}.Button--color--caution:focus{transition:color 100ms,background-color 100ms}.Button--color--caution:hover,.Button--color--caution:focus{background-color:#f5d72e;color:#000}.Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--danger:hover{transition:color 0ms,background-color 0ms}.Button--color--danger:focus{transition:color 100ms,background-color 100ms}.Button--color--danger:hover,.Button--color--danger:focus{background-color:#dc4848;color:#fff}.Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#202020;color:#fff;background-color:rgba(32,32,32,0);color:rgba(255,255,255,.5)}.Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.Button--color--transparent:focus{transition:color 100ms,background-color 100ms}.Button--color--transparent:hover,.Button--color--transparent:focus{background-color:#383838;color:#fff}.Button--disabled{background-color:#999 !important}.Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--selected:hover{transition:color 0ms,background-color 0ms}.Button--selected:focus{transition:color 100ms,background-color 100ms}.Button--selected:hover,.Button--selected:focus{background-color:#32c154;color:#fff}.Button--flex{display:inline-flex;flex-direction:column}.Button--flex--fluid{width:100%}.Button--verticalAlignContent--top{justify-content:flex-start}.Button--verticalAlignContent--middle{justify-content:center}.Button--verticalAlignContent--bottom{justify-content:flex-end}.Button__content{display:block;align-self:stretch}.ColorBox{display:inline-block;width:1em;height:1em;line-height:1em;text-align:center}.Dimmer{display:flex;justify-content:center;align-items:center;position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.75);z-index:1}.Divider--horizontal{margin:.5em 0}.Divider--horizontal:not(.Divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Divider--vertical{height:100%;margin:0 .5em}.Divider--vertical:not(.Divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Dropdown{position:relative}.Dropdown__control{position:relative;display:inline-block;font-family:Verdana,sans-serif;font-size:1em;width:8.3333333333em;line-height:1.4166666667em;user-select:none}.Dropdown__arrow-button{float:right;padding-left:.35em;width:1.2em;height:1.8333333333em;border-left:.0833333333em solid #000;border-left:.0833333333em solid rgba(0,0,0,.25)}.Dropdown__menu{position:absolute;overflow-y:auto;z-index:5;width:8.3333333333em;max-height:16.6666666667em;overflow-y:scroll;border-radius:0 0 .1666666667em .1666666667em;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menu-noscroll{position:absolute;overflow-y:auto;z-index:5;width:8.3333333333em;max-height:16.6666666667em;border-radius:0 0 .1666666667em .1666666667em;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menuentry{padding:.1666666667em .3333333333em;font-family:Verdana,sans-serif;font-size:1em;line-height:1.4166666667em;transition:background-color 100ms ease-out}.Dropdown__menuentry:hover{background-color:rgba(255,255,255,.2);transition:background-color 0ms}.Dropdown__over{top:auto;bottom:100%}.Dropdown__selected-text{display:inline-block;text-overflow:ellipsis;white-space:nowrap;height:1.4166666667em;width:calc(100% - 1.2em)}.Flex{display:-ms-flexbox;display:flex}.Flex--inline{display:inline-flex}.Flex--iefix{display:block}.Flex--iefix.Flex--inline{display:inline-block}.Flex__item--iefix{display:inline-block}.Flex--iefix--column>.Flex__item--iefix{display:block}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Input--monospace .Input__input{font-family:"Consolas",monospace}.Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto;margin-bottom:-0.2em;cursor:n-resize}.Knob:after{content:".";color:rgba(0,0,0,0);line-height:2.5em}.Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 100%);border-radius:50%;box-shadow:0 .05em .5em 0 rgba(0,0,0,.5)}.Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:rgba(255,255,255,.9)}.Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.Knob__ringTrackPivot{transform:rotateZ(135deg)}.Knob__ringTrack{fill:rgba(0,0,0,0);stroke:rgba(255,255,255,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.Knob__ringFillPivot{transform:rotateZ(135deg)}.Knob--bipolar .Knob__ringFillPivot{transform:rotateZ(270deg)}.Knob__ringFill{fill:rgba(0,0,0,0);stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms ease-out}.Knob--color--black .Knob__ringFill{stroke:#1a1a1a}.Knob--color--white .Knob__ringFill{stroke:#fff}.Knob--color--red .Knob__ringFill{stroke:#df3e3e}.Knob--color--orange .Knob__ringFill{stroke:#f37f33}.Knob--color--yellow .Knob__ringFill{stroke:#fbda21}.Knob--color--olive .Knob__ringFill{stroke:#cbe41c}.Knob--color--green .Knob__ringFill{stroke:#25ca4c}.Knob--color--teal .Knob__ringFill{stroke:#00d6cc}.Knob--color--blue .Knob__ringFill{stroke:#2e93de}.Knob--color--dark-blue .Knob__ringFill{stroke:#005fa7}.Knob--color--violet .Knob__ringFill{stroke:#7349cf}.Knob--color--purple .Knob__ringFill{stroke:#ad45d0}.Knob--color--pink .Knob__ringFill{stroke:#e34da1}.Knob--color--brown .Knob__ringFill{stroke:#b97447}.Knob--color--grey .Knob__ringFill{stroke:#848484}.Knob--color--light-grey .Knob__ringFill{stroke:#b3b3b3}.Knob--color--good .Knob__ringFill{stroke:#68c22d}.Knob--color--average .Knob__ringFill{stroke:#f29a29}.Knob--color--bad .Knob__ringFill{stroke:#df3e3e}.Knob--color--label .Knob__ringFill{stroke:#8b9bb0}.Knob--color--xeno .Knob__ringFill{stroke:#664573}.LabeledList{display:table;width:100%;width:calc(100% + 1em);border-collapse:collapse;border-spacing:0;margin:-0.25em -0.5em;margin-bottom:0;padding:0}.LabeledList__row{display:table-row}.LabeledList__row:last-child .LabeledList__cell{padding-bottom:0}.LabeledList__cell{display:table-cell;margin:0;padding:.25em .5em;border:0;text-align:left}.LabeledList__label--nowrap{width:1%;white-space:nowrap;min-width:5em}.LabeledList__buttons{width:.1%;white-space:nowrap;text-align:right;padding-top:.0833333333em;padding-bottom:0}.Modal{background-color:#202020;max-width:calc(100% - 1rem);padding:1rem}.NoticeBox{padding:.33em .5em;margin-bottom:.5em;box-shadow:none;font-weight:bold;font-style:italic;color:#000;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg, transparent, transparent 0.8333333333em, rgba(0, 0, 0, 0.1) 0.8333333333em, rgba(0, 0, 0, 0.1) 1.6666666667em)}.NoticeBox--color--black{color:#fff;background-color:#000}.NoticeBox--color--white{color:#000;background-color:#b3b3b3}.NoticeBox--color--red{color:#fff;background-color:#701f1f}.NoticeBox--color--orange{color:#fff;background-color:#854114}.NoticeBox--color--yellow{color:#000;background-color:#83710d}.NoticeBox--color--olive{color:#000;background-color:#576015}.NoticeBox--color--green{color:#fff;background-color:#174e24}.NoticeBox--color--teal{color:#fff;background-color:#064845}.NoticeBox--color--blue{color:#fff;background-color:#1b4565}.NoticeBox--color--dark-blue{color:#fff;background-color:#02121f}.NoticeBox--color--violet{color:#fff;background-color:#3b2864}.NoticeBox--color--purple{color:#fff;background-color:#542663}.NoticeBox--color--pink{color:#fff;background-color:#802257}.NoticeBox--color--brown{color:#fff;background-color:#4c3729}.NoticeBox--color--grey{color:#fff;background-color:#3e3e3e}.NoticeBox--color--light-grey{color:#fff;background-color:#6a6a6a}.NoticeBox--color--good{color:#fff;background-color:#2e4b1a}.NoticeBox--color--average{color:#fff;background-color:#7b4e13}.NoticeBox--color--bad{color:#fff;background-color:#701f1f}.NoticeBox--color--label{color:#fff;background-color:#53565a}.NoticeBox--color--xeno{color:#fff;background-color:#19161b}.NoticeBox--type--info{color:#fff;background-color:#235982}.NoticeBox--type--success{color:#fff;background-color:#1e662f}.NoticeBox--type--warning{color:#fff;background-color:#a95219}.NoticeBox--type--danger{color:#fff;background-color:#8f2828}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Input--monospace .Input__input{font-family:"Consolas",monospace}.NumberInput{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#88bfff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.NumberInput--fluid{display:block}.NumberInput__content{margin-left:.5em}.NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #88bfff;background-color:#88bfff}.NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-width:.0833333333em !important;border-style:solid !important;border-radius:.16em;background-color:rgba(0,0,0,0);transition:border-color 900ms ease-out}.ProgressBar__fill{position:absolute;top:-0.5px;left:0px;bottom:-0.5px}.ProgressBar__fill--animated{transition:background-color 900ms ease-out,width 900ms ease-out}.ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.ProgressBar--color--default{border:.0833333333em solid #3e6189}.ProgressBar--color--default .ProgressBar__fill{background-color:#3e6189}.ProgressBar--color--black{border-color:#000 !important}.ProgressBar--color--black .ProgressBar__fill{background-color:#000}.ProgressBar--color--white{border-color:#d9d9d9 !important}.ProgressBar--color--white .ProgressBar__fill{background-color:#d9d9d9}.ProgressBar--color--red{border-color:#bd2020 !important}.ProgressBar--color--red .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--orange{border-color:#d95e0c !important}.ProgressBar--color--orange .ProgressBar__fill{background-color:#d95e0c}.ProgressBar--color--yellow{border-color:#d9b804 !important}.ProgressBar--color--yellow .ProgressBar__fill{background-color:#d9b804}.ProgressBar--color--olive{border-color:#9aad14 !important}.ProgressBar--color--olive .ProgressBar__fill{background-color:#9aad14}.ProgressBar--color--green{border-color:#1b9638 !important}.ProgressBar--color--green .ProgressBar__fill{background-color:#1b9638}.ProgressBar--color--teal{border-color:#009a93 !important}.ProgressBar--color--teal .ProgressBar__fill{background-color:#009a93}.ProgressBar--color--blue{border-color:#1c71b1 !important}.ProgressBar--color--blue .ProgressBar__fill{background-color:#1c71b1}.ProgressBar--color--dark-blue{border-color:#003e6e !important}.ProgressBar--color--dark-blue .ProgressBar__fill{background-color:#003e6e}.ProgressBar--color--violet{border-color:#552dab !important}.ProgressBar--color--violet .ProgressBar__fill{background-color:#552dab}.ProgressBar--color--purple{border-color:#8b2baa !important}.ProgressBar--color--purple .ProgressBar__fill{background-color:#8b2baa}.ProgressBar--color--pink{border-color:#cf2082 !important}.ProgressBar--color--pink .ProgressBar__fill{background-color:#cf2082}.ProgressBar--color--brown{border-color:#8c5836 !important}.ProgressBar--color--brown .ProgressBar__fill{background-color:#8c5836}.ProgressBar--color--grey{border-color:#646464 !important}.ProgressBar--color--grey .ProgressBar__fill{background-color:#646464}.ProgressBar--color--light-grey{border-color:#919191 !important}.ProgressBar--color--light-grey .ProgressBar__fill{background-color:#919191}.ProgressBar--color--good{border-color:#4d9121 !important}.ProgressBar--color--good .ProgressBar__fill{background-color:#4d9121}.ProgressBar--color--average{border-color:#cd7a0d !important}.ProgressBar--color--average .ProgressBar__fill{background-color:#cd7a0d}.ProgressBar--color--bad{border-color:#bd2020 !important}.ProgressBar--color--bad .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--label{border-color:#657a94 !important}.ProgressBar--color--label .ProgressBar__fill{background-color:#657a94}.ProgressBar--color--xeno{border-color:#462f4e !important}.ProgressBar--color--xeno .ProgressBar__fill{background-color:#462f4e}.Section{position:relative;margin-bottom:.5em;background-color:#131313;background-color:#131313;box-sizing:border-box}.Section:last-child{margin-bottom:0}.Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #4972a1}.Section__titleText{font-size:1.1666666667em;font-weight:bold;color:#fff}.Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.Section__rest{position:relative}.Section__content{padding:.66em .5em}.Section--fitted>.Section__rest>.Section__content{padding:0}.Section--fill{display:flex;flex-direction:column;height:100%}.Section--fill>.Section__rest{flex-grow:1}.Section--fill>.Section__rest>.Section__content{height:100%}.Section--fill.Section--scrollable>.Section__rest>.Section__content{position:absolute;top:0;left:0;right:0;bottom:0}.Section--fill.Section--iefix{display:table !important;width:100% !important;height:100% !important;border-collapse:collapse;border-spacing:0}.Section--fill.Section--iefix>.Section__rest{display:table-row !important;height:100% !important}.Section--scrollable{overflow-x:hidden;overflow-y:hidden}.Section--scrollable>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:hidden}.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:hidden;overflow-x:scroll}.Section--scrollable.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:scroll}.Section .Section{background-color:rgba(0,0,0,0);margin-left:-0.5em;margin-right:-0.5em}.Section .Section:first-child{margin-top:-0.5em}.Section .Section .Section__titleText{font-size:1.0833333333em}.Section .Section .Section .Section__titleText{font-size:1em}.Slider{cursor:e-resize}.Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none !important}.Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #fff}.Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid rgba(0,0,0,0);border-right:.4166666667em solid rgba(0,0,0,0);border-bottom:.4166666667em solid #fff}.Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.Divider--horizontal{margin:.5em 0}.Divider--horizontal:not(.Divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Divider--vertical{height:100%;margin:0 .5em}.Divider--vertical:not(.Divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Stack--fill{height:100%}.Stack--horizontal>.Stack__item{margin-left:.5em}.Stack--horizontal>.Stack__item:first-child{margin-left:0}.Stack--vertical>.Stack__item{margin-top:.5em}.Stack--vertical>.Stack__item:first-child{margin-top:0}.Stack--horizontal>.Stack__divider:not(.Stack__divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Stack--vertical>.Stack__divider:not(.Stack__divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Table{display:table;width:100%;border-collapse:collapse;border-spacing:0;margin:0}.Table--collapsing{width:auto}.Table__row{display:table-row}.Table__cell{display:table-cell;padding:0 .25em}.Table__cell:first-child{padding-left:0}.Table__cell:last-child{padding-right:0}.Table__row--header .Table__cell,.Table__cell--header{font-weight:bold;padding-bottom:.5em}.Table__cell--collapsing{width:1%;white-space:nowrap}.Tabs{display:flex;align-items:stretch;overflow:hidden;background-color:#131313}.Tabs--fill{height:100%}.Section .Tabs{background-color:rgba(0,0,0,0)}.Section:not(.Section--fitted) .Tabs{margin:0 -0.5em .5em}.Section:not(.Section--fitted) .Tabs:first-child{margin-top:-0.5em}.Tabs--vertical{flex-direction:column;padding:.25em 0 .25em .25em}.Tabs--horizontal{margin-bottom:.5em;padding:.25em .25em 0 .25em}.Tabs--horizontal:last-child{margin-bottom:0}.Tabs__Tab{flex-grow:0}.Tabs--fluid .Tabs__Tab{flex-grow:1}.Tab{display:flex;align-items:center;justify-content:space-between;background-color:rgba(0,0,0,0);color:rgba(255,255,255,.5);min-height:2.25em;min-width:4em}.Tab:not(.Tab--selected):hover{background-color:rgba(255,255,255,.075)}.Tab--selected{background-color:rgba(255,255,255,.125);color:#dfe7f0}.Tab__text{flex-grow:1;margin:0 .5em}.Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.Tabs--horizontal .Tab{border-top:.1666666667em solid rgba(0,0,0,0);border-bottom:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-top-right-radius:.25em}.Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #d4dfec}.Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid rgba(0,0,0,0);border-right:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-bottom-left-radius:.25em}.Tabs--vertical .Tab--selected{border-right:.1666666667em solid #d4dfec}.Tab--selected.Tab--color--black{color:#535353}.Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#1a1a1a}.Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#1a1a1a}.Tab--selected.Tab--color--white{color:#fff}.Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#fff}.Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#fff}.Tab--selected.Tab--color--red{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#df3e3e}.Tab--selected.Tab--color--orange{color:#f69f66}.Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#f37f33}.Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#f37f33}.Tab--selected.Tab--color--yellow{color:#fce358}.Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#fbda21}.Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#fbda21}.Tab--selected.Tab--color--olive{color:#d8eb55}.Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#cbe41c}.Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#cbe41c}.Tab--selected.Tab--color--green{color:#53e074}.Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#25ca4c}.Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#25ca4c}.Tab--selected.Tab--color--teal{color:#21fff5}.Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00d6cc}.Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00d6cc}.Tab--selected.Tab--color--blue{color:#62aee6}.Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#2e93de}.Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#2e93de}.Tab--selected.Tab--color--dark-blue{color:#008ffd}.Tabs--horizontal .Tab--selected.Tab--color--dark-blue{border-bottom-color:#005fa7}.Tabs--vertical .Tab--selected.Tab--color--dark-blue{border-right-color:#005fa7}.Tab--selected.Tab--color--violet{color:#9676db}.Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#7349cf}.Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#7349cf}.Tab--selected.Tab--color--purple{color:#c274db}.Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#ad45d0}.Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#ad45d0}.Tab--selected.Tab--color--pink{color:#ea79b9}.Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#e34da1}.Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#e34da1}.Tab--selected.Tab--color--brown{color:#ca9775}.Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#b97447}.Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#b97447}.Tab--selected.Tab--color--grey{color:#a3a3a3}.Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#848484}.Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#848484}.Tab--selected.Tab--color--light-grey{color:#c6c6c6}.Tabs--horizontal .Tab--selected.Tab--color--light-grey{border-bottom-color:#b3b3b3}.Tabs--vertical .Tab--selected.Tab--color--light-grey{border-right-color:#b3b3b3}.Tab--selected.Tab--color--good{color:#8cd95a}.Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#68c22d}.Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#68c22d}.Tab--selected.Tab--color--average{color:#f5b35e}.Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#f29a29}.Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#f29a29}.Tab--selected.Tab--color--bad{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#df3e3e}.Tab--selected.Tab--color--label{color:#a8b4c4}.Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#8b9bb0}.Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#8b9bb0}.Tab--selected.Tab--color--xeno{color:#9366a3}.Tabs--horizontal .Tab--selected.Tab--color--xeno{border-bottom-color:#664573}.Tabs--vertical .Tab--selected.Tab--color--xeno{border-right-color:#664573}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Input--monospace .Input__input{font-family:"Consolas",monospace}.TextArea{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;background-color:#0a0a0a;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.TextArea--fluid{display:block;width:auto;height:auto}.TextArea--noborder{border:0px}.TextArea__textarea.TextArea__textarea--scrollable{overflow:auto;overflow-x:hidden;overflow-y:scroll}.TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:rgba(0,0,0,0);color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.TextArea__textarea_custom{overflow:visible;white-space:pre-wrap}.Tooltip{z-index:2;padding:.5em .75em;pointer-events:none;text-align:left;transition:opacity 150ms ease-out;background-color:#000;color:#fff;box-shadow:.1em .1em 1.25em -0.1em rgba(0,0,0,.5);border-radius:.16em;max-width:20.8333333333em}.Chat{color:#abc6ec}.Chat__badge{display:inline-block;min-width:.5em;font-size:.7em;padding:.2em .3em;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:crimson;border-radius:10px;transition:font-size 200ms ease-out}.Chat__badge:before{content:"x"}.Chat__badge--animate{font-size:.9em;transition:font-size 0ms}.Chat__scrollButton{position:fixed;right:2em;bottom:1em}.Chat__reconnected{font-size:.85em;text-align:center;margin:1em 0 2em}.Chat__reconnected:before{content:"Reconnected";display:inline-block;border-radius:1em;padding:0 .7em;color:#db2828;background-color:#131313}.Chat__reconnected:after{content:"";display:block;margin-top:-0.75em;border-bottom:.1666666667em solid #db2828}.Chat__highlight{color:#000}.Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:bold}.ChatMessage{word-wrap:break-word}.ChatMessage--highlighted{position:relative;border-left:.1666666667em solid #fd4;padding-left:.5em}.ChatMessage--highlighted:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(255,221,68,.1);pointer-events:none}.Ping{position:relative;padding:.125em .25em;border:.0833333333em solid rgba(140,140,140,.5);border-radius:.25em;width:3.75em;text-align:right}.Ping__indicator{content:"";position:absolute;top:.5em;left:.5em;width:.5em;height:.5em;background-color:#888;border-radius:.25em}.Notifications{position:absolute;bottom:1em;left:1em;right:2em}.Notification{color:#fff;background-color:crimson;padding:.5em;margin:1em 0}.Notification:first-child{margin-top:0}.Notification:last-child{margin-bottom:0}.Layout,.Layout *{scrollbar-base-color:#181818;scrollbar-face-color:#363636;scrollbar-3dlight-color:#202020;scrollbar-highlight-color:#202020;scrollbar-track-color:#181818;scrollbar-arrow-color:#909090;scrollbar-shadow-color:#363636}.Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#202020;background-image:linear-gradient(to bottom, #202020 0%, #202020 100%)}.Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.Window__contentPadding:after{height:0}.Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(56,56,56,.25);pointer-events:none}.Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}em{font-style:normal;font-weight:bold}img{margin:0;padding:0;line-height:1;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}img.icon{height:1em;min-height:16px;width:auto;vertical-align:bottom}a{color:#397ea5}a.visited{color:#7c00e6}a:visited{color:#7c00e6}a.popt{text-decoration:none}.popup{position:fixed;top:50%;left:50%;background:#ddd}.popup .close{position:absolute;background:#aaa;top:0;right:0;color:#333;text-decoration:none;z-index:2;padding:0 10px;height:30px;line-height:30px}.popup .close:hover{background:#999}.popup .head{background:#999;color:#ddd;padding:0 10px;height:30px;line-height:30px;text-transform:uppercase;font-size:.9em;font-weight:bold;border-bottom:2px solid green}.popup input{border:1px solid #999;background:#fff;margin:0;padding:5px;outline:none;color:#333}.popup input[type=text]:hover,.popup input[type=text]:active,.popup input[type=text]:focus{border-color:green}.popup input[type=submit]{padding:5px 10px;background:#999;color:#ddd;text-transform:uppercase;font-size:.9em;font-weight:bold}.popup input[type=submit]:hover,.popup input[type=submit]:focus,.popup input[type=submit]:active{background:#aaa;cursor:pointer}.changeFont{padding:10px}.changeFont a{display:block;text-decoration:none;padding:3px;color:#333}.changeFont a:hover{background:#ccc}.highlightPopup{padding:10px;text-align:center}.highlightPopup input[type=text]{display:block;width:215px;text-align:left;margin-top:5px}.highlightPopup input.highlightColor{background-color:#ff0}.highlightPopup input.highlightTermSubmit{margin-top:5px}.contextMenu{background-color:#ddd;position:fixed;margin:2px;width:150px}.contextMenu a{display:block;padding:2px 5px;text-decoration:none;color:#333}.contextMenu a:hover{background-color:#ccc}.filterMessages{padding:5px}.filterMessages div{padding:2px 0}.icon-stack{height:1em;line-height:1em;width:1em;vertical-align:middle;margin-top:-2px}.motd{color:#a4bad6;font-family:Verdana,sans-serif;white-space:normal}.motd h1,.motd h2,.motd h3,.motd h4,.motd h5,.motd h6{color:#a4bad6;text-decoration:underline}.motd a,.motd a:link,.motd a:visited,.motd a:active,.motd a:hover{color:#a4bad6}.bold,.name,.prefix,.ooc,.looc,.adminooc,.admin,.niche,.medal,.yell{font-weight:bold}.italic,.italics{font-style:italic}.highlight{background:#ff0}h1,h2,h3,h4,h5,h6{color:#a4bad6;font-family:Georgia,Verdana,sans-serif}h1.alert,h2.alert{color:#a4bad6}em{font-style:normal;font-weight:bold}.ooc{font-weight:bold}.adminobserverooc{color:#09c;font-weight:bold}.adminooc{color:#3d5bc3;font-weight:bold}.adminsay{color:#9611d4;font-weight:bold}.admin{color:#5975da;font-weight:bold}.niche{color:#5975da;font-weight:bold}.name{font-weight:bold}.deadsay{color:#e2c1ff}.binarysay{color:#1e90ff}.binarysay a{color:lime}.binarysay a:active,.binarysay a:visited{color:#8f8}.radio{color:#1ecc43}.sciradio{color:#c68cfa}.comradio{color:#fcdf03}.secradio{color:#dd3535}.medradio{color:#57b8f0}.engradio{color:#f37746}.suppradio{color:#b88646}.servradio{color:#6ca729}.syndradio{color:#8f4a4b}.gangradio{color:#ac2ea1}.centcomradio{color:#2681a5}.aiprivradio{color:#d65d95}.redteamradio{color:#f44}.blueteamradio{color:#3434fd}.greenteamradio{color:#34fd34}.yellowteamradio{color:#fdfd34}.yell{font-weight:bold}.alert{color:#d82020}.userdanger{color:#c51e1e;font-weight:bold;font-size:185%}.bolddanger{color:#c51e1e;font-weight:bold}.danger{color:#c51e1e}.warning{color:#c51e1e;font-style:italic}.alertwarning{color:red;font-weight:bold}.boldwarning{color:#c51e1e;font-style:italic;font-weight:bold}.announce{color:#c51e1e;font-weight:bold}.boldannounce{color:#c51e1e;font-weight:bold}.bigannounce{font-weight:bold;font-size:115%}.greenannounce{color:#059223;font-weight:bold}.rose{color:#ff5050}.info{color:#9ab0ff}.notice{color:#6685f5}.staff_ic{color:#6685f5}.tinynotice{color:#6685f5;font-size:85%}.tinynoticeital{color:#6685f5;font-style:italic;font-size:85%}.smallnotice{color:#6685f5;font-size:90%}.smallnoticeital{color:#6685f5;font-style:italic;font-size:90%}.boldnotice{color:#6685f5;font-weight:bold}.hear{color:#6685f5;font-style:italic}.adminnotice{color:#6685f5}.adminhelp{color:red;font-weight:bold}.unconscious{color:#a4bad6;font-weight:bold}.suicide{color:#ff5050;font-style:italic}.green{color:#059223}.grey{color:#838383}.red{color:red}.blue{color:#215cff}.nicegreen{color:#059223}.boldnicegreen{color:#059223;font-weight:bold}.cult{color:#973e3b}.cultitalic{color:#973e3b;font-style:italic}.cultbold{color:#973e3b;font-style:italic;font-weight:bold}.cultboldtalic{color:#973e3b;font-weight:bold;font-size:185%}.cultlarge{color:#973e3b;font-weight:bold;font-size:185%}.narsie{color:#973e3b;font-weight:bold;font-size:925%}.narsiesmall{color:#973e3b;font-weight:bold;font-size:370%}.colossus{color:#7f282a;font-size:310%}.hierophant{color:#b441ee;font-weight:bold;font-style:italic}.hierophant_warning{color:#c56bf1;font-style:italic}.purple{color:#9956d3}.holoparasite{color:#88809c}.revennotice{color:#c099e2}.revenboldnotice{color:#c099e2;font-weight:bold}.revenbignotice{color:#c099e2;font-weight:bold;font-size:185%}.revenminor{color:#823abb}.revenwarning{color:#760fbb;font-style:italic}.revendanger{color:#760fbb;font-weight:bold;font-size:185%}.deconversion_message{color:#a947ff;font-size:185%;font-style:italic}.ghostalert{color:#60f;font-style:italic;font-weight:bold}.alien{color:#855d85}.noticealien{color:#059223}.alertalien{color:#059223;font-weight:bold}.changeling{color:#059223;font-style:italic}.alertsyndie{color:red;font-size:185%;font-weight:bold}.spider{color:#80f;font-weight:bold;font-size:185%}.interface{color:#750e75}.sans{font-family:"Comic Sans MS",cursive,sans-serif}.papyrus{font-family:"Papyrus",cursive,sans-serif}.robot{font-family:"Courier New",cursive,sans-serif}.tape_recorder{color:red;font-family:"Courier New",cursive,sans-serif}.command_headset{font-weight:bold;font-size:160%}.small{font-size:60%}.big{font-size:185%}.reallybig{font-size:245%}.extremelybig{font-size:310%}.greentext{color:#059223;font-size:185%}.redtext{color:#c51e1e;font-size:185%}.clown{color:#ff70c1;font-size:160%;font-family:"Comic Sans MS",cursive,sans-serif;font-weight:bold}.singing{font-family:"Trebuchet MS",cursive,sans-serif;font-style:italic}.his_grace{color:#15d512;font-family:"Courier New",cursive,sans-serif;font-style:italic}.hypnophrase{color:#202020;font-weight:bold;animation:hypnocolor 1500ms infinite;animation-direction:alternate}@keyframes hypnocolor{0%{color:#202020}25%{color:#4b02ac}50%{color:#9f41f1}75%{color:#541c9c}100%{color:#7adbf3}}.phobia{color:#d00;font-weight:bold;animation:phobia 750ms infinite}@keyframes phobia{0%{color:#f75a5a}50%{color:#d00}100%{color:#f75a5a}}.icon{height:1em;width:auto}.bigicon{font-size:2.5em}.memo{color:#638500;text-align:center}.memoedit{text-align:center;font-size:125%}.abductor{color:#c204c2;font-style:italic}.mind_control{color:#df3da9;font-size:100%;font-weight:bold;font-style:italic}.slime{color:#00ced1}.drone{color:#848482}.monkey{color:#975032}.swarmer{color:#2c75ff}.resonate{color:#298f85}.monkeyhive{color:#a56408}.monkeylead{color:#af6805;font-size:80%}.connectionClosed,.fatalError{background:red;color:#fff;padding:5px}.connectionClosed.restored{background:green}.internal.boldnshit{color:#3d5bc3;font-weight:bold}.text-normal{font-weight:normal;font-style:normal}.hidden{display:none;visibility:hidden}.ml-1{margin-left:1em}.ml-2{margin-left:2em}.ml-3{margin-left:3em}.xooc{color:#ac04e9;font-weight:bold;font-size:140%}.mooc{color:#090;font-weight:bold;font-size:140%}.yooc{color:#999600;font-weight:bold;font-size:140%}.headminsay{color:#653d78;font-weight:bold}.radio{color:#b4b4b4}.deptradio{color:#939}.comradio{color:#779cc2}.centradio{color:#5c5c8a}.hcradio{color:#318779}.pvstradio{color:#9b0612}.cryoradio{color:#ad6d48}.airadio{color:#f0f}.secradio{color:#a52929}.engradio{color:#a66300}.sentryradio{color:#844300}.medradio{color:#008160}.supradio{color:#ba8e41}.jtacradio{color:#ad3b98}.intelradio{color:#027d02}.wyradio{color:#fe9b24}.pmcradio{color:#4dc5ce}.vairadio{color:#e3580e}.rmcradio{color:#e3580e}.cmbradio{color:#1b748c}.clfradio{color:#8e83ca}.alpharadio{color:#db2626}.bravoradio{color:#c68610}.charlieradio{color:#a5a}.deltaradio{color:#007fcf}.echoradio{color:#3eb489}.medium{font-size:110%}.big{font-size:115%}.large{font-size:125%}.extra_large{font-size:130%}.huge{font-size:150%}.underline{text-decoration:underline}.orange{color:#eca100}.normal{font-style:normal}.attack{color:#ff3838}.moderate{color:#c00}.disarm{color:#900}.passive{color:#600}.helpful{color:#368f31}.scanner{color:#ff3838}.scannerb{color:#ff3838;font-weight:bold}.scannerburn{color:orange}.scannerburnb{color:orange;font-weight:bold}.rose{color:#ff5050}.debuginfo{color:#493d26;font-style:italic}.xenonotice{color:#51a16c}.xenoboldnotice{color:#51a16c;font-weight:bold}.xenowarning{color:#51a16c;font-style:italic}.xenominorwarning{color:#51a16c;font-weight:bold;font-style:italic}.xenodanger{color:#51a16c;font-weight:bold}.avoidharm{color:#72a0e5;font-weight:bold}.highdanger{color:#ff3838;font-weight:bold;font-size:140%}.xenohighdanger{color:#51a16c;font-weight:bold;font-size:140%}.xenoannounce{color:#65c585;font-family:book-antiqua;font-weight:bold;font-size:140%}.yautjabold{color:purple;font-weight:bold}.yautjaboldbig{color:purple;font-weight:bold;font-size:120%}.objectivebig{font-weight:bold;font-size:130%}.objectivegreen{color:lime}.objectivered{color:red}.objectivesuccess{color:lime;font-weight:bold;font-size:110%}.objectivefail{color:red;font-weight:bold;font-size:110%}.xenotalk,.xeno{color:#c048c0;font-style:italic}.xenoleader{color:#996e99;font-style:italic;font-size:125%}.xenoqueen{color:#996e99;font-style:italic;font-weight:bold;font-size:125%}.newscaster{color:maroon}.role_header{color:#e92d2d;display:block;text-align:center;font-weight:bold;font-family:trebuchet-ms;font-size:150%}.role_body{color:#3a3ae9;display:block;text-align:center;font-size:125%}.round_header{color:#e92d2d;display:block;text-align:center;font-family:courier;font-weight:bold;font-size:180%}.round_body{color:#c5c5c5;display:block;text-align:center;font-family:trebuchet-ms;font-weight:bold;font-size:125%}.event_announcement{color:#600d48;font-family:arial-narrow;font-weight:bold;font-size:125%}.announce_header{color:#cecece;font-weight:bold;font-size:150%}.announce_header_blue{color:#7575f3;font-weight:bold;font-size:150%}.announce_header_admin{color:#7575f3;font-weight:bold;font-size:150%}.announce_body{color:#e92d2d;font-weight:normal;font-size:125%}.centerbold{display:block;text-align:center;font-weight:bold}.mod{color:#917455;font-weight:bold}.modooc{color:#184880;font-weight:bold}.adminmod{color:#7c440c;font-weight:bold}.mentorsay{color:#d4af57;font-weight:bold}.mentorhelp{color:#090;font-weight:bold}.mentorbody{color:#da6200;font-weight:bold}.mentorstaff{color:#b5850d;font-weight:bold}.staffsay{color:#b5850d;font-weight:bold}.tajaran{color:#803b56}.tajaran_signlang{color:#941c1c}.skrell{color:#00ced1}.soghun{color:#228b22}.changeling{color:purple}.vox{color:#a0a}.monkey{color:#966c47}.german{color:#858f1e;font-family:"Times New Roman",Times,serif}.spanish{color:#cf982b}.japanese{color:#940927}.chinese{color:#fe1919}.zombie{color:#2dacb1;font-style:italic}.rough{font-family:trebuchet-ms,cursive,sans-serif}.commando{color:#fe9b24;font-style:bold}.say_quote{font-family:Georgia,Verdana,sans-serif}.admin .message{color:#314cad}.admin .prefix{font-weight:bolder}.pm{font-size:110%}.deadsay{color:#8b4dff}.retro_translator{font-weight:bold}.yautja_translator{color:#a00;font-weight:bold;animation:glitch .5s infinite}@keyframes glitch{25%{color:#a00;transform:translate(-2px, -1px)}50%{color:#be0000;transform:translate(1px, -2px)}75%{color:#8d0000;transform:translate(-1px, 2px)}100%{color:#830000;transform:translate(1px, 1px)}}.examine_block{background:#1b1c1e;border:1px solid #a4bad6;margin:.5em;padding:.5em .75em}.examine_block .icon{width:1.5em;height:1.5em;margin:0;padding:0}.tooltip{font-style:italic;border-bottom:1px dashed #fff}
+.theme-light .color-black{color:#000 !important}.theme-light .color-white{color:#e6e6e6 !important}.theme-light .color-red{color:#c82121 !important}.theme-light .color-orange{color:#e6630d !important}.theme-light .color-yellow{color:#e5c304 !important}.theme-light .color-olive{color:#a3b816 !important}.theme-light .color-green{color:#1d9f3b !important}.theme-light .color-teal{color:#00a39c !important}.theme-light .color-blue{color:#1e78bb !important}.theme-light .color-dark-blue{color:#004274 !important}.theme-light .color-violet{color:#5a30b5 !important}.theme-light .color-purple{color:#932eb4 !important}.theme-light .color-pink{color:#db228a !important}.theme-light .color-brown{color:#955d39 !important}.theme-light .color-grey{color:#e6e6e6 !important}.theme-light .color-light-grey{color:#999 !important}.theme-light .color-good{color:#529923 !important}.theme-light .color-average{color:#da810e !important}.theme-light .color-bad{color:#c82121 !important}.theme-light .color-label{color:#353535 !important}.theme-light .color-xeno{color:#4a3253 !important}.theme-light .color-bg-black{background-color:#000 !important}.theme-light .color-bg-white{background-color:#bfbfbf !important}.theme-light .color-bg-red{background-color:#a61c1c !important}.theme-light .color-bg-orange{background-color:#c0530b !important}.theme-light .color-bg-yellow{background-color:#bfa303 !important}.theme-light .color-bg-olive{background-color:#889912 !important}.theme-light .color-bg-green{background-color:#188532 !important}.theme-light .color-bg-teal{background-color:#008882 !important}.theme-light .color-bg-blue{background-color:#19649c !important}.theme-light .color-bg-dark-blue{background-color:#003761 !important}.theme-light .color-bg-violet{background-color:#4b2897 !important}.theme-light .color-bg-purple{background-color:#7a2696 !important}.theme-light .color-bg-pink{background-color:#b61d73 !important}.theme-light .color-bg-brown{background-color:#7c4d2f !important}.theme-light .color-bg-grey{background-color:#bfbfbf !important}.theme-light .color-bg-light-grey{background-color:gray !important}.theme-light .color-bg-good{background-color:#44801d !important}.theme-light .color-bg-average{background-color:#b56b0b !important}.theme-light .color-bg-bad{background-color:#a61c1c !important}.theme-light .color-bg-label{background-color:#2c2c2c !important}.theme-light .color-bg-xeno{background-color:#3e2945 !important}.theme-light .Tabs{display:flex;align-items:stretch;overflow:hidden;background-color:#fff}.theme-light .Tabs--fill{height:100%}.theme-light .Section .Tabs{background-color:rgba(0,0,0,0)}.theme-light .Section:not(.Section--fitted) .Tabs{margin:0 -0.5em .5em}.theme-light .Section:not(.Section--fitted) .Tabs:first-child{margin-top:-0.5em}.theme-light .Tabs--vertical{flex-direction:column;padding:.25em 0 .25em .25em}.theme-light .Tabs--horizontal{margin-bottom:.5em;padding:.25em .25em 0 .25em}.theme-light .Tabs--horizontal:last-child{margin-bottom:0}.theme-light .Tabs__Tab{flex-grow:0}.theme-light .Tabs--fluid .Tabs__Tab{flex-grow:1}.theme-light .Tab{display:flex;align-items:center;justify-content:space-between;background-color:rgba(0,0,0,0);color:rgba(0,0,0,.5);min-height:2.25em;min-width:4em}.theme-light .Tab:not(.Tab--selected):hover{background-color:rgba(255,255,255,.075)}.theme-light .Tab--selected{background-color:rgba(255,255,255,.125);color:#404040}.theme-light .Tab__text{flex-grow:1;margin:0 .5em}.theme-light .Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.theme-light .Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.theme-light .Tabs--horizontal .Tab{border-top:.1666666667em solid rgba(0,0,0,0);border-bottom:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-top-right-radius:.25em}.theme-light .Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #000}.theme-light .Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid rgba(0,0,0,0);border-right:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-bottom-left-radius:.25em}.theme-light .Tabs--vertical .Tab--selected{border-right:.1666666667em solid #000}.theme-light .Tab--selected.Tab--color--black{color:#404040}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#000}.theme-light .Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#000}.theme-light .Tab--selected.Tab--color--white{color:#ececec}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#e6e6e6}.theme-light .Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#e6e6e6}.theme-light .Tab--selected.Tab--color--red{color:#e14d4d}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#c82121}.theme-light .Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#c82121}.theme-light .Tab--selected.Tab--color--orange{color:#f48942}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#e6630d}.theme-light .Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#e6630d}.theme-light .Tab--selected.Tab--color--yellow{color:#fcdd33}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#e5c304}.theme-light .Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#e5c304}.theme-light .Tab--selected.Tab--color--olive{color:#d0e732}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#a3b816}.theme-light .Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#a3b816}.theme-light .Tab--selected.Tab--color--green{color:#33da5a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#1d9f3b}.theme-light .Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#1d9f3b}.theme-light .Tab--selected.Tab--color--teal{color:#00faef}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00a39c}.theme-light .Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00a39c}.theme-light .Tab--selected.Tab--color--blue{color:#419ce1}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#1e78bb}.theme-light .Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#1e78bb}.theme-light .Tab--selected.Tab--color--dark-blue{color:#0079d7}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--dark-blue{border-bottom-color:#004274}.theme-light .Tabs--vertical .Tab--selected.Tab--color--dark-blue{border-right-color:#004274}.theme-light .Tab--selected.Tab--color--violet{color:#7f58d3}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#5a30b5}.theme-light .Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#5a30b5}.theme-light .Tab--selected.Tab--color--purple{color:#b455d4}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#932eb4}.theme-light .Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#932eb4}.theme-light .Tab--selected.Tab--color--pink{color:#e558a7}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#db228a}.theme-light .Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#db228a}.theme-light .Tab--selected.Tab--color--brown{color:#c0825a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#955d39}.theme-light .Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#955d39}.theme-light .Tab--selected.Tab--color--grey{color:#ececec}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#e6e6e6}.theme-light .Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#e6e6e6}.theme-light .Tab--selected.Tab--color--light-grey{color:#b3b3b3}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--light-grey{border-bottom-color:#999}.theme-light .Tabs--vertical .Tab--selected.Tab--color--light-grey{border-right-color:#999}.theme-light .Tab--selected.Tab--color--good{color:#77d23b}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#529923}.theme-light .Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#529923}.theme-light .Tab--selected.Tab--color--average{color:#f3a23a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#da810e}.theme-light .Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#da810e}.theme-light .Tab--selected.Tab--color--bad{color:#e14d4d}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#c82121}.theme-light .Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#c82121}.theme-light .Tab--selected.Tab--color--label{color:#686868}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#353535}.theme-light .Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#353535}.theme-light .Tab--selected.Tab--color--xeno{color:#7e558e}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--xeno{border-bottom-color:#4a3253}.theme-light .Tabs--vertical .Tab--selected.Tab--color--xeno{border-right-color:#4a3253}.theme-light .Section{position:relative;margin-bottom:.5em;background-color:#fff;background-color:#fff;box-sizing:border-box}.theme-light .Section:last-child{margin-bottom:0}.theme-light .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #fff}.theme-light .Section__titleText{font-size:1.1666666667em;font-weight:bold;color:#000}.theme-light .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-light .Section__rest{position:relative}.theme-light .Section__content{padding:.66em .5em}.theme-light .Section--fitted>.Section__rest>.Section__content{padding:0}.theme-light .Section--fill{display:flex;flex-direction:column;height:100%}.theme-light .Section--fill>.Section__rest{flex-grow:1}.theme-light .Section--fill>.Section__rest>.Section__content{height:100%}.theme-light .Section--fill.Section--scrollable>.Section__rest>.Section__content{position:absolute;top:0;left:0;right:0;bottom:0}.theme-light .Section--fill.Section--iefix{display:table !important;width:100% !important;height:100% !important;border-collapse:collapse;border-spacing:0}.theme-light .Section--fill.Section--iefix>.Section__rest{display:table-row !important;height:100% !important}.theme-light .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollable>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:hidden}.theme-light .Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:hidden;overflow-x:scroll}.theme-light .Section--scrollable.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:scroll}.theme-light .Section .Section{background-color:rgba(0,0,0,0);margin-left:-0.5em;margin-right:-0.5em}.theme-light .Section .Section:first-child{margin-top:-0.5em}.theme-light .Section .Section .Section__titleText{font-size:1.0833333333em}.theme-light .Section .Section .Section .Section__titleText{font-size:1em}.theme-light .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-light .Button .fa,.theme-light .Button .fas,.theme-light .Button .far{margin-left:-0.25em;margin-right:-0.25em;min-width:1.333em;text-align:center}.theme-light .Button--hasContent .fa,.theme-light .Button--hasContent .fas,.theme-light .Button--hasContent .far{margin-right:.25em}.theme-light .Button--hasContent.Button--iconPosition--right .fa,.theme-light .Button--hasContent.Button--iconPosition--right .fas,.theme-light .Button--hasContent.Button--iconPosition--right .far{margin-right:0px;margin-left:3px}.theme-light .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-light .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-light .Button--circular{border-radius:50%}.theme-light .Button--compact{padding:0 .25em;line-height:1.333em}.theme-light .Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.theme-light .Button--color--black:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--black:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--black:hover,.theme-light .Button--color--black:focus{background-color:#131313;color:#fff}.theme-light .Button--color--white{transition:color 50ms,background-color 50ms;background-color:#bfbfbf;color:#000}.theme-light .Button--color--white:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--white:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--white:hover,.theme-light .Button--color--white:focus{background-color:#efefef;color:#000}.theme-light .Button--color--red{transition:color 50ms,background-color 50ms;background-color:#a61c1c;color:#fff}.theme-light .Button--color--red:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--red:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--red:hover,.theme-light .Button--color--red:focus{background-color:#d23333;color:#fff}.theme-light .Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#c0530b;color:#fff}.theme-light .Button--color--orange:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--orange:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--orange:hover,.theme-light .Button--color--orange:focus{background-color:#ea7426;color:#fff}.theme-light .Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#bfa303;color:#fff}.theme-light .Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--yellow:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--yellow:hover,.theme-light .Button--color--yellow:focus{background-color:#efce17;color:#fff}.theme-light .Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#889912;color:#fff}.theme-light .Button--color--olive:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--olive:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--olive:hover,.theme-light .Button--color--olive:focus{background-color:#afc328;color:#fff}.theme-light .Button--color--green{transition:color 50ms,background-color 50ms;background-color:#188532;color:#fff}.theme-light .Button--color--green:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--green:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--green:hover,.theme-light .Button--color--green:focus{background-color:#2fac4c;color:#fff}.theme-light .Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#008882;color:#fff}.theme-light .Button--color--teal:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--teal:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--teal:hover,.theme-light .Button--color--teal:focus{background-color:#13afa9;color:#fff}.theme-light .Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#19649c;color:#fff}.theme-light .Button--color--blue:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--blue:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--blue:hover,.theme-light .Button--color--blue:focus{background-color:#3086c7;color:#fff}.theme-light .Button--color--dark-blue{transition:color 50ms,background-color 50ms;background-color:#003761;color:#fff}.theme-light .Button--color--dark-blue:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--dark-blue:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--dark-blue:hover,.theme-light .Button--color--dark-blue:focus{background-color:#135283;color:#fff}.theme-light .Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#4b2897;color:#fff}.theme-light .Button--color--violet:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--violet:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--violet:hover,.theme-light .Button--color--violet:focus{background-color:#6a41c1;color:#fff}.theme-light .Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#7a2696;color:#fff}.theme-light .Button--color--purple:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--purple:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--purple:hover,.theme-light .Button--color--purple:focus{background-color:#a03fc0;color:#fff}.theme-light .Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#b61d73;color:#fff}.theme-light .Button--color--pink:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--pink:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--pink:hover,.theme-light .Button--color--pink:focus{background-color:#da3f96;color:#fff}.theme-light .Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#7c4d2f;color:#fff}.theme-light .Button--color--brown:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--brown:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--brown:hover,.theme-light .Button--color--brown:focus{background-color:#a26c49;color:#fff}.theme-light .Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#bfbfbf;color:#000}.theme-light .Button--color--grey:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--grey:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--grey:hover,.theme-light .Button--color--grey:focus{background-color:#efefef;color:#000}.theme-light .Button--color--light-grey{transition:color 50ms,background-color 50ms;background-color:gray;color:#fff}.theme-light .Button--color--light-grey:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--light-grey:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--light-grey:hover,.theme-light .Button--color--light-grey:focus{background-color:#a6a6a6;color:#fff}.theme-light .Button--color--good{transition:color 50ms,background-color 50ms;background-color:#44801d;color:#fff}.theme-light .Button--color--good:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--good:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--good:hover,.theme-light .Button--color--good:focus{background-color:#62a635;color:#fff}.theme-light .Button--color--average{transition:color 50ms,background-color 50ms;background-color:#b56b0b;color:#fff}.theme-light .Button--color--average:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--average:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--average:hover,.theme-light .Button--color--average:focus{background-color:#e48f20;color:#fff}.theme-light .Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#a61c1c;color:#fff}.theme-light .Button--color--bad:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--bad:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--bad:hover,.theme-light .Button--color--bad:focus{background-color:#d23333;color:#fff}.theme-light .Button--color--label{transition:color 50ms,background-color 50ms;background-color:#2c2c2c;color:#fff}.theme-light .Button--color--label:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--label:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--label:hover,.theme-light .Button--color--label:focus{background-color:#464646;color:#fff}.theme-light .Button--color--xeno{transition:color 50ms,background-color 50ms;background-color:#3e2945;color:#fff}.theme-light .Button--color--xeno:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--xeno:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--xeno:hover,.theme-light .Button--color--xeno:focus{background-color:#5a4363;color:#fff}.theme-light .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#bbb;color:#000}.theme-light .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--default:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--default:hover,.theme-light .Button--color--default:focus{background-color:#eaeaea;color:#000}.theme-light .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-light .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--caution:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--caution:hover,.theme-light .Button--color--caution:focus{background-color:#ec8420;color:#fff}.theme-light .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-light .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--danger:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--danger:hover,.theme-light .Button--color--danger:focus{background-color:#c4c813;color:#fff}.theme-light .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#eee;color:#000;background-color:rgba(238,238,238,0);color:rgba(0,0,0,.5)}.theme-light .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--transparent:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--transparent:hover,.theme-light .Button--color--transparent:focus{background-color:#fcfcfc;color:#000}.theme-light .Button--disabled{background-color:#363636 !important}.theme-light .Button--selected{transition:color 50ms,background-color 50ms;background-color:#0668b8;color:#fff}.theme-light .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--selected:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--selected:hover,.theme-light .Button--selected:focus{background-color:#1a8be7;color:#fff}.theme-light .Button--flex{display:inline-flex;flex-direction:column}.theme-light .Button--flex--fluid{width:100%}.theme-light .Button--verticalAlignContent--top{justify-content:flex-start}.theme-light .Button--verticalAlignContent--middle{justify-content:center}.theme-light .Button--verticalAlignContent--bottom{justify-content:flex-end}.theme-light .Button__content{display:block;align-self:stretch}.theme-light .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#000;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-light .Input--fluid{display:block;width:auto}.theme-light .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-light .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#000;color:inherit}.theme-light .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Input--monospace .Input__input{font-family:"Consolas",monospace}.theme-light .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#000;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-light .Input--fluid{display:block;width:auto}.theme-light .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-light .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#000;color:inherit}.theme-light .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Input--monospace .Input__input{font-family:"Consolas",monospace}.theme-light .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#353535;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-light .NumberInput--fluid{display:block}.theme-light .NumberInput__content{margin-left:.5em}.theme-light .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-light .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #353535;background-color:#353535}.theme-light .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#fff;color:#000;text-align:right}.theme-light .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#000;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-light .Input--fluid{display:block;width:auto}.theme-light .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-light .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#000;color:inherit}.theme-light .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Input--monospace .Input__input{font-family:"Consolas",monospace}.theme-light .TextArea{position:relative;display:inline-block;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;background-color:#fff;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.theme-light .TextArea--fluid{display:block;width:auto;height:auto}.theme-light .TextArea--noborder{border:0px}.theme-light .TextArea__textarea.TextArea__textarea--scrollable{overflow:auto;overflow-x:hidden;overflow-y:scroll}.theme-light .TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:rgba(0,0,0,0);color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.theme-light .TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .TextArea__textarea_custom{overflow:visible;white-space:pre-wrap}.theme-light .Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto;margin-bottom:-0.2em;cursor:n-resize}.theme-light .Knob:after{content:".";color:rgba(0,0,0,0);line-height:2.5em}.theme-light .Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 100%);border-radius:50%;box-shadow:0 .05em .5em 0 rgba(0,0,0,.5)}.theme-light .Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.theme-light .Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:rgba(255,255,255,.9)}.theme-light .Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.theme-light .Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.theme-light .Knob__ringTrackPivot{transform:rotateZ(135deg)}.theme-light .Knob__ringTrack{fill:rgba(0,0,0,0);stroke:rgba(255,255,255,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.theme-light .Knob__ringFillPivot{transform:rotateZ(135deg)}.theme-light .Knob--bipolar .Knob__ringFillPivot{transform:rotateZ(270deg)}.theme-light .Knob__ringFill{fill:rgba(0,0,0,0);stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms ease-out}.theme-light .Knob--color--black .Knob__ringFill{stroke:#000}.theme-light .Knob--color--white .Knob__ringFill{stroke:#e6e6e6}.theme-light .Knob--color--red .Knob__ringFill{stroke:#c82121}.theme-light .Knob--color--orange .Knob__ringFill{stroke:#e6630d}.theme-light .Knob--color--yellow .Knob__ringFill{stroke:#e5c304}.theme-light .Knob--color--olive .Knob__ringFill{stroke:#a3b816}.theme-light .Knob--color--green .Knob__ringFill{stroke:#1d9f3b}.theme-light .Knob--color--teal .Knob__ringFill{stroke:#00a39c}.theme-light .Knob--color--blue .Knob__ringFill{stroke:#1e78bb}.theme-light .Knob--color--dark-blue .Knob__ringFill{stroke:#004274}.theme-light .Knob--color--violet .Knob__ringFill{stroke:#5a30b5}.theme-light .Knob--color--purple .Knob__ringFill{stroke:#932eb4}.theme-light .Knob--color--pink .Knob__ringFill{stroke:#db228a}.theme-light .Knob--color--brown .Knob__ringFill{stroke:#955d39}.theme-light .Knob--color--grey .Knob__ringFill{stroke:#e6e6e6}.theme-light .Knob--color--light-grey .Knob__ringFill{stroke:#999}.theme-light .Knob--color--good .Knob__ringFill{stroke:#529923}.theme-light .Knob--color--average .Knob__ringFill{stroke:#da810e}.theme-light .Knob--color--bad .Knob__ringFill{stroke:#c82121}.theme-light .Knob--color--label .Knob__ringFill{stroke:#353535}.theme-light .Knob--color--xeno .Knob__ringFill{stroke:#4a3253}.theme-light .Slider{cursor:e-resize}.theme-light .Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none !important}.theme-light .Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #000}.theme-light .Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid rgba(0,0,0,0);border-right:.4166666667em solid rgba(0,0,0,0);border-bottom:.4166666667em solid #000}.theme-light .Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.theme-light .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-width:.0833333333em !important;border-style:solid !important;border-radius:.16em;background-color:rgba(0,0,0,0);transition:border-color 900ms ease-out}.theme-light .ProgressBar__fill{position:absolute;top:-0.5px;left:0px;bottom:-0.5px}.theme-light .ProgressBar__fill--animated{transition:background-color 900ms ease-out,width 900ms ease-out}.theme-light .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-light .ProgressBar--color--default{border:.0833333333em solid #bfbfbf}.theme-light .ProgressBar--color--default .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--black{border-color:#000 !important}.theme-light .ProgressBar--color--black .ProgressBar__fill{background-color:#000}.theme-light .ProgressBar--color--white{border-color:#bfbfbf !important}.theme-light .ProgressBar--color--white .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--red{border-color:#a61c1c !important}.theme-light .ProgressBar--color--red .ProgressBar__fill{background-color:#a61c1c}.theme-light .ProgressBar--color--orange{border-color:#c0530b !important}.theme-light .ProgressBar--color--orange .ProgressBar__fill{background-color:#c0530b}.theme-light .ProgressBar--color--yellow{border-color:#bfa303 !important}.theme-light .ProgressBar--color--yellow .ProgressBar__fill{background-color:#bfa303}.theme-light .ProgressBar--color--olive{border-color:#889912 !important}.theme-light .ProgressBar--color--olive .ProgressBar__fill{background-color:#889912}.theme-light .ProgressBar--color--green{border-color:#188532 !important}.theme-light .ProgressBar--color--green .ProgressBar__fill{background-color:#188532}.theme-light .ProgressBar--color--teal{border-color:#008882 !important}.theme-light .ProgressBar--color--teal .ProgressBar__fill{background-color:#008882}.theme-light .ProgressBar--color--blue{border-color:#19649c !important}.theme-light .ProgressBar--color--blue .ProgressBar__fill{background-color:#19649c}.theme-light .ProgressBar--color--dark-blue{border-color:#003761 !important}.theme-light .ProgressBar--color--dark-blue .ProgressBar__fill{background-color:#003761}.theme-light .ProgressBar--color--violet{border-color:#4b2897 !important}.theme-light .ProgressBar--color--violet .ProgressBar__fill{background-color:#4b2897}.theme-light .ProgressBar--color--purple{border-color:#7a2696 !important}.theme-light .ProgressBar--color--purple .ProgressBar__fill{background-color:#7a2696}.theme-light .ProgressBar--color--pink{border-color:#b61d73 !important}.theme-light .ProgressBar--color--pink .ProgressBar__fill{background-color:#b61d73}.theme-light .ProgressBar--color--brown{border-color:#7c4d2f !important}.theme-light .ProgressBar--color--brown .ProgressBar__fill{background-color:#7c4d2f}.theme-light .ProgressBar--color--grey{border-color:#bfbfbf !important}.theme-light .ProgressBar--color--grey .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--light-grey{border-color:gray !important}.theme-light .ProgressBar--color--light-grey .ProgressBar__fill{background-color:gray}.theme-light .ProgressBar--color--good{border-color:#44801d !important}.theme-light .ProgressBar--color--good .ProgressBar__fill{background-color:#44801d}.theme-light .ProgressBar--color--average{border-color:#b56b0b !important}.theme-light .ProgressBar--color--average .ProgressBar__fill{background-color:#b56b0b}.theme-light .ProgressBar--color--bad{border-color:#a61c1c !important}.theme-light .ProgressBar--color--bad .ProgressBar__fill{background-color:#a61c1c}.theme-light .ProgressBar--color--label{border-color:#2c2c2c !important}.theme-light .ProgressBar--color--label .ProgressBar__fill{background-color:#2c2c2c}.theme-light .ProgressBar--color--xeno{border-color:#3e2945 !important}.theme-light .ProgressBar--color--xeno .ProgressBar__fill{background-color:#3e2945}.theme-light .Chat{color:#000}.theme-light .Chat__badge{display:inline-block;min-width:.5em;font-size:.7em;padding:.2em .3em;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:crimson;border-radius:10px;transition:font-size 200ms ease-out}.theme-light .Chat__badge:before{content:"x"}.theme-light .Chat__badge--animate{font-size:.9em;transition:font-size 0ms}.theme-light .Chat__scrollButton{position:fixed;right:2em;bottom:1em}.theme-light .Chat__reconnected{font-size:.85em;text-align:center;margin:1em 0 2em}.theme-light .Chat__reconnected:before{content:"Reconnected";display:inline-block;border-radius:1em;padding:0 .7em;color:#db2828;background-color:#fff}.theme-light .Chat__reconnected:after{content:"";display:block;margin-top:-0.75em;border-bottom:.1666666667em solid #db2828}.theme-light .Chat__highlight{color:#000}.theme-light .Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:bold}.theme-light .ChatMessage{word-wrap:break-word}.theme-light .ChatMessage--highlighted{position:relative;border-left:.1666666667em solid #fd4;padding-left:.5em}.theme-light .ChatMessage--highlighted:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(255,221,68,.1);pointer-events:none}.theme-light .Layout,.theme-light .Layout *{scrollbar-base-color:#f2f2f2;scrollbar-face-color:#d6d6d6;scrollbar-3dlight-color:#eee;scrollbar-highlight-color:#eee;scrollbar-track-color:#f2f2f2;scrollbar-arrow-color:#777;scrollbar-shadow-color:#d6d6d6}.theme-light .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-light .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-light .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#000;background-color:#eee;background-image:linear-gradient(to bottom, #eeeeee 0%, #eeeeee 100%)}.theme-light .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-light .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-light .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-light .Window__contentPadding:after{height:0}.theme-light .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-light .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(252,252,252,.25);pointer-events:none}.theme-light .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-light .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-light .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-light .TitleBar{background-color:#eee;border-bottom:1px solid rgba(0,0,0,.25);box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-light .TitleBar__clickable{color:rgba(0,0,0,.5);background-color:#eee;transition:color 250ms ease-out,background-color 250ms ease-out}.theme-light .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-light .TitleBar__title{position:absolute;display:inline-block;top:0;left:46px;left:3.8333333333rem;color:rgba(0,0,0,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap;pointer-events:none}.theme-light .TitleBar__buttons{pointer-events:initial;display:inline-block;width:100%;margin-left:10px}.theme-light .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-light .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px !important;line-height:2.6666666667rem !important}.theme-light .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-light .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:2px 4px;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-light html,.theme-light body{padding:0;margin:0;height:100%;color:#000}.theme-light body{background:#fff;font-family:Verdana,sans-serif;font-size:13px;line-height:1.2;overflow-x:hidden;overflow-y:scroll;word-wrap:break-word}.theme-light em{font-style:normal;font-weight:bold}.theme-light img{margin:0;padding:0;line-height:1;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}.theme-light img.icon{height:1em;min-height:16px;width:auto;vertical-align:bottom}.theme-light a{color:blue}.theme-light a.visited{color:#f0f}.theme-light a:visited{color:#f0f}.theme-light a.popt{text-decoration:none}.theme-light .popup{position:fixed;top:50%;left:50%;background:#ddd}.theme-light .popup .close{position:absolute;background:#aaa;top:0;right:0;color:#333;text-decoration:none;z-index:2;padding:0 10px;height:30px;line-height:30px}.theme-light .popup .close:hover{background:#999}.theme-light .popup .head{background:#999;color:#ddd;padding:0 10px;height:30px;line-height:30px;text-transform:uppercase;font-size:.9em;font-weight:bold;border-bottom:2px solid green}.theme-light .popup input{border:1px solid #999;background:#fff;margin:0;padding:5px;outline:none;color:#333}.theme-light .popup input[type=text]:hover,.theme-light .popup input[type=text]:active,.theme-light .popup input[type=text]:focus{border-color:green}.theme-light .popup input[type=submit]{padding:5px 10px;background:#999;color:#ddd;text-transform:uppercase;font-size:.9em;font-weight:bold}.theme-light .popup input[type=submit]:hover,.theme-light .popup input[type=submit]:focus,.theme-light .popup input[type=submit]:active{background:#aaa;cursor:pointer}.theme-light .changeFont{padding:10px}.theme-light .changeFont a{display:block;text-decoration:none;padding:3px;color:#333}.theme-light .changeFont a:hover{background:#ccc}.theme-light .highlightPopup{padding:10px;text-align:center}.theme-light .highlightPopup input[type=text]{display:block;width:215px;text-align:left;margin-top:5px}.theme-light .highlightPopup input.highlightColor{background-color:#ff0}.theme-light .highlightPopup input.highlightTermSubmit{margin-top:5px}.theme-light .contextMenu{background-color:#ddd;position:fixed;margin:2px;width:150px}.theme-light .contextMenu a{display:block;padding:2px 5px;text-decoration:none;color:#333}.theme-light .contextMenu a:hover{background-color:#ccc}.theme-light .filterMessages{padding:5px}.theme-light .filterMessages div{padding:2px 0}.theme-light .icon-stack{height:1em;line-height:1em;width:1em;vertical-align:middle;margin-top:-2px}.theme-light .motd{color:#638500;font-family:Verdana,sans-serif;white-space:normal}.theme-light .motd h1,.theme-light .motd h2,.theme-light .motd h3,.theme-light .motd h4,.theme-light .motd h5,.theme-light .motd h6{color:#638500;text-decoration:underline}.theme-light .motd a,.theme-light .motd a:link,.theme-light .motd a:visited,.theme-light .motd a:active,.theme-light .motd a:hover{color:#638500}.theme-light .bold,.theme-light .name,.theme-light .prefix,.theme-light .ooc,.theme-light .looc,.theme-light .adminooc,.theme-light .admin,.theme-light .niche,.theme-light .medal,.theme-light .yell{font-weight:bold}.theme-light .italic,.theme-light .italics{font-style:italic}.theme-light .highlight{background:#ff0}.theme-light h1,.theme-light h2,.theme-light h3,.theme-light h4,.theme-light h5,.theme-light h6{color:blue;font-family:Georgia,Verdana,sans-serif}.theme-light h1.alert,.theme-light h2.alert{color:#000}.theme-light em{font-style:normal;font-weight:bold}.theme-light .ooc{font-weight:bold}.theme-light .adminobserverooc{color:#09c;font-weight:bold}.theme-light .adminooc{color:#700038;font-weight:bold}.theme-light .adminsay{color:#ff4500;font-weight:bold}.theme-light .admin{color:#4473ff;font-weight:bold}.theme-light .niche{color:#4473ff;font-weight:bold}.theme-light .name{font-weight:bold}.theme-light .deadsay{color:#5c00e6}.theme-light .binarysay{color:#20c20e;background-color:#000;display:block}.theme-light .binarysay a{color:lime}.theme-light .binarysay a:active,.theme-light .binarysay a:visited{color:#8f8}.theme-light .radio{color:green}.theme-light .sciradio{color:#939}.theme-light .comradio{color:#948f02}.theme-light .secradio{color:#a30000}.theme-light .medradio{color:#337296}.theme-light .engradio{color:#fb5613}.theme-light .sentryradio{color:#844300}.theme-light .suppradio{color:#a8732b}.theme-light .servradio{color:#6eaa2c}.theme-light .syndradio{color:#6d3f40}.theme-light .gangradio{color:#ac2ea1}.theme-light .centcomradio{color:#686868}.theme-light .aiprivradio{color:#f0f}.theme-light .redteamradio{color:red}.theme-light .blueteamradio{color:blue}.theme-light .greenteamradio{color:lime}.theme-light .yellowteamradio{color:#d1ba22}.theme-light .yell{font-weight:bold}.theme-light .alert{color:red}.theme-light h1.alert,.theme-light h2.alert{color:#000}.theme-light .userdanger{color:red;font-weight:bold;font-size:185%}.theme-light .bolddanger{color:red;font-weight:bold}.theme-light .danger{color:red}.theme-light .tinydanger{color:red;font-size:85%}.theme-light .smalldanger{color:red;font-size:90%}.theme-light .warning{color:red;font-style:italic}.theme-light .alertwarning{color:red;font-weight:bold}.theme-light .boldwarning{color:red;font-style:italic;font-weight:bold}.theme-light .announce{color:#228b22;font-weight:bold}.theme-light .boldannounce{color:red;font-weight:bold}.theme-light .bigannounce{font-weight:bold;font-size:115%}.theme-light .greenannounce{color:lime;font-weight:bold}.theme-light .rose{color:#ff5050}.theme-light .info{color:#00c}.theme-light .notice{color:#009}.theme-light .staff_ic{color:#009}.theme-light .tinynotice{color:#009;font-size:85%}.theme-light .tinynoticeital{color:#009;font-style:italic;font-size:85%}.theme-light .smallnotice{color:#009;font-size:90%}.theme-light .smallnoticeital{color:#009;font-style:italic;font-size:90%}.theme-light .boldnotice{color:#009;font-weight:bold}.theme-light .hear{color:#009;font-style:italic}.theme-light .adminnotice{color:blue}.theme-light .adminhelp{color:red;font-weight:bold}.theme-light .unconscious{color:blue;font-weight:bold}.theme-light .suicide{color:#ff5050;font-style:italic}.theme-light .green{color:#03ff39}.theme-light .grey{color:#838383}.theme-light .red{color:red}.theme-light .blue{color:blue}.theme-light .nicegreen{color:#14a833}.theme-light .boldnicegreen{color:#14a833;font-weight:bold}.theme-light .cult{color:#973e3b}.theme-light .cultitalic{color:#973e3b;font-style:italic}.theme-light .cultbold{color:#973e3b;font-style:italic;font-weight:bold}.theme-light .cultboldtalic{color:#973e3b;font-weight:bold;font-size:185%}.theme-light .cultlarge{color:#973e3b;font-weight:bold;font-size:185%}.theme-light .narsie{color:#973e3b;font-weight:bold;font-size:925%}.theme-light .narsiesmall{color:#973e3b;font-weight:bold;font-size:370%}.theme-light .colossus{color:#7f282a;font-size:310%}.theme-light .hierophant{color:#609;font-weight:bold;font-style:italic}.theme-light .hierophant_warning{color:#609;font-style:italic}.theme-light .purple{color:#5e2d79}.theme-light .holoparasite{color:#35333a}.theme-light .revennotice{color:#1d2953}.theme-light .revenboldnotice{color:#1d2953;font-weight:bold}.theme-light .revenbignotice{color:#1d2953;font-weight:bold;font-size:185%}.theme-light .revenminor{color:#823abb}.theme-light .revenwarning{color:#760fbb;font-style:italic}.theme-light .revendanger{color:#760fbb;font-weight:bold;font-size:185%}.theme-light .deconversion_message{color:#5000a0;font-size:185%;font-style:italic}.theme-light .ghostalert{color:#5c00e6;font-style:italic;font-weight:bold}.theme-light .alien{color:#543354}.theme-light .noticealien{color:#00c000}.theme-light .alertalien{color:#00c000;font-weight:bold}.theme-light .changeling{color:purple;font-style:italic}.theme-light .alertsyndie{color:red;font-size:185%;font-weight:bold}.theme-light .spider{color:#4d004d;font-weight:bold;font-size:185%}.theme-light .interface{color:#303}.theme-light .sans{font-family:"Comic Sans MS",cursive,sans-serif}.theme-light .papyrus{font-family:"Papyrus",cursive,sans-serif}.theme-light .robot{font-family:"Courier New",cursive,sans-serif}.theme-light .tape_recorder{color:maroon;font-family:"Courier New",cursive,sans-serif}.theme-light .command_headset{font-weight:bold;font-size:160%}.theme-light .small{font-size:60%}.theme-light .big{font-size:185%}.theme-light .reallybig{font-size:245%}.theme-light .extremelybig{font-size:310%}.theme-light .greentext{color:lime;font-size:185%}.theme-light .redtext{color:red;font-size:185%}.theme-light .clown{color:#ff69bf;font-size:160%;font-family:"Comic Sans MS",cursive,sans-serif;font-weight:bold}.theme-light .singing{font-family:"Trebuchet MS",cursive,sans-serif;font-style:italic}.theme-light .his_grace{color:#15d512;font-family:"Courier New",cursive,sans-serif;font-style:italic}.theme-light .hypnophrase{color:#0d0d0d;font-weight:bold;animation:hypnocolor 1500ms infinite;animation-direction:alternate}@keyframes hypnocolor{0%{color:#0d0d0d}25%{color:#410194}50%{color:#7f17d8}75%{color:#410194}100%{color:#3bb5d3}}.theme-light .phobia{color:#d00;font-weight:bold;animation:phobia 750ms infinite}@keyframes phobia{0%{color:#0d0d0d}50%{color:#d00}100%{color:#0d0d0d}}.theme-light .icon{height:1em;width:auto}.theme-light .bigicon{font-size:2.5em}.theme-light .memo{color:#638500;text-align:center}.theme-light .memoedit{text-align:center;font-size:125%}.theme-light .abductor{color:purple;font-style:italic}.theme-light .mind_control{color:#a00d6f;font-size:100%;font-weight:bold;font-style:italic}.theme-light .slime{color:#00ced1}.theme-light .drone{color:#848482}.theme-light .monkey{color:#975032}.theme-light .swarmer{color:#2c75ff}.theme-light .resonate{color:#298f85}.theme-light .monkeyhive{color:#774704}.theme-light .monkeylead{color:#774704;font-size:80%}.theme-light .connectionClosed,.theme-light .fatalError{background:red;color:#fff;padding:5px}.theme-light .connectionClosed.restored{background:green}.theme-light .internal.boldnshit{color:blue;font-weight:bold}.theme-light .text-normal{font-weight:normal;font-style:normal}.theme-light .hidden{display:none;visibility:hidden}.theme-light .ml-1{margin-left:1em}.theme-light .ml-2{margin-left:2em}.theme-light .ml-3{margin-left:3em}.theme-light .xooc{color:#6c0094;font-weight:bold;font-size:140%}.theme-light .mooc{color:#090;font-weight:bold;font-size:140%}.theme-light .yooc{color:#999600;font-weight:bold;font-size:140%}.theme-light .headminsay{color:#5a0a7f;font-weight:bold}.theme-light .radio{color:#4e4e4e}.theme-light .deptradio{color:#939}.theme-light .comradio{color:#004080}.theme-light .centradio{color:#5c5c8a}.theme-light .cryoradio{color:#554e3f}.theme-light .hcradio{color:#318779}.theme-light .pvstradio{color:#9b0612}.theme-light .airadio{color:#f0f}.theme-light .secradio{color:#a30000}.theme-light .engradio{color:#a66300}.theme-light .sentryradio{color:#844300}.theme-light .medradio{color:#008160}.theme-light .supradio{color:#5f4519}.theme-light .jtacradio{color:#702963}.theme-light .intelradio{color:#027d02}.theme-light .wyradio{color:#fe9b24}.theme-light .pmcradio{color:#136957}.theme-light .vairadio{color:#943d0a}.theme-light .cmbradio{color:#1b748c}.theme-light .clfradio{color:#6f679c}.theme-light .alpharadio{color:#ea0000}.theme-light .bravoradio{color:#c68610}.theme-light .charlieradio{color:#a5a}.theme-light .deltaradio{color:#007fcf}.theme-light .echoradio{color:#3a7e65}.theme-light .medium{font-size:110%}.theme-light .big{font-size:115%}.theme-light .large{font-size:125%}.theme-light .extra_large{font-size:130%}.theme-light .huge{font-size:150%}.theme-light .underline{text-decoration:underline}.theme-light .orange{color:#eca100}.theme-light .normal{font-style:normal}.theme-light .attack{color:red}.theme-light .moderate{color:#c00}.theme-light .disarm{color:#900}.theme-light .passive{color:#600}.theme-light .helpful{color:#368f31}.theme-light .scanner{color:red}.theme-light .scannerb{color:red;font-weight:bold}.theme-light .scannerburn{color:orange}.theme-light .scannerburnb{color:orange;font-weight:bold}.theme-light .rose{color:#ff5050}.theme-light .debuginfo{color:#493d26;font-style:italic}.theme-light .xenonotice{color:#2a623d}.theme-light .xenoboldnotice{color:#2a623d;font-weight:bold}.theme-light .xenowarning{color:#2a623d;font-style:italic}.theme-light .xenominorwarning{color:#2a623d;font-weight:bold;font-style:italic}.theme-light .xenodanger{color:#2a623d;font-weight:bold}.theme-light .avoidharm{color:#72a0e5;font-weight:bold}.theme-light .highdanger{color:red;font-weight:bold;font-size:140%}.theme-light .xenohighdanger{color:#2a623d;font-weight:bold;font-size:140%}.theme-light .xenoannounce{color:#1a472a;font-family:book-antiqua;font-weight:bold;font-size:140%}.theme-light .yautjabold{color:purple;font-weight:bold}.theme-light .yautjaboldbig{color:purple;font-weight:bold;font-size:120%}.theme-light .objectivebig{font-weight:bold;font-size:130%}.theme-light .objectivegreen{color:lime}.theme-light .objectivered{color:red}.theme-light .objectivesuccess{color:lime;font-weight:bold;font-size:110%}.theme-light .objectivefail{color:red;font-weight:bold;font-size:110%}.theme-light .xenotalk,.theme-light .xeno{color:#900090;font-style:italic}.theme-light .xenoleader{color:#730d73;font-style:italic;font-size:125%}.theme-light .xenoqueen{color:#730d73;font-style:italic;font-weight:bold;font-size:125%}.theme-light .newscaster{color:maroon}.theme-light .role_header{color:#db0000;display:block;text-align:center;font-weight:bold;font-family:trebuchet-ms;font-size:150%}.theme-light .role_body{color:#009;display:block;text-align:center;font-size:125%}.theme-light .round_header{color:#db0000;display:block;text-align:center;font-family:courier;font-weight:bold;font-size:180%}.theme-light .round_body{color:#001427;display:block;text-align:center;font-family:trebuchet-ms;font-weight:bold;font-size:125%}.theme-light .event_announcement{color:#600d48;font-family:arial-narrow;font-weight:bold;font-size:125%}.theme-light .announce_header{color:#000;font-weight:bold;font-size:150%}.theme-light .announce_header_blue{color:#009;font-weight:bold;font-size:150%}.theme-light .announce_body{color:red;font-weight:normal;font-size:125%}.theme-light .centerbold{display:block;text-align:center;font-weight:bold}.theme-light .mod{color:#735638;font-weight:bold}.theme-light .modooc{color:#184880;font-weight:bold}.theme-light .adminmod{color:#402a14;font-weight:bold}.theme-light .mentorsay{color:#b38c32;font-weight:bold}.theme-light .mentorhelp{color:#007e00;font-weight:bold}.theme-light .mentorbody{color:#da6200;font-weight:bold}.theme-light .mentorstaff{color:#876101;font-weight:bold}.theme-light .staffsay{color:#876101;font-weight:bold}.theme-light .tajaran{color:#803b56}.theme-light .tajaran_signlang{color:#941c1c}.theme-light .skrell{color:#00ced1}.theme-light .soghun{color:#228b22}.theme-light .changeling{color:purple}.theme-light .vox{color:#a0a}.theme-light .monkey{color:#966c47}.theme-light .german{color:#858f1e;font-family:"Times New Roman",Times,serif}.theme-light .spanish{color:#cf982b}.theme-light .japanese{color:#940927}.theme-light .chinese{color:#fe1919}.theme-light .zombie{color:#216163;font-style:italic}.theme-light .commando{color:#fe9b24;font-style:bold}.theme-light .rough{font-family:trebuchet-ms,cursive,sans-serif}.theme-light .say_quote{font-family:Georgia,Verdana,sans-serif}.theme-light .admin .message{color:#314cad}.theme-light .admin .prefix{font-weight:bolder}.theme-light .pm{font-size:110%}.theme-light .retro_translator{font-weight:bold}.theme-light .yautja_translator{color:#a00;font-weight:bold;animation:glitch .5s infinite}@keyframes glitch{25%{color:#a00;transform:translate(-2px, -1px)}50%{color:#be0000;transform:translate(1px, -2px)}75%{color:#8d0000;transform:translate(-1px, 2px)}100%{color:#830000;transform:translate(1px, 1px)}}.theme-light .examine_block{background:#f2f7fa;border:1px solid #111a27;margin:.5em;padding:.5em .75em}.theme-light .examine_block .icon{width:1.5em;height:1.5em;margin:0;padding:0}.theme-light .tooltip{font-style:italic;border-bottom:1px dashed #000}
diff --git a/tools/build/build.js b/tools/build/build.js
index 2126cfd77d4c..9efee60ebd31 100644
--- a/tools/build/build.js
+++ b/tools/build/build.js
@@ -173,21 +173,30 @@ export const YarnTarget = new Juke.Target({
export const TgFontTarget = new Juke.Target({
dependsOn: [YarnTarget],
inputs: [
- 'tgui/.yarn/install-target',
- 'tgui/packages/tgfont/**/*.+(js|cjs|svg)',
- 'tgui/packages/tgfont/package.json',
+ "tgui/.yarn/install-target",
+ "tgui/packages/tgfont/**/*.+(js|cjs|svg)",
+ "tgui/packages/tgfont/package.json",
],
outputs: [
- 'tgui/packages/tgfont/dist/tgfont.css',
- 'tgui/packages/tgfont/dist/tgfont.eot',
- 'tgui/packages/tgfont/dist/tgfont.woff2',
+ "tgui/packages/tgfont/dist/tgfont.css",
+ "tgui/packages/tgfont/dist/tgfont.eot",
+ "tgui/packages/tgfont/dist/tgfont.woff2",
],
executes: async () => {
- await yarn('tgfont:build');
- fs.copyFileSync('tgui/packages/tgfont/dist/tgfont.css', 'tgui/packages/tgfont/static/tgfont.css');
- fs.copyFileSync('tgui/packages/tgfont/dist/tgfont.eot', 'tgui/packages/tgfont/static/tgfont.eot');
- fs.copyFileSync('tgui/packages/tgfont/dist/tgfont.woff2', 'tgui/packages/tgfont/static/tgfont.woff2');
- }
+ await yarn("tgfont:build");
+ fs.copyFileSync(
+ "tgui/packages/tgfont/dist/tgfont.css",
+ "tgui/packages/tgfont/static/tgfont.css"
+ );
+ fs.copyFileSync(
+ "tgui/packages/tgfont/dist/tgfont.eot",
+ "tgui/packages/tgfont/static/tgfont.eot"
+ );
+ fs.copyFileSync(
+ "tgui/packages/tgfont/dist/tgfont.woff2",
+ "tgui/packages/tgfont/static/tgfont.woff2"
+ );
+ },
});
export const TguiTarget = new Juke.Target({
@@ -303,8 +312,6 @@ export const CleanTarget = new Juke.Target({
dependsOn: [TguiCleanTarget],
executes: async () => {
Juke.rm("*.{dmb,rsc}");
- Juke.rm("*.mdme*");
- Juke.rm("*.m.*");
Juke.rm("maps/templates.dm");
},
});
diff --git a/tools/build/lib/byond.js b/tools/build/lib/byond.js
index 8b6f081c1c01..2d186e2254c6 100644
--- a/tools/build/lib/byond.js
+++ b/tools/build/lib/byond.js
@@ -139,14 +139,47 @@ export const DreamMaker = async (dmeFile, options = {}) => {
throw err;
}
};
- testOutputFile(`${dmeBaseName}.dmb`);
- testOutputFile(`${dmeBaseName}.rsc`);
- const runWithWarningChecks = async (dmeFile, args) => {
- const execReturn = await Juke.exec(dmeFile, args);
+
+ const testDmVersion = async (dmPath) => {
+ const execReturn = await Juke.exec(dmPath, [], {
+ silent: true,
+ throw: false,
+ });
+ const version = execReturn.combined.match(
+ `DM compiler version (\\d+)\\.(\\d+)`
+ );
+ if (version == null) {
+ Juke.logger.error(
+ `Unexpected DreamMaker return, ensure "${dmPath}" is correct DM path.`
+ );
+ throw new Juke.ExitCode(1);
+ }
+ const requiredMajorVersion = 515;
+ const requiredMinorVersion = 1597; // First with -D switch functionality
+ const major = Number(version[1]);
+ const minor = Number(version[2]);
if (
- options.warningsAsErrors &&
- execReturn.combined.match(/\d+:warning: /)
+ major < requiredMajorVersion ||
+ (major == requiredMajorVersion && minor < requiredMinorVersion)
) {
+ Juke.logger.error(
+ `${requiredMajorVersion}.${requiredMinorVersion} DM version required`
+ );
+ throw new Juke.ExitCode(1);
+ }
+ };
+
+ await testDmVersion(dmPath);
+ testOutputFile(`${dmeBaseName}.dmb`);
+ testOutputFile(`${dmeBaseName}.rsc`);
+ const runWithWarningChecks = async (dmPath, args) => {
+ const execReturn = await Juke.exec(dmPath, args);
+ const ignoredWarningCodes = options.ignoreWarningCodes ?? [];
+ const reg =
+ ignoredWarningCodes.length > 0
+ ? new RegExp(`\d+:warning: (?!(${ignoredWarningCodes.join("|")}))`)
+ : /\d+:warning: /;
+ if (options.warningsAsErrors && execReturn.combined.match(reg)) {
Juke.logger.error(`Compile warnings treated as errors`);
throw new Juke.ExitCode(2);
}
@@ -156,26 +189,11 @@ export const DreamMaker = async (dmeFile, options = {}) => {
const { defines } = options;
if (defines && defines.length > 0) {
Juke.logger.info("Using defines:", defines.join(", "));
- try {
- const injectedContent = defines.map((x) => `#define ${x}\n`).join("");
- fs.writeFileSync(`${dmeBaseName}.m.dme`, injectedContent);
- const dmeContent = fs.readFileSync(`${dmeBaseName}.dme`);
- fs.appendFileSync(`${dmeBaseName}.m.dme`, dmeContent);
- await runWithWarningChecks(dmPath, [`${dmeBaseName}.m.dme`]);
- fs.writeFileSync(
- `${dmeBaseName}.dmb`,
- fs.readFileSync(`${dmeBaseName}.m.dmb`)
- );
- fs.writeFileSync(
- `${dmeBaseName}.rsc`,
- fs.readFileSync(`${dmeBaseName}.m.rsc`)
- );
- } finally {
- Juke.rm(`${dmeBaseName}.m.*`);
- }
- } else {
- await runWithWarningChecks(dmPath, [dmeFile]);
}
+ await runWithWarningChecks(dmPath, [
+ ...defines.map((def) => `-D${def}`),
+ dmeFile,
+ ]);
};
/**
diff --git a/tools/ci/download_od.sh b/tools/ci/download_od.sh
deleted file mode 100644
index aada0d8fe533..000000000000
--- a/tools/ci/download_od.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-set -eo pipefail
-
-if [ -z "${OPENDREAM_VERSION+x}" ]; then
- source dependencies.sh
-fi
-
-git clone https://github.com/OpenDreamProject/OpenDream.git ~/OpenDream
-cd ~/OpenDream
-git checkout tags/${OPENDREAM_VERSION}
-git submodule update --init --recursive
diff --git a/tools/ci/run_od.sh b/tools/ci/run_od.sh
deleted file mode 100644
index c300a7280570..000000000000
--- a/tools/ci/run_od.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/bash
-set -eo pipefail
-
-dotnet ~/OpenDream/bin/DMCompiler/DMCompiler.dll --suppress-unimplemented colonialmarines.dme
diff --git a/tools/ci/setup_od.sh b/tools/ci/setup_od.sh
deleted file mode 100644
index 6d2ec170687c..000000000000
--- a/tools/ci/setup_od.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-set -eo pipefail
-
-cd ~/OpenDream
-
-dotnet restore
-dotnet build -c Release