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/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 7eee073aca51..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"
@@ -78,6 +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/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/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/mode.dm b/code/__DEFINES/mode.dm
index 28471f3a5ea1..fea9ebeebb2c 100644
--- a/code/__DEFINES/mode.dm
+++ b/code/__DEFINES/mode.dm
@@ -91,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
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/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/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/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/global_lists.dm b/code/_globalvars/global_lists.dm
index 64bf4ba7c901..c23f1fc7931f 100644
--- a/code/_globalvars/global_lists.dm
+++ b/code/_globalvars/global_lists.dm
@@ -490,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"
@@ -502,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()
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 2a766580e366..41e2be147d85 100644
--- a/code/_onclick/click_hold.dm
+++ b/code/_onclick/click_hold.dm
@@ -97,7 +97,6 @@
/client/MouseDrop(datum/src_object, datum/over_object, src_location, over_location, src_control, over_control, params)
. = ..()
-
if(over_object)
SEND_SIGNAL(over_object, COMSIG_ATOM_DROPPED_ON, src_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/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/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/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/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/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/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/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/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/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/game/gamemodes/cm_initialize.dm b/code/game/gamemodes/cm_initialize.dm
index 971eb8f07178..400acdcb122a 100644
--- a/code/game/gamemodes/cm_initialize.dm
+++ b/code/game/gamemodes/cm_initialize.dm
@@ -687,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)
@@ -710,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."))
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/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/machinery/ARES/ARES_interface.dm b/code/game/machinery/ARES/ARES_interface.dm
index d6f58f371715..6cc7c220fd04 100644
--- a/code/game/machinery/ARES/ARES_interface.dm
+++ b/code/game/machinery/ARES/ARES_interface.dm
@@ -214,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)
@@ -227,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)
@@ -250,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)
@@ -258,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
@@ -331,6 +333,9 @@
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")
@@ -388,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"])
@@ -403,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
@@ -440,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
@@ -468,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 5ca7a9ba171d..586b01a51af9 100644
--- a/code/game/machinery/ARES/ARES_interface_admin.dm
+++ b/code/game/machinery/ARES/ARES_interface_admin.dm
@@ -231,6 +231,8 @@
logged_access += list(current_ticket)
data["access_tickets"] = logged_access
+ data["security_vents"] = get_ares_vents()
+
return data
@@ -321,6 +323,9 @@
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"
@@ -491,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 1212d1509a01..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)
@@ -144,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())
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/camera/camera.dm b/code/game/machinery/camera/camera.dm
index 7621e82ce936..948d83e76148 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -69,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)
@@ -299,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/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/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/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 06ec8ddc7520..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)
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/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 f6aa2600f838..fb0103876301 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -461,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/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/reagent_containers/food/snacks.dm b/code/game/objects/items/reagent_containers/food/snacks.dm
index 79a108d24bf1..293a71ca7c5d 100644
--- a/code/game/objects/items/reagent_containers/food/snacks.dm
+++ b/code/game/objects/items/reagent_containers/food/snacks.dm
@@ -2744,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()
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 5816b687ba6e..5e4bc8c726bd 100644
--- a/code/game/objects/items/storage/backpack.dm
+++ b/code/game/objects/items/storage/backpack.dm
@@ -351,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/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/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/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/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/window.dm b/code/game/objects/structures/window.dm
index 81d7f24f054e..341fcb657080 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -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/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/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/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 a3d6dd0c80c0..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]
"
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 26c92f632ee2..1e691261a747 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 f7dd5be511ce..92eeea638fae 100644
--- a/code/modules/clothing/under/marine_uniform.dm
+++ b/code/modules/clothing/under/marine_uniform.dm
@@ -896,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_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/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 7e57430f081a..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)
@@ -1084,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_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/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/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 3af7df42e3a7..4e9ab770fb2f 100644
--- a/code/modules/gear_presets/survivors/lv_522/forcon_survivors.dm
+++ b/code/modules/gear_presets/survivors/lv_522/forcon_survivors.dm
@@ -278,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 516c0534080d..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)
..()
@@ -78,7 +86,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/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 d2daf2c416fe..4eb674cf3796 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,
@@ -405,13 +461,15 @@
WEAR_EYES = /obj/item/clothing/glasses/sunglasses/sechud,
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
diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm
index 64e24ea99efb..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)
@@ -1288,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)
@@ -1446,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)
@@ -1604,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)
@@ -1762,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)
@@ -1920,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)
@@ -2078,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)
@@ -2236,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)
@@ -2394,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)
@@ -2569,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
@@ -2617,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
@@ -2634,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(
@@ -2768,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
@@ -2782,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)
@@ -2798,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)
@@ -2896,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)
@@ -3016,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)
@@ -3183,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)
@@ -3326,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)
@@ -3354,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)
@@ -3393,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)
@@ -3435,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)
@@ -3570,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_event.dm b/code/modules/gear_presets/uscm_event.dm
index dc6eb34161ee..3ab1dbc99b4e 100644
--- a/code/modules/gear_presets/uscm_event.dm
+++ b/code/modules/gear_presets/uscm_event.dm
@@ -375,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_ship.dm b/code/modules/gear_presets/uscm_ship.dm
index f817d7d421fa..cda77b4dd4f4 100644
--- a/code/modules/gear_presets/uscm_ship.dm
+++ b/code/modules/gear_presets/uscm_ship.dm
@@ -359,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
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 4f9493cfdf49..d13d5aa94053 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -37,6 +37,7 @@
/// 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.
@@ -71,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)
@@ -845,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"
@@ -1189,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/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 08daa5348022..2a197dadc2b1 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -399,23 +399,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/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 0f52b75106a5..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))
diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm
index 43c55dcaaff6..e664143be74d 100644
--- a/code/modules/mob/living/carbon/human/human_attackhand.dm
+++ b/code/modules/mob/living/carbon/human/human_attackhand.dm
@@ -209,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 29a9789b5699..e611452e9de7 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -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_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/species/working_joe/warning.dm b/code/modules/mob/living/carbon/human/species/working_joe/warning.dm
index cd5767353c59..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
@@ -32,7 +32,7 @@
/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
diff --git a/code/modules/mob/living/carbon/xenomorph/Abilities.dm b/code/modules/mob/living/carbon/xenomorph/Abilities.dm
index 3bf0c67ef721..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)
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/XenoProcs.dm b/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm
index c25b52d1dd37..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)
@@ -649,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/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 64f748be0915..6e7f221deff7 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,18 +100,18 @@
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)
knock_chance = min(knock_chance, 15)//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))
@@ -122,42 +122,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)
@@ -177,23 +174,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
@@ -203,22 +199,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
@@ -312,7 +315,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)
@@ -379,10 +385,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)
@@ -662,7 +674,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
@@ -681,7 +693,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
@@ -853,11 +865,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
@@ -879,7 +887,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/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/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 ec8aee36859f..13408be2096e 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -372,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())
@@ -448,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_helpers.dm b/code/modules/mob/mob_helpers.dm
index bdb9a2718814..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
@@ -605,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()
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/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/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/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index a2efc89bafdb..85d170ab5cd1 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -504,13 +504,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 ..()
@@ -1420,6 +1420,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.
@@ -1522,7 +1526,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
@@ -1752,7 +1756,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
@@ -1764,7 +1768,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
@@ -1773,12 +1777,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 6403c4a61c1b..a1dbab6dd916 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
@@ -784,7 +784,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 eb9b2686c3d6..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)
@@ -1045,7 +1062,7 @@
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)
diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm
index 73a254d1fdd6..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
@@ -359,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))
@@ -678,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/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/colonialmarines.dme b/colonialmarines.dme
index 2f859e19fd37..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"
@@ -1779,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"
@@ -1917,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"
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-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-04.yml b/html/changelogs/archive/2024-04.yml
index 1d4b9981a540..efa0f73ad350 100644
--- a/html/changelogs/archive/2024-04.yml
+++ b/html/changelogs/archive/2024-04.yml
@@ -33,3 +33,299 @@
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/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/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/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/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/LV522_Chances_Claim/LV522_Chances_Claim.dmm b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm
index 4da1bbb7ff45..3b8e72bf2cee 100644
--- a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm
+++ b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm
@@ -6863,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;
@@ -9855,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
@@ -15281,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
@@ -20248,7 +20259,7 @@
/area/lv522/outdoors/nw_rockies)
"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{
@@ -26446,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,
@@ -32795,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
},
@@ -54626,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
},
@@ -61924,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,
@@ -66660,7 +66662,7 @@ cpy
tFx
tFx
wnP
-rzz
+evg
syM
rnT
lBl
@@ -66889,7 +66891,7 @@ moz
mvP
ggS
tFx
-xOS
+rnT
lBl
ttT
pkH
diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm
index 513e8739ad99..6bc6bfeb4a22 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;
@@ -208,12 +218,6 @@
/obj/structure/window/framed/almayer/hull,
/turf/open/floor/plating,
/area/almayer/lifeboat_pumps/north1)
-"abz" = (
-/obj/structure/machinery/door/airlock/almayer/maint,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/maint/upper/u_f_p)
"abB" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -508,9 +512,6 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/north2)
-"acB" = (
-/turf/closed/wall/almayer,
-/area/almayer/maint/upper/u_a_p)
"acI" = (
/obj/structure/desertdam/decals/road_edge{
pixel_x = -12
@@ -521,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
@@ -578,7 +567,7 @@
/area/almayer/shipboard/weapon_room)
"acQ" = (
/turf/open/floor/almayer,
-/area/almayer/hallways/upper/midship_hallway)
+/area/almayer/hallways/upper/aft_hallway)
"acS" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -1045,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/lifeboat_pumps/north1)
"afE" = (
/obj/structure/machinery/vending/dinnerware,
/obj/structure/machinery/firealarm{
@@ -1730,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
@@ -1862,15 +1848,6 @@
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/lifeboat_pumps/north1)
"alf" = (
/obj/structure/machinery/light{
dir = 8
@@ -1939,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{
- 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)
"alL" = (
/turf/closed/wall/almayer,
/area/almayer/command/telecomms)
@@ -2009,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/aft_hallway)
"amd" = (
/obj/structure/machinery/vending/cola{
density = 0;
@@ -2385,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{
@@ -2758,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/lifeboat_pumps/north1)
"aqm" = (
/obj/item/bedsheet/brown,
/obj/structure/bed,
@@ -2846,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"
@@ -3071,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{
@@ -3182,11 +3161,6 @@
icon_state = "dark_sterile"
},
/area/almayer/living/pilotbunks)
-"ash" = (
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/fore_hallway)
"asm" = (
/obj/structure/stairs{
dir = 4
@@ -3240,60 +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{
- closeOtherId = "brignorth";
- name = "\improper Brig Lobby"
- },
-/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
- },
-/obj/item/desk_bell{
- pixel_x = -6;
- pixel_y = 10;
- anchored = 1
- },
-/turf/open/floor/almayer/aicore/no_build,
-/area/almayer/command/airoom)
"asH" = (
/obj/structure/machinery/telecomms/bus/preset_three,
/turf/open/floor/almayer{
@@ -3522,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;
@@ -3595,13 +3553,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/pilotbunks)
-"aub" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_y = 1
- },
-/turf/open/floor/almayer,
-/area/almayer/lifeboat_pumps/north1)
"auc" = (
/obj/effect/step_trigger/clone_cleaner,
/obj/structure/machinery/door/poddoor/almayer/open{
@@ -3618,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{
@@ -3780,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;
@@ -3892,66 +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{
- dir = 8;
- pixel_x = 17;
- pixel_y = 8
- },
-/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,
-/obj/structure/machinery/computer/cameras/almayer/ares{
- dir = 8;
- pixel_x = 17;
- pixel_y = -6
- },
-/turf/open/floor/almayer/no_build{
- icon_state = "ai_floors"
- },
-/area/almayer/command/airoom)
"avN" = (
/obj/structure/machinery/telecomms/processor/preset_two,
/turf/open/floor/almayer{
@@ -4262,10 +4157,6 @@
icon_state = "cargo"
},
/area/almayer/living/pilotbunks)
-"awY" = (
-/obj/effect/landmark/start/pilot/cas_pilot,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/living/pilotbunks)
"awZ" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/item/paper_bin/uscm{
@@ -4648,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{
- closeOtherId = "ciclobby_n";
- name = "\improper Combat Information Center"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/command/cic)
"ayu" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 4
@@ -5095,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{
- 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"
+"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;
@@ -5523,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/upper/u_m_p)
"aBR" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/item/ashtray/glass,
@@ -6004,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"
@@ -6389,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{
@@ -6558,11 +6442,6 @@
/obj/structure/window/reinforced/tinted/frosted,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/numbertwobunks)
-"aHo" = (
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_f_s)
"aHq" = (
/turf/closed/wall/almayer,
/area/almayer/command/computerlab)
@@ -6822,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"
},
@@ -6839,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"
},
@@ -7339,11 +7218,6 @@
icon_state = "red"
},
/area/almayer/hallways/upper/starboard)
-"aLh" = (
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/starboard)
"aLp" = (
/obj/structure/sign/safety/cryo{
pixel_x = 8;
@@ -7491,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,
@@ -7545,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)
@@ -7691,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;
@@ -7789,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/midship_hallway)
"aOy" = (
/obj/structure/machinery/light{
dir = 1
@@ -7921,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
@@ -7972,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{
@@ -8044,6 +7949,15 @@
icon_state = "emerald"
},
/area/almayer/command/cic)
+"aPC" = (
+/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/aft_hallway)
"aPD" = (
/obj/structure/machinery/photocopier,
/turf/open/floor/almayer{
@@ -8124,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
@@ -8174,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;
@@ -8312,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/midship_hallway)
"aRo" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/disposalpipe/segment,
@@ -8338,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/lifeboat_pumps/south2)
"aRt" = (
/turf/open/floor/almayer{
dir = 8;
@@ -8537,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
@@ -8986,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
@@ -9147,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;
@@ -9376,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
@@ -9540,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/upper/u_a_s)
"aZe" = (
/obj/structure/machinery/alarm/almayer{
dir = 1
@@ -9709,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)
@@ -9880,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{
@@ -9945,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)
@@ -9966,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"
@@ -10310,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
@@ -10425,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{
@@ -10494,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/fore_hallway)
"bfl" = (
/turf/open/floor/almayer{
dir = 5;
@@ -10665,12 +10586,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"bgh" = (
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/midship_hallway)
"bgj" = (
/obj/structure/machinery/landinglight/ds1{
dir = 8
@@ -10837,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
@@ -10965,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;
@@ -10992,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/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/port)
"biq" = (
/obj/structure/surface/table/almayer,
/obj/item/reagent_container/glass/beaker/large,
@@ -11056,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/midship_hallway)
"biC" = (
/obj/structure/largecrate/random/case,
/obj/structure/machinery/access_button/airlock_exterior,
@@ -11115,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/lifeboat_pumps/north1)
"biV" = (
/obj/structure/machinery/door/firedoor/border_only/almayer{
dir = 8
@@ -11169,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;
@@ -11207,14 +11124,11 @@
},
/area/almayer/hallways/hangar)
"bkb" = (
-/obj/structure/machinery/light{
- dir = 8
- },
/turf/open/floor/almayer{
dir = 4;
icon_state = "red"
},
-/area/almayer/hallways/upper/port)
+/area/almayer/hallways/upper/aft_hallway)
"bkd" = (
/obj/structure/machinery/landinglight/ds2/delaytwo{
dir = 8
@@ -11292,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;
@@ -11803,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/upper/u_m_p)
"bnH" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -11968,11 +11884,6 @@
icon_state = "mono"
},
/area/almayer/squads/req)
-"boU" = (
-/obj/structure/surface/table/almayer,
-/obj/item/tool/weldingtool,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/upper/u_m_s)
"boV" = (
/obj/structure/cargo_container/wy/left,
/obj/structure/prop/almayer/minigun_crate{
@@ -12314,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/midship_hallway)
"brn" = (
/obj/structure/machinery/door/airlock/almayer/marine/bravo/smart,
/turf/open/floor/almayer{
@@ -12577,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;
@@ -12607,12 +12516,6 @@
icon_state = "plate"
},
/area/almayer/living/gym)
-"btu" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "red"
- },
-/area/almayer/lifeboat_pumps/north2)
"btv" = (
/obj/structure/machinery/light,
/obj/structure/disposalpipe/segment{
@@ -12830,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{
@@ -13034,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 = 4;
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"bwP" = (
/obj/effect/step_trigger/clone_cleaner,
/turf/open/floor/plating/almayer{
@@ -13122,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/fore_hallway)
"bxA" = (
/obj/structure/machinery/power/apc/almayer/hardened,
/obj/effect/decal/warning_stripes{
@@ -13184,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/midship_hallway)
"bxY" = (
/obj/structure/surface/table/almayer,
/obj/structure/flora/pottedplant{
@@ -13310,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/upper/u_m_p)
"bzg" = (
/obj/structure/pipes/vents/pump{
dir = 8;
@@ -13520,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/upper/u_m_p)
"bBd" = (
/obj/structure/machinery/door/firedoor/border_only/almayer{
dir = 2
@@ -13637,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,
@@ -13728,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
@@ -13850,11 +13714,6 @@
icon_state = "plate"
},
/area/almayer/shipboard/weapon_room)
-"bDi" = (
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/fore_hallway)
"bDn" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/closed/wall/almayer,
@@ -14293,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
@@ -15120,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{
- closeOtherId = "brignorth";
- dir = 2;
- name = "\improper Brig Armoury";
- req_access = null;
- req_one_access_txt = "1;3"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/shipboard/brig/starboard_hallway)
"bKP" = (
/obj/structure/machinery/light/small{
dir = 4
@@ -15151,11 +14985,6 @@
},
/turf/open/floor/wood/ship,
/area/almayer/shipboard/sea_office)
-"bKU" = (
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/aft_hallway)
"bKX" = (
/obj/structure/surface/table/almayer,
/obj/item/storage/box/masks,
@@ -15185,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/aft_hallway)
"bLh" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -15310,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{
- dir = 4;
- icon_state = "ai_silver"
- },
-/area/almayer/command/airoom)
"bLw" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/light{
@@ -15374,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;
@@ -15427,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/midship_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{
@@ -15582,19 +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{
+ icon_state = "plate"
},
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/midship_hallway)
+/area/almayer/maint/upper/u_f_p)
"bNa" = (
/obj/structure/surface/table/almayer,
/obj/item/folder/black,
@@ -15609,12 +15418,6 @@
icon_state = "red"
},
/area/almayer/shipboard/navigation)
-"bNc" = (
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "orangecorner"
- },
-/area/almayer/maint/upper/u_a_s)
"bNe" = (
/obj/structure/machinery/camera/autoname/almayer{
dir = 8;
@@ -15796,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/fore_hallway)
"bNL" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/simple/hidden/supply,
@@ -15848,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/midship_hallway)
"bOq" = (
/obj/structure/prop/almayer/cannon_cables,
/turf/open/floor/almayer{
@@ -16051,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,
@@ -16114,27 +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,
-/obj/item/desk_bell{
- pixel_x = -6;
- pixel_y = -8;
- anchored = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/squads/req)
"bPC" = (
/obj/structure/sign/nosmoking_2{
pixel_x = 28
@@ -16396,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{
@@ -16409,27 +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,
-/obj/item/desk_bell{
- pixel_x = -6;
- pixel_y = 10;
- anchored = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/squads/req)
"bRV" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -16661,12 +16417,6 @@
icon_state = "blue"
},
/area/almayer/squads/delta)
-"bTD" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "greencorner"
- },
-/area/almayer/hallways/upper/fore_hallway)
"bTE" = (
/turf/open/floor/almayer{
dir = 4;
@@ -16781,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{
@@ -16873,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,
@@ -17035,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)
@@ -17129,11 +16881,6 @@
icon_state = "test_floor4"
},
/area/almayer/living/chapel)
-"bWx" = (
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/port)
"bWJ" = (
/obj/structure/machinery/shower{
dir = 4
@@ -17166,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)
@@ -17304,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)
@@ -17385,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/aft_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;
@@ -17513,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/upper/u_a_s)
"caq" = (
/obj/structure/machinery/light/small,
/turf/open/floor/plating/plating_catwalk,
@@ -17670,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/fore_hallway)
+/turf/open/floor/almayer,
+/area/almayer/living/numbertwobunks)
"cbL" = (
/obj/structure/machinery/camera/autoname/almayer{
dir = 1;
@@ -17696,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{
- 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)
"ccd" = (
/obj/structure/machinery/cm_vending/sorted/cargo_guns/squad_prep,
/turf/open/floor/almayer{
@@ -17759,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{
@@ -17883,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
@@ -17914,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
@@ -18159,13 +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,
-/area/almayer/hallways/upper/aft_hallway)
"chL" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -18372,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/midship_hallway)
"ciN" = (
/turf/open/floor/almayer{
dir = 6;
@@ -18441,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"
@@ -18613,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;
@@ -18951,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;
- 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)
-"cmJ" = (
-/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)
"cmK" = (
/obj/structure/window/reinforced,
/turf/open/floor/almayer{
@@ -19010,6 +18764,18 @@
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{
@@ -19026,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{
@@ -19040,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";
@@ -19383,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/upper/u_m_p)
+/area/almayer/lifeboat_pumps/north1)
"cqd" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -19588,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"
@@ -19605,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 = 4;
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"cuq" = (
/obj/structure/machinery/computer/arcade,
/turf/open/floor/wood/ship,
@@ -19639,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/fore_hallway)
"cuN" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -19672,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/upper/u_m_s)
"cvb" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -19696,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/upper/u_a_s)
"cvx" = (
/turf/closed/wall/almayer,
/area/almayer/maint/lower/cryo_cells)
@@ -19730,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/fore_hallway)
"cwo" = (
/obj/structure/largecrate/random/mini/chest{
pixel_x = 4
@@ -19756,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 = "orangecorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"cwS" = (
/obj/structure/blocker/invisible_wall,
/turf/open/floor/almayer/aicore/no_build,
@@ -19805,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{
@@ -19839,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
@@ -19859,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/midship_hallway)
"czN" = (
/obj/item/device/radio/intercom{
freerange = 1;
@@ -19891,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
@@ -19964,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{
@@ -20104,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,
@@ -20181,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
@@ -20209,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/midship_hallway)
"cFP" = (
/obj/structure/sign/safety/outpatient{
pixel_x = -17;
@@ -20246,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)
@@ -20283,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_f_p)
"cHu" = (
/turf/closed/wall/almayer/research/containment/wall/south,
/area/almayer/medical/containment/cell/cl)
@@ -20359,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"
@@ -20367,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
@@ -20402,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";
@@ -20457,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/fore_hallway)
"cKm" = (
/obj/structure/surface/table/almayer,
/obj/item/reagent_container/glass/bucket/mopbucket{
@@ -20485,15 +20247,6 @@
},
/turf/open/floor/plating,
/area/almayer/maint/lower/constr)
-"cKp" = (
-/obj/structure/machinery/firealarm{
- pixel_y = 28
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/fore_hallway)
"cKJ" = (
/obj/structure/machinery/light/small{
dir = 4
@@ -20509,6 +20262,14 @@
icon_state = "orangecorner"
},
/area/almayer/engineering/upper_engineering/port)
+"cLd" = (
+/obj/structure/closet,
+/obj/item/clothing/glasses/mgoggles/prescription,
+/obj/item/clothing/glasses/mbcg,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/maint/upper/u_a_s)
"cLl" = (
/obj/structure/surface/table/almayer,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -20572,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
@@ -20614,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";
@@ -20672,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;
@@ -20705,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.";
@@ -20834,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)
@@ -20937,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/midship_hallway)
"cSP" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 6
@@ -21014,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{
@@ -21064,12 +20894,6 @@
icon_state = "plate"
},
/area/almayer/living/gym)
-"cVT" = (
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "orange"
- },
-/area/almayer/hallways/upper/midship_hallway)
"cVZ" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
@@ -21096,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/upper/u_a_p)
"cWr" = (
/obj/structure/machinery/photocopier{
density = 0;
@@ -21162,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/upper/u_m_s)
"cXi" = (
/obj/structure/machinery/light{
unacidable = 1;
@@ -21194,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"
@@ -21322,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{
@@ -21380,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)
@@ -21389,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";
@@ -21506,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_f_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{
@@ -21535,12 +21399,6 @@
icon_state = "redfull"
},
/area/almayer/living/briefing)
-"ddp" = (
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/fore_hallway)
"ddw" = (
/obj/structure/machinery/cm_vending/sorted/tech/comp_storage,
/obj/structure/sign/safety/terminal{
@@ -21556,16 +21414,6 @@
},
/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/upper/u_a_p)
"ddL" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/almayer,
@@ -21574,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
@@ -21587,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_f_s)
"deD" = (
/obj/structure/machinery/prop/almayer/CICmap{
pixel_x = -5
@@ -21652,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{
@@ -21692,17 +21546,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/chief_mp_office)
-"dgI" = (
-/turf/open/floor/almayer{
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/fore_hallway)
-"dgP" = (
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/fore_hallway)
"dha" = (
/turf/open/floor/almayer{
icon_state = "plate"
@@ -21742,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,
@@ -21769,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";
@@ -21843,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/upper/u_m_s)
+/area/almayer/command/airoom)
"dkO" = (
/obj/effect/step_trigger/teleporter_vector{
name = "Almayer_Down2";
@@ -21908,12 +21751,18 @@
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{
icon_state = "mono"
},
-/area/almayer/hallways/upper/fore_hallway)
+/area/almayer/hallways/upper/aft_hallway)
"dmg" = (
/obj/structure/machinery/vending/coffee,
/obj/structure/sign/safety/coffee{
@@ -22002,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/midship_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
@@ -22111,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
@@ -22126,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
@@ -22134,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/midship_hallway)
"dpO" = (
/obj/structure/machinery/cm_vending/clothing/marine/delta{
density = 0;
@@ -22157,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/midship_hallway)
"dqb" = (
/obj/structure/sign/safety/security{
pixel_x = -16
@@ -22257,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{
@@ -22264,16 +22121,20 @@
icon_state = "redcorner"
},
/area/almayer/shipboard/brig/execution)
-"dsS" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/fore_hallway)
"dsY" = (
/turf/open/floor/almayer{
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
@@ -22286,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{
- 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)
"duo" = (
/obj/structure/machinery/power/apc/almayer{
dir = 8
@@ -22357,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/fore_hallway)
"duT" = (
/obj/structure/bed,
/obj/structure/machinery/flasher{
@@ -22447,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{
@@ -22466,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/lifeboat_pumps/north2)
"dxu" = (
/obj/structure/sink{
dir = 1;
@@ -22605,11 +22438,6 @@
icon_state = "plating"
},
/area/almayer/squads/req)
-"dyJ" = (
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/upper/midship_hallway)
"dyK" = (
/obj/structure/machinery/light{
dir = 8
@@ -22622,30 +22450,49 @@
"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
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/general_equipment)
-"dzV" = (
-/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)
"dzX" = (
/obj/structure/sign/safety/water{
pixel_x = -17
},
/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
@@ -22666,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/lifeboat_pumps/south2)
"dAA" = (
/obj/structure/prop/invuln/overhead_pipe{
pixel_x = 12
@@ -22809,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/fore_hallway)
"dCe" = (
/obj/structure/machinery/cryopod{
pixel_y = 6
@@ -22896,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/fore_hallway)
"dDp" = (
/obj/effect/decal/warning_stripes{
icon_state = "W";
@@ -23062,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/fore_hallway)
"dFk" = (
/turf/open/floor/almayer{
dir = 8;
@@ -23086,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"
@@ -23131,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
@@ -23309,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/lifeboat_pumps/south2)
"dJG" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 9
@@ -23342,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/midship_hallway)
"dKK" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -23423,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";
@@ -23456,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{
@@ -23520,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/midship_hallway)
"dPd" = (
/obj/structure/surface/table/almayer,
/obj/item/device/flashlight/lamp{
@@ -23545,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/upper/u_a_p)
"dPm" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -23567,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
@@ -23605,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{
@@ -23678,19 +23489,6 @@
icon_state = "dark_sterile"
},
/area/almayer/shipboard/brig/mp_bunks)
-"dRo" = (
-/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)
"dRs" = (
/obj/structure/closet/emcloset,
/turf/open/floor/almayer{
@@ -23743,12 +23541,6 @@
},
/turf/open/floor/carpet,
/area/almayer/command/corporateliaison)
-"dRQ" = (
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "red"
- },
-/area/almayer/lifeboat_pumps/north2)
"dRT" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 4
@@ -23777,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;
@@ -23846,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"
@@ -24030,20 +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 = 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)
"dXI" = (
/obj/structure/machinery/door/airlock/almayer/secure/reinforced{
name = "\improper Exterior Airlock";
@@ -24085,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
@@ -24163,11 +23969,6 @@
},
/turf/open/floor/almayer,
/area/almayer/engineering/lower/workshop/hangar)
-"dZR" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"dZZ" = (
/obj/structure/surface/rack,
/obj/item/tool/weldpack,
@@ -24206,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_f_p)
"eas" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -24280,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/midship_hallway)
"ecb" = (
/obj/structure/machinery/light/small{
dir = 4
@@ -24315,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/midship_hallway)
"ecS" = (
/obj/structure/sign/safety/hvac_old{
pixel_x = 8;
@@ -24517,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
@@ -24536,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,
@@ -24562,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/upper/u_m_p)
"ehc" = (
/obj/structure/machinery/camera/autoname/almayer{
dir = 1;
@@ -24613,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,
@@ -24686,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
@@ -24961,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;
@@ -24975,25 +24795,6 @@
icon_state = "plate"
},
/area/almayer/engineering/lower/workshop)
-"enz" = (
-/obj/structure/sign/safety/bridge{
- pixel_x = 15;
- pixel_y = -32
- },
-/obj/structure/sign/safety/west{
- pixel_y = -32
- },
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/fore_hallway)
-"enF" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out"
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/midship_hallway)
"enK" = (
/obj/effect/step_trigger/clone_cleaner,
/obj/structure/blocker/forcefield/multitile_vehicles,
@@ -25023,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,
@@ -25035,17 +24847,6 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/port_midship_hallway)
-"eoD" = (
-/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)
"eoE" = (
/obj/structure/largecrate/random/secure,
/turf/open/floor/almayer{
@@ -25092,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{
@@ -25304,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
@@ -25343,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
@@ -25498,11 +25330,13 @@
icon_state = "cargo"
},
/area/almayer/engineering/upper_engineering/starboard)
-"evG" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/pipes/standard/simple/hidden/supply,
+"evM" = (
+/obj/structure/machinery/status_display{
+ pixel_y = 30
+ },
/turf/open/floor/almayer{
- icon_state = "mono"
+ dir = 1;
+ icon_state = "green"
},
/area/almayer/hallways/upper/fore_hallway)
"evR" = (
@@ -25548,18 +25382,6 @@
icon_state = "test_floor4"
},
/area/almayer/shipboard/brig/execution)
-"ewL" = (
-/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)
"ewO" = (
/obj/structure/machinery/door/airlock/almayer/maint{
dir = 1
@@ -25627,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/upper/u_m_p)
"eyM" = (
/obj/structure/largecrate/random/barrel/blue,
/turf/open/floor/almayer{
@@ -25673,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
@@ -25712,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
@@ -25885,12 +25728,6 @@
icon_state = "cargo"
},
/area/almayer/engineering/lower/engine_core)
-"eCC" = (
-/obj/structure/bed/chair,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/lifeboat_pumps/north1)
"eCI" = (
/obj/structure/window/reinforced/ultra{
pixel_y = -12
@@ -25901,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/upper/u_a_p)
+/area/almayer/maint/upper/u_m_s)
"eDo" = (
/obj/effect/decal/warning_stripes{
icon_state = "W";
@@ -25970,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/midship_hallway)
"eFa" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -26013,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/midship_hallway)
"eFK" = (
/obj/structure/bed{
icon_state = "abed"
@@ -26100,31 +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{
- 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)
"eGq" = (
/obj/structure/largecrate/random/secure,
/turf/open/floor/almayer{
@@ -26132,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,
@@ -26174,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/upper/u_a_p)
+/area/almayer/maint/upper/u_f_s)
"eHY" = (
/obj/structure/surface/rack,
/obj/item/device/taperecorder,
@@ -26188,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{
@@ -26213,14 +26031,18 @@
icon_state = "plate"
},
/area/almayer/hallways/lower/starboard_fore_hallway)
-"eJj" = (
-/obj/structure/closet/crate,
-/obj/item/ammo_box/magazine/l42a,
-/obj/item/ammo_box/magazine/l42a,
+"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{
- icon_state = "plate"
+ dir = 5;
+ icon_state = "red"
},
-/area/almayer/maint/upper/u_m_s)
+/area/almayer/hallways/upper/aft_hallway)
"eJQ" = (
/obj/structure/prop/invuln{
desc = "An inflated membrane. This one is puncture proof. Wow!";
@@ -26234,33 +26056,15 @@
icon_state = "outerhull_dir"
},
/area/almayer/command/lifeboat)
-"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/upper/u_m_s)
-"eKa" = (
-/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)
-"eKm" = (
-/obj/structure/machinery/suit_storage_unit/compression_suit/uscm,
-/obj/structure/machinery/alarm/almayer{
- dir = 1
- },
+"eJU" = (
+/obj/structure/bed/chair,
/turf/open/floor/almayer{
icon_state = "plate"
},
-/area/almayer/hallways/lower/starboard_umbilical)
+/area/almayer/lifeboat_pumps/north1)
+"eJX" = (
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/engineering/ce_room)
"eKy" = (
/obj/structure/pipes/standard/simple/visible{
dir = 6
@@ -26371,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
@@ -26380,16 +26195,12 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/mp_bunks)
-"eMh" = (
-/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 = "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"
@@ -26498,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
@@ -26539,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/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/midship_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
@@ -26628,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/upper/u_a_s)
+/area/almayer/hallways/upper/midship_hallway)
"eRR" = (
/obj/item/clothing/head/helmet/marine{
pixel_x = 16;
@@ -26652,15 +26490,6 @@
icon_state = "cargo_arrow"
},
/area/almayer/engineering/lower/workshop/hangar)
-"eSc" = (
-/obj/structure/machinery/power/apc/almayer{
- dir = 1
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "orange"
- },
-/area/almayer/engineering/lower)
"eSk" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -26712,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
@@ -26721,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
@@ -26858,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{
@@ -26889,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/midship_hallway)
"eXb" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -26908,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)
@@ -26924,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;
@@ -26986,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"
@@ -27194,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"
@@ -27254,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;
@@ -27322,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{
- dir = 8;
- icon_state = "ai_silver"
- },
-/area/almayer/command/airoom)
-"fdf" = (
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/fore_hallway)
"fdx" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -27405,12 +27254,6 @@
icon_state = "green"
},
/area/almayer/living/grunt_rnr)
-"fes" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"feD" = (
/obj/structure/flora/pottedplant{
icon_state = "pottedplant_22";
@@ -27590,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"
@@ -27619,10 +27469,6 @@
/obj/item/device/camera_film,
/turf/open/floor/almayer,
/area/almayer/command/corporateliaison)
-"fiN" = (
-/obj/structure/largecrate/random/case/double,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/upper/u_a_s)
"fiQ" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -27631,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
@@ -27653,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
@@ -27661,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{
@@ -27703,12 +27610,6 @@
icon_state = "bluecorner"
},
/area/almayer/living/pilotbunks)
-"fmX" = (
-/obj/structure/machinery/light/small,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_a_p)
"fmZ" = (
/turf/open/floor/almayer{
dir = 8;
@@ -27723,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
@@ -28036,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;
@@ -28061,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/midship_hallway)
"frM" = (
/obj/effect/decal/warning_stripes{
icon_state = "S";
@@ -28079,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/upper/u_a_s)
"fsf" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -28095,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;
@@ -28105,18 +28003,6 @@
icon_state = "plate"
},
/area/almayer/living/gym)
-"fsu" = (
-/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/midship_hallway)
"fsR" = (
/obj/structure/pipes/vents/pump{
dir = 8;
@@ -28139,38 +28025,6 @@
icon_state = "plating_striped"
},
/area/almayer/living/cryo_cells)
-"ftb" = (
-/obj/structure/machinery/alarm/almayer{
- dir = 1
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/midship_hallway)
-"ftw" = (
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_f_p)
-"ftG" = (
-/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)
-"ftZ" = (
-/obj/structure/sign/safety/maint{
- pixel_x = 32
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/fore_hallway)
"fuz" = (
/obj/structure/machinery/cm_vending/clothing/pilot_officer,
/turf/open/floor/almayer{
@@ -28268,19 +28122,6 @@
icon_state = "redfull"
},
/area/almayer/command/cic)
-"fvE" = (
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "bluecorner"
- },
-/area/almayer/hallways/upper/midship_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
@@ -28328,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_f_s)
"fwY" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -28429,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/aft_hallway)
"fzq" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -28447,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
@@ -28503,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/midship_hallway)
"fBi" = (
/turf/open/floor/almayer{
dir = 4;
@@ -28526,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/fore_hallway)
"fBO" = (
/obj/structure/machinery/chem_master{
vial_maker = 1
@@ -28578,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/fore_hallway)
"fCT" = (
/obj/structure/surface/table/almayer,
/obj/item/fuel_cell,
@@ -28598,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";
@@ -28620,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/midship_hallway)
"fDG" = (
/obj/structure/machinery/vending/coffee,
/obj/structure/machinery/light{
@@ -28699,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{
@@ -28726,14 +28546,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/morgue)
-"fFs" = (
-/obj/structure/machinery/door/airlock/almayer/maint{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/maint/upper/u_f_s)
"fFD" = (
/obj/structure/window/reinforced{
dir = 4;
@@ -28848,10 +28660,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_s)
-"fGD" = (
-/obj/effect/step_trigger/clone_cleaner,
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/fore_hallway)
"fHb" = (
/obj/structure/largecrate/random/case/small,
/turf/open/floor/plating/plating_catwalk,
@@ -28878,10 +28686,10 @@
icon_state = "greenfull"
},
/area/almayer/living/offices)
-"fHM" = (
-/obj/docking_port/stationary/escape_pod/cl,
-/turf/open/floor/plating,
-/area/almayer/command/corporateliaison)
+"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,
@@ -28972,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{
- dir = 8;
- icon_state = "ai_arrow"
- },
-/area/almayer/command/airoom)
"fKe" = (
/obj/effect/decal/warning_stripes{
icon_state = "SW-out"
@@ -29145,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{
- dir = 4;
- icon_state = "ai_silver"
- },
-/area/almayer/command/airoom)
"fMt" = (
/obj/structure/machinery/door/poddoor/shutters/almayer{
id = "ARES Interior";
@@ -29186,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
@@ -29229,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
@@ -29347,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/upper/u_a_p)
"fQn" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -29383,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{
@@ -29450,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,
@@ -29538,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{
@@ -29545,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";
@@ -29594,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/fore_hallway)
"fXg" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -29643,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"
@@ -29785,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/midship_hallway)
"gaJ" = (
/turf/closed/wall/almayer,
/area/almayer/shipboard/brig/cryo)
@@ -29850,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{
@@ -29868,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 = 4;
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"gcm" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -29954,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,
@@ -30045,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/midship_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,
@@ -30185,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
@@ -30198,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;
@@ -30212,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";
@@ -30245,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)
@@ -30306,24 +30141,6 @@
icon_state = "plate"
},
/area/almayer/command/cic)
-"gkV" = (
-/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)
-"glc" = (
-/obj/structure/machinery/firealarm{
- pixel_y = 28
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/midship_hallway)
"gll" = (
/obj/structure/machinery/power/apc/almayer{
dir = 1
@@ -30410,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/midship_hallway)
"gnu" = (
/obj/structure/surface/table/almayer,
/obj/item/facepaint/green,
@@ -30433,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,
@@ -30533,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,
@@ -30544,23 +30373,69 @@
"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/aft_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/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" = (
@@ -30593,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";
@@ -30717,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{
@@ -30735,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{
@@ -30758,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";
@@ -30787,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_f_s)
"guK" = (
/obj/effect/projector{
name = "Almayer_Up3";
@@ -30805,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{
@@ -30839,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,
@@ -30853,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
@@ -30929,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)
@@ -30967,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/aft_hallway)
"gxU" = (
/obj/structure/surface/table/almayer,
/obj/item/toy/deck,
@@ -30981,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/midship_hallway)
+/area/almayer/living/numbertwobunks)
"gym" = (
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/mp_bunks)
@@ -31128,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
@@ -31171,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{
@@ -31228,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/lifeboat_pumps/north2)
"gCf" = (
/obj/structure/reagent_dispensers/fueltank,
/turf/open/floor/almayer{
@@ -31276,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/upper/u_a_s)
+/area/almayer/hallways/upper/fore_hallway)
"gDp" = (
/obj/structure/machinery/light{
dir = 4
@@ -31305,25 +31243,12 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/processing)
-"gDF" = (
-/obj/structure/largecrate/random/case{
- layer = 2.98
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_a_s)
"gDH" = (
/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
pixel_y = 25
},
/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/midship_hallway)
"gDW" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -31387,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/midship_hallway)
-"gFN" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/turf/open/floor/almayer{
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/fore_hallway)
"gFP" = (
/turf/closed/wall/almayer/outer,
/area/almayer/shipboard/stern_point_defense)
@@ -31537,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/fore_hallway)
"gHZ" = (
/turf/open/floor/almayer{
icon_state = "test_floor4"
@@ -31597,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/midship_hallway)
"gIO" = (
/obj/structure/bed/chair/bolted{
dir = 8
@@ -31634,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{
@@ -31643,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";
@@ -31682,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_f_p)
"gKd" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -31782,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{
@@ -31869,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/upper/u_m_s)
"gMN" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -31965,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,
@@ -31978,49 +31872,31 @@
icon_state = "orange"
},
/area/almayer/engineering/lower)
-"gNQ" = (
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/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{
- dir = 4;
- icon_state = "ai_silver"
- },
-/area/almayer/command/airoom)
"gOC" = (
/obj/structure/machinery/recharge_station,
/turf/open/floor/almayer{
@@ -32050,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";
@@ -32246,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/midship_hallway)
"gUf" = (
/obj/structure/machinery/portable_atmospherics/hydroponics,
/turf/open/floor/almayer{
@@ -32279,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/midship_hallway)
"gUn" = (
/obj/structure/largecrate/random/barrel/red,
/turf/open/floor/plating/plating_catwalk,
@@ -32323,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{
- dir = 4;
- icon_state = "ai_arrow"
- },
-/area/almayer/command/airoom)
"gUS" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -32392,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
@@ -32521,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,
@@ -32632,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"
@@ -32832,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"
@@ -32930,14 +32799,13 @@
},
/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"
},
+/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/upper/aft_hallway)
"hfv" = (
/obj/structure/reagent_dispensers/fueltank,
@@ -33009,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/midship_hallway)
"hgB" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/computer/intel,
@@ -33054,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_x = -3;
- pixel_y = -11
- },
-/turf/open/floor/almayer,
-/area/almayer/squads/req)
"hgZ" = (
/obj/structure/machinery/door_control{
dir = 1;
@@ -33165,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/upper/u_a_s)
"hji" = (
/obj/structure/bed/chair{
dir = 4
@@ -33327,6 +33166,14 @@
},
/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{
@@ -33340,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"
@@ -33444,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/midship_hallway)
"hmC" = (
/obj/structure/machinery/cm_vending/sorted/marine_food{
density = 0;
@@ -33590,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/upper/u_a_p)
"hoK" = (
/turf/open/floor/almayer{
dir = 8;
@@ -33699,18 +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
- },
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/aft_hallway)
"hqW" = (
/obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{
name = "\improper Medical Bay";
@@ -33769,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{
@@ -33892,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";
@@ -33901,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/midship_hallway)
"htG" = (
/obj/item/tool/soap,
/obj/structure/machinery/light/small{
@@ -33939,26 +33748,6 @@
icon_state = "greenfull"
},
/area/almayer/living/offices)
-"htS" = (
-/obj/structure/machinery/door/airlock/almayer/maint,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/maint/upper/u_m_s)
-"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/port)
"huD" = (
/obj/structure/machinery/light{
dir = 1
@@ -34004,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/upper/u_m_s)
"hvv" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/manifold/hidden/supply{
@@ -34062,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";
@@ -34168,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
@@ -34203,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_f_s)
"hzs" = (
/obj/structure/bed,
/obj/item/bedsheet/medical,
@@ -34239,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{
- closeOtherId = "ciclobby_s";
- name = "\improper Combat Information Center"
- },
-/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,
@@ -34334,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/midship_hallway)
"hBc" = (
/obj/structure/pipes/vents/scrubber{
dir = 4
@@ -34365,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/fore_hallway)
"hBz" = (
/obj/item/mortar_kit,
/turf/open/floor/almayer{
@@ -34441,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/midship_hallway)
"hCS" = (
/obj/structure/surface/table/reinforced/prison,
/obj/item/paper_bin/uscm{
@@ -34542,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/upper/u_a_s)
"hEl" = (
/obj/structure/machinery/alarm/almayer{
dir = 1
@@ -34589,12 +34331,6 @@
/obj/structure/pipes/vents/pump,
/turf/open/floor/almayer,
/area/almayer/lifeboat_pumps/south1)
-"hFt" = (
-/obj/structure/machinery/power/apc/almayer{
- dir = 1
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/upper/u_a_p)
"hFw" = (
/obj/structure/machinery/disposal/broken,
/turf/open/floor/almayer{
@@ -34620,15 +34356,15 @@
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/fore_hallway)
+/area/almayer/hallways/upper/aft_hallway)
"hGG" = (
/obj/effect/step_trigger/clone_cleaner,
/obj/effect/decal/warning_stripes{
@@ -34749,12 +34485,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_p)
-"hJe" = (
-/obj/structure/machinery/door/airlock/almayer/maint,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/maint/upper/u_a_p)
"hJg" = (
/obj/structure/pipes/trinary/mixer{
dir = 4;
@@ -34809,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/midship_hallway)
"hKO" = (
/obj/structure/largecrate/random/barrel/green,
/obj/structure/sign/safety/maint{
@@ -34831,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/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;
@@ -34962,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";
@@ -35000,14 +34740,6 @@
icon_state = "silver"
},
/area/almayer/living/auxiliary_officer_office)
-"hPr" = (
-/obj/structure/machinery/status_display{
- pixel_y = -30
- },
-/turf/open/floor/almayer{
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"hPu" = (
/obj/structure/largecrate/supply,
/obj/item/tool/crowbar,
@@ -35027,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{
@@ -35039,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;
@@ -35177,20 +34925,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_f_p)
-"hSj" = (
-/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)
"hSk" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/upper_engineering/port)
@@ -35349,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.";
@@ -35422,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
@@ -35498,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{
@@ -35505,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/fore_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;
@@ -35589,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
@@ -35735,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
@@ -35771,12 +35548,6 @@
},
/turf/open/floor/almayer,
/area/almayer/maint/hull/upper/u_f_s)
-"icn" = (
-/obj/structure/machinery/power/apc/almayer,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_p)
"icp" = (
/turf/open/floor/almayer{
dir = 8;
@@ -35803,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{
@@ -35834,21 +35617,12 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_f_p)
-"idM" = (
-/turf/open/floor/plating,
-/area/almayer/command/corporateliaison)
"idX" = (
/obj/structure/pipes/vents/pump,
/turf/open/floor/prison{
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/aft_hallway)
"ied" = (
/obj/structure/machinery/power/apc/almayer{
dir = 1
@@ -35921,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{
@@ -36001,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"
@@ -36025,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"
@@ -36073,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{
- 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)
"iit" = (
/obj/effect/decal/warning_stripes{
icon_state = "W";
@@ -36108,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,
@@ -36123,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/midship_hallway)
"ijr" = (
/obj/structure/pipes/vents/scrubber{
dir = 4
@@ -36189,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/upper/u_a_s)
"ikQ" = (
/obj/structure/surface/table/woodentable/fancy,
/obj/item/tool/stamp/hop{
@@ -36251,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{
@@ -36275,12 +36044,28 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/living/offices/flight)
-"imM" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "silver"
+"imS" = (
+/obj/effect/step_trigger/clone_cleaner,
+/obj/structure/machinery/door/poddoor/shutters/almayer{
+ id = "ARES StairsUpper";
+ name = "\improper ARES Core Shutters";
+ plane = -7
},
-/area/almayer/hallways/upper/midship_hallway)
+/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
@@ -36314,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;
@@ -36390,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/upper/u_m_s)
"ipB" = (
/obj/structure/surface/rack,
/obj/item/tool/kitchen/rollingpin,
@@ -36487,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
@@ -36539,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
@@ -36548,26 +36351,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_m_p)
-"isB" = (
-/obj/structure/machinery/light/small{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_s)
-"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
@@ -36590,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{
- dir = 8;
- icon_state = "ai_silver"
+"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{
@@ -36661,12 +36423,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/p_bow)
-"iuh" = (
-/obj/structure/largecrate/random/barrel,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_p)
"iun" = (
/obj/effect/spawner/random/tool,
/turf/open/floor/plating/plating_catwalk,
@@ -36914,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
@@ -36936,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";
@@ -36945,12 +36699,6 @@
icon_state = "plate"
},
/area/almayer/living/offices)
-"izu" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "red"
- },
-/area/almayer/lifeboat_pumps/north2)
"izG" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/simple/hidden/supply,
@@ -37008,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
@@ -37018,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
@@ -37033,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;
@@ -37073,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{
@@ -37085,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{
@@ -37280,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;
@@ -37301,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{
- 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)
"iIP" = (
/obj/structure/toilet{
pixel_y = 16
@@ -37329,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/aft_hallway)
"iIR" = (
/obj/structure/surface/table/almayer,
/obj/item/trash/USCMtray{
@@ -37349,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;
@@ -37405,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,
@@ -37514,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;
@@ -37538,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"
@@ -37610,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/aft_hallway)
"iOX" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -37667,17 +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{
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/midship_hallway)
"iPN" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/computer/station_alert,
@@ -37699,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/fore_hallway)
"iQd" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -37790,12 +37561,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/processing)
-"iQG" = (
-/obj/structure/largecrate/random/barrel/red,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_a_s)
"iQJ" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -37806,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/fore_hallway)
"iRp" = (
/obj/structure/window/framed/almayer,
/obj/structure/machinery/door/poddoor/shutters/almayer/open{
@@ -37844,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{
@@ -37890,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/aft_hallway)
+/area/almayer/hallways/upper/midship_hallway)
"iSB" = (
/obj/structure/platform_decoration{
dir = 8
@@ -37958,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
@@ -37984,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
@@ -38044,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/midship_hallway)
"iUW" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -38081,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
@@ -38124,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"
@@ -38134,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
@@ -38278,25 +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)
-"iZz" = (
-/turf/open/floor/almayer{
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/aft_hallway)
"iZE" = (
/obj/structure/machinery/cm_vending/sorted/tech/tool_storage,
/obj/effect/decal/warning_stripes{
@@ -38343,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/aft_hallway)
"jaf" = (
/obj/structure/bed/chair/comfy/bravo{
dir = 4
@@ -38382,7 +38230,7 @@
dir = 4
},
/turf/open/floor/almayer,
-/area/almayer/hallways/upper/midship_hallway)
+/area/almayer/hallways/upper/aft_hallway)
"jas" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 1
@@ -38410,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;
@@ -38453,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/upper/u_m_p)
"jbq" = (
/obj/structure/window/framed/almayer/hull,
/turf/open/floor/plating,
@@ -38516,12 +38350,6 @@
},
/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
@@ -38532,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;
@@ -38546,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{
@@ -38791,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{
@@ -38844,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/aft_hallway)
"jhb" = (
/obj/structure/sign/safety/cryo{
pixel_x = -6;
@@ -38860,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/aft_hallway)
"jhn" = (
/turf/open/floor/almayer{
dir = 1;
@@ -38923,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;
@@ -38995,24 +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/desk_bell{
- pixel_x = -6;
- pixel_y = 10;
- anchored = 1
- },
-/turf/open/floor/almayer{
- icon_state = "sterile_green"
- },
-/area/almayer/medical/lower_medical_medbay)
"jjS" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -39112,18 +38952,21 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
-"jkL" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/midship_hallway)
"jkN" = (
/obj/structure/largecrate/random/barrel/yellow,
/turf/open/floor/almayer{
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"
@@ -39206,12 +39049,6 @@
},
/turf/open/floor/wood/ship,
/area/almayer/living/basketball)
-"jlO" = (
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/aft_hallway)
"jlQ" = (
/obj/structure/window/framed/almayer,
/turf/open/floor/plating,
@@ -39334,12 +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,
-/area/almayer/hallways/upper/midship_hallway)
"jnD" = (
/turf/open/floor/almayer{
dir = 1;
@@ -39378,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"
@@ -39412,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
@@ -39444,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,
@@ -39483,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;
@@ -39518,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
@@ -39600,6 +39506,18 @@
icon_state = "emerald"
},
/area/almayer/hallways/lower/port_midship_hallway)
+"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{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/upper/aft_hallway)
"juo" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/port_fore_hallway)
@@ -39610,15 +39528,6 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/living/port_emb)
-"juG" = (
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/upper/u_a_p)
-"juM" = (
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/fore_hallway)
"juS" = (
/obj/structure/machinery/gear{
id = "vehicle_elevator_gears"
@@ -39692,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/midship_hallway)
"jvB" = (
/obj/effect/step_trigger/clone_cleaner,
/turf/open/floor/almayer/aicore/no_build{
@@ -39800,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/upper/u_m_p)
"jwP" = (
/obj/effect/decal/warning_stripes{
icon_state = "SW-out";
@@ -39820,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
@@ -39882,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";
@@ -39991,6 +39916,17 @@
/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,
@@ -40071,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
@@ -40207,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{
@@ -40291,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/upper/u_m_p)
"jIC" = (
/obj/structure/machinery/computer/working_joe{
dir = 4;
@@ -40486,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/midship_hallway)
"jMQ" = (
/obj/item/device/radio/intercom{
freerange = 1;
@@ -40585,14 +40495,6 @@
"jNT" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/execution)
-"jOc" = (
-/obj/structure/closet/secure_closet/personal/cabinet{
- pixel_x = 1;
- pixel_y = 17;
- req_access = null
- },
-/turf/open/floor/almayer,
-/area/almayer/living/numbertwobunks)
"jOi" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -40754,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/midship_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/fore_hallway)
"jRp" = (
/obj/structure/largecrate/supply/supplies/water,
/obj/item/toy/deck{
@@ -41112,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,
@@ -41123,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
@@ -41172,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;
@@ -41183,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;
@@ -41215,23 +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/upper/u_a_p)
-"jZl" = (
-/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/fore_hallway)
"jZo" = (
/obj/structure/machinery/door/airlock/almayer/maint,
/obj/effect/step_trigger/clone_cleaner,
@@ -41292,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/midship_hallway)
"jZY" = (
/obj/structure/closet/l3closet/virology,
/turf/open/floor/almayer{
@@ -41316,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;
@@ -41351,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
@@ -41359,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{
@@ -41392,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)
@@ -41417,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";
@@ -41442,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/midship_hallway)
"kbV" = (
/obj/structure/platform{
dir = 1
@@ -41495,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
@@ -41561,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/upper/u_a_s)
"keG" = (
/obj/structure/machinery/door/airlock/almayer/security{
dir = 2;
@@ -41593,25 +41506,6 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/engineering/upper_engineering/starboard)
-"kfo" = (
-/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)
"kfB" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/light{
@@ -41694,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
@@ -41735,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"
@@ -41756,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
@@ -41768,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/fore_hallway)
"kiy" = (
/obj/structure/machinery/light{
dir = 8
@@ -41903,12 +41810,6 @@
icon_state = "cargo"
},
/area/almayer/hallways/lower/port_midship_hallway)
-"kjX" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/aft_hallway)
"kjY" = (
/obj/structure/largecrate/random/case/double,
/turf/open/floor/almayer{
@@ -41970,12 +41871,6 @@
icon_state = "orange"
},
/area/almayer/engineering/lower)
-"klr" = (
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/midship_hallway)
"klH" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 4
@@ -42016,6 +41911,25 @@
},
/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
@@ -42059,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;
@@ -42086,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{
@@ -42112,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";
@@ -42124,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
@@ -42147,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;
@@ -42269,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"
@@ -42370,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{
@@ -42572,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"
@@ -42729,25 +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,
-/area/almayer/hallways/upper/aft_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{
- dir = 8;
- icon_state = "ai_silver"
- },
-/area/almayer/command/airoom)
"kAh" = (
/obj/structure/sign/safety/restrictedarea{
pixel_x = -17
@@ -42771,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;
- 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)
"kAv" = (
/obj/structure/largecrate/supply/ammo/shotgun,
/turf/open/floor/plating/plating_catwalk,
@@ -42890,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;
@@ -43026,10 +42978,14 @@
icon_state = "redfull"
},
/area/almayer/living/briefing)
-"kED" = (
-/obj/structure/closet/firecloset,
+"kEA" = (
+/obj/effect/projector{
+ name = "Almayer_Down3";
+ vector_x = 1;
+ vector_y = -102
+ },
/turf/open/floor/almayer{
- icon_state = "cargo"
+ allow_construction = 0
},
/area/almayer/hallways/upper/fore_hallway)
"kEE" = (
@@ -43132,7 +43088,7 @@
/turf/open/floor/almayer{
icon_state = "mono"
},
-/area/almayer/hallways/upper/midship_hallway)
+/area/almayer/hallways/upper/aft_hallway)
"kHd" = (
/obj/structure/machinery/computer/arcade,
/obj/item/prop/helmetgarb/spacejam_tickets{
@@ -43249,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{
@@ -43286,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{
@@ -43347,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/upper/u_m_s)
"kLE" = (
/obj/structure/machinery/door/firedoor/border_only/almayer,
/obj/structure/machinery/door/poddoor/almayer{
@@ -43375,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/upper/u_a_s)
"kMa" = (
/obj/structure/platform_decoration,
/turf/open/floor/almayer{
@@ -43441,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
@@ -43480,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
@@ -43578,12 +43493,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_m_p)
-"kON" = (
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/midship_hallway)
"kOR" = (
/obj/structure/machinery/light/small{
dir = 1
@@ -43607,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,
@@ -43719,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/upper/u_m_s)
"kRD" = (
/obj/item/reagent_container/glass/bucket/janibucket,
/obj/structure/machinery/light{
@@ -43751,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/upper/u_a_p)
"kRP" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/item/prop/magazine/dirty/torn,
@@ -43767,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{
@@ -43780,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;
@@ -43820,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
@@ -43832,18 +43758,6 @@
},
/turf/open/floor/wood/ship,
/area/almayer/living/commandbunks)
-"kSL" = (
-/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)
"kSU" = (
/obj/structure/transmitter/no_dnd{
name = "Requisition Telephone";
@@ -43910,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/fore_hallway)
"kUA" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating/plating_catwalk,
@@ -43932,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
@@ -43941,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"
@@ -43968,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";
@@ -43978,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/aft_hallway)
"kWk" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 10
@@ -44070,12 +43981,6 @@
icon_state = "silver"
},
/area/almayer/command/computerlab)
-"kXj" = (
-/turf/open/floor/almayer/aicore/no_build{
- dir = 4;
- icon_state = "ai_silver"
- },
-/area/almayer/command/airoom)
"kXm" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -44110,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;
@@ -44119,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
@@ -44149,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"
@@ -44182,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{
@@ -44219,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";
@@ -44240,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/upper/u_a_s)
"laQ" = (
/obj/structure/machinery/door/firedoor/border_only/almayer{
dir = 2
@@ -44281,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/fore_hallway)
"lbf" = (
/obj/structure/machinery/cryopod{
pixel_y = 6
@@ -44326,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
@@ -44394,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/midship_hallway)
"ldt" = (
/obj/structure/machinery/conveyor{
dir = 8;
@@ -44414,12 +44339,6 @@
icon_state = "plate"
},
/area/almayer/living/gym)
-"ldz" = (
-/obj/structure/machinery/power/apc/almayer{
- dir = 1
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/hull/upper/u_a_s)
"ldC" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
@@ -44495,9 +44414,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_lobby)
-"lfc" = (
-/turf/closed/wall/almayer,
-/area/almayer/maint/upper/u_f_s)
"lft" = (
/obj/structure/surface/table/almayer,
/obj/item/storage/firstaid/fire,
@@ -44522,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{
@@ -44665,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/upper/u_a_s)
"liJ" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -44887,15 +44786,22 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_medbay)
-"llt" = (
-/obj/structure/machinery/power/apc/almayer{
- dir = 8
+"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 = 8;
- icon_state = "silver"
+ dir = 4;
+ icon_state = "green"
},
-/area/almayer/hallways/upper/midship_hallway)
+/area/almayer/hallways/upper/fore_hallway)
"llK" = (
/obj/structure/platform_decoration{
dir = 4
@@ -44960,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{
@@ -44992,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/upper/u_a_s)
"lnP" = (
/obj/structure/machinery/vending/cola,
/obj/structure/window/reinforced,
@@ -45089,12 +45002,6 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
-"loz" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
- },
-/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)
@@ -45179,13 +45086,6 @@
icon_state = "test_floor4"
},
/area/almayer/powered/agent)
-"lpJ" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "NW-out";
- pixel_y = 1
- },
-/turf/open/floor/almayer,
-/area/almayer/lifeboat_pumps/north1)
"lql" = (
/turf/open/floor/almayer{
icon_state = "test_floor4"
@@ -45208,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{
@@ -45218,15 +45128,6 @@
icon_state = "orange"
},
/area/almayer/living/port_emb)
-"lrd" = (
-/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)
"lrq" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/shipboard/brig/armory)
@@ -45268,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/upper/u_a_s)
"lsn" = (
/obj/structure/surface/table/almayer,
/obj/item/paper{
@@ -45358,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/midship_hallway)
"ltv" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -45580,17 +45464,6 @@
icon_state = "cargo"
},
/area/almayer/living/commandbunks)
-"lxJ" = (
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_a_p)
-"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
@@ -45599,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
@@ -45688,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
@@ -45696,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/fore_hallway)
"lAa" = (
/obj/structure/surface/table/almayer,
/obj/item/device/lightreplacer{
@@ -45752,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/aft_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{
@@ -45783,46 +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/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_f_s)
-"lCc" = (
-/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)
-"lCf" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
+"lCg" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
},
+/obj/effect/step_trigger/clone_cleaner,
/turf/open/floor/almayer{
- icon_state = "orangecorner"
+ dir = 8;
+ icon_state = "green"
},
-/area/almayer/hallways/upper/aft_hallway)
+/area/almayer/hallways/upper/fore_hallway)
"lCm" = (
/obj/structure/machinery/light/small{
dir = 1
@@ -45896,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
@@ -46011,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"
@@ -46029,14 +45905,6 @@
"lFp" = (
/turf/closed/wall/almayer,
/area/almayer/engineering/lower/workshop/hangar)
-"lFq" = (
-/obj/structure/pipes/vents/pump/no_boom{
- dir = 1
- },
-/turf/open/floor/almayer/aicore/no_build{
- icon_state = "ai_plates"
- },
-/area/almayer/command/airoom)
"lFr" = (
/obj/structure/machinery/firealarm{
dir = 8;
@@ -46080,29 +45948,6 @@
icon_state = "plate"
},
/area/almayer/engineering/upper_engineering/port)
-"lFJ" = (
-/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;
- 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
@@ -46129,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{
@@ -46208,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
@@ -46336,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,
@@ -46398,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,
@@ -46436,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,
@@ -46449,7 +46356,7 @@
dir = 4
},
/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/midship_hallway)
+/area/almayer/hallways/upper/aft_hallway)
"lOr" = (
/obj/structure/window/framed/almayer,
/obj/structure/machinery/door/firedoor/border_only/almayer,
@@ -46532,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/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
@@ -46560,16 +46469,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_f_p)
-"lQl" = (
-/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)
"lQz" = (
/obj/structure/machinery/vending/coffee,
/turf/open/floor/almayer{
@@ -46602,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{
@@ -46674,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
@@ -46699,18 +46621,6 @@
},
/turf/open/floor/wood/ship,
/area/almayer/living/chapel)
-"lUm" = (
-/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)
"lUA" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -46816,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{
@@ -46841,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,
@@ -46855,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,
@@ -46893,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,
@@ -46938,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{
@@ -46964,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/fore_hallway)
"maI" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/simple/hidden/supply,
@@ -47057,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{
@@ -47133,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/midship_hallway)
"meT" = (
/obj/structure/machinery/door/poddoor/almayer/open{
id = "Hangar Lockdown";
@@ -47157,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/upper/u_a_s)
+/area/almayer/maint/upper/u_f_s)
"mfM" = (
/obj/structure/surface/table/almayer,
/obj/effect/landmark/map_item,
@@ -47179,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_f_s)
"mgb" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/l_m_p)
@@ -47311,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{
@@ -47369,9 +47310,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_p)
-"mjR" = (
-/turf/open/floor/plating,
-/area/almayer/maint/upper/u_f_s)
"mjS" = (
/obj/structure/machinery/firealarm{
pixel_y = 28
@@ -47583,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
@@ -47601,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"
@@ -47612,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/fore_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/fore_hallway)
"mnW" = (
/obj/structure/surface/table/almayer,
/obj/item/device/reagent_scanner{
@@ -47670,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_f_p)
"mor" = (
/obj/structure/machinery/light{
dir = 8
@@ -47776,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/midship_hallway)
"mqg" = (
/obj/structure/bed/chair{
dir = 4
@@ -47795,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"
@@ -47859,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{
@@ -47923,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
@@ -47941,14 +47899,6 @@
},
/turf/open/floor/almayer,
/area/almayer/lifeboat_pumps/north1)
-"mtq" = (
-/obj/structure/machinery/light/small{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_s)
"mtr" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -48048,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,
@@ -48139,14 +48094,17 @@
/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/midship_hallway)
"mxT" = (
/obj/structure/surface/table/almayer,
@@ -48231,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{
- closeOtherId = "brigmaint_n";
- name = "\improper Brig"
- },
-/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
@@ -48296,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;
@@ -48308,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";
@@ -48371,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;
- closeOtherId = "astroladder_n";
- name = "\improper Astronavigational Deck";
- req_access = null;
- req_one_access_txt = "3;19"
+/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;
@@ -48416,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{
@@ -48423,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;
@@ -48432,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;
@@ -48455,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/upper/u_a_s)
"mDJ" = (
/turf/open/floor/almayer,
/area/almayer/engineering/upper_engineering/starboard)
@@ -48517,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;
@@ -48611,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/midship_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
@@ -48695,12 +48736,6 @@
icon_state = "mono"
},
/area/almayer/medical/hydroponics)
-"mHE" = (
-/turf/open/floor/almayer/aicore/no_build{
- dir = 8;
- icon_state = "ai_silver"
- },
-/area/almayer/command/airoom)
"mHF" = (
/obj/structure/surface/rack,
/obj/item/clothing/head/headband/red{
@@ -48719,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,
@@ -48730,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;
@@ -48753,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{
@@ -48763,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,
@@ -48800,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/fore_hallway)
"mJu" = (
/turf/open/floor/almayer/uscm/directional,
/area/almayer/command/cic)
@@ -48842,12 +48912,6 @@
icon_state = "orange"
},
/area/almayer/squads/bravo)
-"mJX" = (
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "red"
- },
-/area/almayer/lifeboat_pumps/south2)
"mKb" = (
/obj/structure/flora/pottedplant{
desc = "It is made of Fiberbush(tm). It contains asbestos.";
@@ -48919,15 +48983,6 @@
icon_state = "plate"
},
/area/almayer/command/lifeboat)
-"mKG" = (
-/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)
"mKJ" = (
/obj/structure/machinery/firealarm{
pixel_y = 28
@@ -48960,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
@@ -48986,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
@@ -49079,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/upper/u_m_s)
"mNX" = (
/turf/open/floor/almayer_hull{
dir = 4;
@@ -49122,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/fore_hallway)
"mOE" = (
/obj/structure/sign/safety/water{
pixel_x = -17
@@ -49136,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_f_s)
+/area/almayer/hallways/upper/midship_hallway)
"mPc" = (
/obj/structure/sign/safety/hvac_old{
pixel_x = 8;
@@ -49188,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_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)
"mPM" = (
/turf/open/floor/almayer{
icon_state = "test_floor4"
@@ -49258,11 +49274,6 @@
"mQC" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/port_atmos)
-"mQF" = (
-/turf/open/floor/almayer{
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/midship_hallway)
"mQY" = (
/obj/structure/machinery/door/airlock/almayer/maint{
dir = 1
@@ -49340,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"
@@ -49368,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,
@@ -49438,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/midship_hallway)
"mTp" = (
/obj/structure/window/reinforced{
dir = 4;
@@ -49462,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
@@ -49491,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/upper/u_a_s)
"mUY" = (
/obj/structure/surface/rack,
/obj/effect/spawner/random/tool,
@@ -49617,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.";
@@ -49656,19 +49693,6 @@
/obj/item/tool/wrench,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/lower/p_bow)
-"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/fore_hallway)
"mYt" = (
/obj/effect/decal/warning_stripes{
icon_state = "W";
@@ -49684,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";
@@ -49741,12 +49771,6 @@
icon_state = "plate"
},
/area/almayer/shipboard/port_point_defense)
-"mZv" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "red"
- },
-/area/almayer/lifeboat_pumps/south2)
"mZF" = (
/obj/structure/machinery/door/poddoor/almayer/locked{
icon_state = "almayer_pdoor";
@@ -49817,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/midship_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
@@ -49893,23 +49937,15 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/lower/port_midship_hallway)
-"nbW" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
+"nbH" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
},
-/turf/open/floor/almayer{
- icon_state = "orangecorner"
- },
-/area/almayer/hallways/upper/midship_hallway)
-"nbY" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/area/almayer/hallways/upper/aft_hallway)
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/upper/fore_hallway)
"ncf" = (
/obj/structure/machinery/cryopod/right{
layer = 3.1;
@@ -49939,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
@@ -49966,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/upper/u_a_s)
"ndl" = (
/obj/structure/disposalpipe/segment{
dir = 8;
@@ -50020,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{
@@ -50081,6 +50126,22 @@
/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{
@@ -50091,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
@@ -50170,15 +50238,6 @@
icon_state = "plate"
},
/area/almayer/squads/bravo)
-"ngF" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"ngI" = (
/turf/open/floor/almayer{
dir = 8;
@@ -50302,6 +50361,13 @@
/obj/structure/surface/table/almayer,
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/cells)
+"nhN" = (
+/obj/structure/sign/safety/autoopenclose{
+ pixel_x = 7;
+ pixel_y = 32
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_m_p)
"nhV" = (
/obj/structure/machinery/light/small,
/turf/open/floor/almayer{
@@ -50316,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";
@@ -50462,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;
@@ -50509,6 +50589,21 @@
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/sign/safety/terminal{
@@ -50543,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,
@@ -50651,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/upper/u_m_s)
"nnL" = (
/obj/structure/toilet{
dir = 8
@@ -50675,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{
@@ -50685,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{
@@ -50731,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
@@ -50748,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";
@@ -50803,13 +50928,6 @@
/obj/structure/pipes/standard/manifold/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/req)
-"nqG" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out";
- pixel_x = 1
- },
-/turf/open/floor/almayer,
-/area/almayer/lifeboat_pumps/south1)
"nqO" = (
/obj/structure/closet/secure_closet/fridge/fish/stock,
/turf/open/floor/almayer{
@@ -50900,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;
@@ -51016,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/upper/u_m_p)
"nve" = (
/obj/structure/janitorialcart,
/obj/item/tool/mop,
@@ -51029,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
@@ -51103,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/fore_hallway)
-"nww" = (
-/turf/open/floor/almayer{
- dir = 6;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/midship_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/upper/u_a_p)
"nwD" = (
/turf/open/floor/almayer{
dir = 1;
@@ -51160,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/upper/u_a_s)
"nwU" = (
/obj/structure/machinery/light{
dir = 4
@@ -51245,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)
@@ -51287,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
@@ -51297,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
@@ -51494,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,
@@ -51669,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/upper/u_a_p)
"nHu" = (
/obj/structure/largecrate/random/barrel/yellow,
/obj/structure/machinery/light{
@@ -51767,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/midship_hallway)
"nIG" = (
/obj/structure/machinery/power/apc/almayer{
dir = 4
@@ -51828,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"
@@ -51882,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/midship_hallway)
"nMe" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -51961,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/upper/u_m_s)
"nNT" = (
/obj/item/tool/weldingtool,
/turf/open/floor/plating/plating_catwalk,
@@ -52017,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,
@@ -52159,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/upper/u_a_s)
"nQA" = (
/turf/open/floor/carpet,
/area/almayer/command/corporateliaison)
@@ -52241,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";
@@ -52259,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_f_p)
"nTl" = (
/turf/open/floor/almayer{
dir = 1;
@@ -52442,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/fore_hallway)
"nVB" = (
/turf/open/floor/almayer,
/area/almayer/command/securestorage)
@@ -52497,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,
@@ -52516,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{
@@ -52553,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";
@@ -52572,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{
@@ -52621,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{
@@ -52636,13 +52799,11 @@
/turf/open/floor/plating/plating_catwalk,
/area/almayer/maint/hull/upper/u_a_p)
"nZK" = (
-/obj/structure/machinery/door/airlock/almayer/maint{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
},
-/area/almayer/maint/upper/u_f_p)
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/midship_hallway)
"nZR" = (
/obj/structure/machinery/power/apc/almayer{
dir = 8
@@ -52689,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{
@@ -52727,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/upper/u_a_s)
"obQ" = (
/obj/structure/bed/chair{
dir = 8
@@ -52789,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/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/fore_hallway)
+/area/almayer/command/airoom)
"odb" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer{
@@ -52955,12 +53112,6 @@
icon_state = "silver"
},
/area/almayer/command/computerlab)
-"oeN" = (
-/obj/structure/closet/emcloset,
-/turf/open/floor/almayer{
- icon_state = "cargo"
- },
-/area/almayer/hallways/upper/fore_hallway)
"oeZ" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/shipboard/brig/medical)
@@ -52995,6 +53146,19 @@
icon_state = "red"
},
/area/almayer/hallways/upper/port)
+"ofY" = (
+/obj/structure/surface/table/reinforced/almayer_B{
+ indestructible = 1;
+ unacidable = 1;
+ unslashable = 1
+ },
+/obj/structure/machinery/computer/working_joe{
+ layer = 3.3;
+ dir = 4;
+ pixel_y = 6
+ },
+/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.";
@@ -53009,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{
@@ -53168,6 +53345,22 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/warden_office)
+"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{
+ icon_state = "test_floor4"
+ },
+/area/almayer/shipboard/brig/warden_office)
"oiL" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -53241,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,
@@ -53272,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/upper/u_a_p)
-"okx" = (
-/turf/open/floor/almayer{
- dir = 9;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/midship_hallway)
"okD" = (
/obj/structure/prop/almayer/name_stencil{
icon_state = "almayer6"
@@ -53304,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_f_s)
+/area/almayer/hallways/upper/midship_hallway)
"olM" = (
/obj/structure/bed/chair{
can_buckle = 0;
@@ -53387,16 +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"
- },
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "green"
- },
-/area/almayer/hallways/upper/fore_hallway)
"omt" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/simple/hidden/supply,
@@ -53434,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/midship_hallway)
"onn" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer,
@@ -53485,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,
@@ -53540,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"
@@ -53571,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/fore_hallway)
"opV" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -53714,17 +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/structure/machinery/power/apc/almayer{
- dir = 1
+/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/upper/u_m_s)
+/area/almayer/maint/upper/u_a_s)
"orH" = (
/turf/open/floor/almayer/uscm/directional{
dir = 10
@@ -53740,9 +53902,6 @@
icon_state = "plate"
},
/area/almayer/engineering/lower/workshop/hangar)
-"orV" = (
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/fore_hallway)
"osc" = (
/obj/structure/machinery/cm_vending/sorted/uniform_supply/squad_prep,
/obj/structure/machinery/light{
@@ -53750,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_f_s)
+/area/almayer/maint/upper/u_f_p)
"osx" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -53779,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{
- dir = 4;
- icon_state = "ai_silver"
- },
-/area/almayer/command/airoom)
"osz" = (
/obj/structure/machinery/door/firedoor/border_only/almayer,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -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/midship_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
@@ -54220,15 +54363,6 @@
icon_state = "test_floor4"
},
/area/almayer/hallways/lower/port_umbilical)
-"oAp" = (
-/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)
"oAB" = (
/obj/structure/platform{
dir = 8;
@@ -54264,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/fore_hallway)
"oBq" = (
/obj/structure/bed,
/obj/structure/machinery/flasher{
@@ -54303,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
@@ -54358,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)
@@ -54375,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;
@@ -54481,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,
@@ -54510,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;
@@ -54558,14 +54727,10 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_s)
-"oFU" = (
-/obj/structure/machinery/door/airlock/almayer/maint{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/maint/upper/u_a_p)
+"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;
@@ -54640,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,
@@ -54664,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;
@@ -54771,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{
- closeOtherId = "containment_n";
- dir = 8;
- name = "\improper Containment Airlock"
- },
-/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"
@@ -54803,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
@@ -54832,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";
@@ -54848,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
@@ -54918,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{
- dir = 8;
- icon_state = "ai_silver"
- },
-/area/almayer/command/airoom)
"oLF" = (
/obj/structure/machinery/door/firedoor/border_only/almayer,
/obj/structure/machinery/door/poddoor/almayer/open{
@@ -55013,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/midship_hallway)
"oNb" = (
/obj/structure/surface/table/almayer,
/obj/structure/flora/pottedplant{
@@ -55053,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{
@@ -55069,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";
@@ -55079,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/midship_hallway)
"oOp" = (
/obj/structure/surface/table/almayer,
/obj/item/tool/wirecutters,
@@ -55125,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
@@ -55207,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,
@@ -55253,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
@@ -55376,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/upper/u_a_s)
"oTe" = (
/obj/item/prop/almayer/box,
/obj/item/prop{
@@ -55480,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/midship_hallway)
"oUZ" = (
/obj/structure/surface/rack,
/obj/item/tool/crowbar,
@@ -55528,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
@@ -55644,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;
@@ -55712,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/upper/u_m_p)
"oZp" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/light,
@@ -55734,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"
@@ -55769,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,
@@ -55809,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;
@@ -55926,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
@@ -55972,25 +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;
- 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)
"pdK" = (
/obj/structure/stairs/perspective{
dir = 8;
@@ -56017,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/midship_hallway)
+"pep" = (
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/maint/upper/u_f_p)
"peM" = (
/obj/structure/closet/firecloset,
/turf/open/floor/almayer{
@@ -56079,12 +56279,6 @@
},
/turf/open/floor/plating,
/area/almayer/shipboard/brig/starboard_hallway)
-"pfe" = (
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "red"
- },
-/area/almayer/lifeboat_pumps/south2)
"pfp" = (
/obj/effect/step_trigger/teleporter_vector{
name = "Almayer_Up4";
@@ -56131,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";
@@ -56143,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;
@@ -56215,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"
},
@@ -56264,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,
@@ -56318,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/midship_hallway)
"pjR" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -56349,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{
@@ -56469,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
@@ -56536,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/aft_hallway)
"pqw" = (
/obj/structure/sign/safety/maint{
pixel_x = 32
@@ -56591,18 +56810,16 @@
icon_state = "plate"
},
/area/almayer/engineering/lower/workshop)
-"pqR" = (
-/obj/structure/largecrate/random/case/double,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_f_p)
"pqX" = (
/obj/structure/bed/chair{
dir = 4
},
/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
@@ -56654,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/aft_hallway)
"prX" = (
/obj/structure/ladder{
height = 2;
@@ -56682,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
@@ -56790,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
@@ -56819,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_f_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
@@ -56856,13 +57081,10 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/almayer,
/area/almayer/living/port_emb)
-"pvE" = (
-/obj/structure/machinery/light{
- dir = 1
- },
+"pvi" = (
/turf/open/floor/almayer{
- dir = 4;
- icon_state = "orangecorner"
+ dir = 6;
+ icon_state = "red"
},
/area/almayer/hallways/upper/aft_hallway)
"pvI" = (
@@ -56914,12 +57136,17 @@
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/fore_hallway)
"pwx" = (
@@ -57105,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{
@@ -57143,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/midship_hallway)
"pBG" = (
/turf/closed/wall/almayer,
/area/almayer/command/corporateliaison)
@@ -57171,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/upper/u_m_s)
"pDh" = (
/obj/structure/machinery/power/monitor{
name = "Core Power Monitoring"
@@ -57278,14 +57496,6 @@
icon_state = "green"
},
/area/almayer/living/grunt_rnr)
-"pEA" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
- dir = 2
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/upper/fore_hallway)
"pEB" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -57335,14 +57545,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_p)
-"pFJ" = (
-/obj/structure/machinery/door/airlock/almayer/maint{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/maint/upper/u_a_s)
"pGh" = (
/obj/effect/decal/cleanable/cobweb{
pixel_x = -9;
@@ -57356,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{
@@ -57399,12 +57620,6 @@
icon_state = "green"
},
/area/almayer/hallways/lower/port_midship_hallway)
-"pHj" = (
-/obj/structure/machinery/light/small,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_p)
"pHp" = (
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/perma)
@@ -57449,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/upper/u_a_s)
"pIo" = (
/obj/structure/machinery/door/airlock/almayer/maint{
dir = 1
@@ -57543,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
@@ -57573,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
@@ -57627,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;
@@ -57747,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/port)
"pOD" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/structure/disposalpipe/segment{
@@ -58023,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/midship_hallway)
"pSQ" = (
/obj/structure/reagent_dispensers/fueltank{
anchored = 1
@@ -58053,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{
@@ -58073,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{
@@ -58094,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,
@@ -58141,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/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
@@ -58205,16 +58439,6 @@
},
/turf/open/floor/almayer,
/area/almayer/command/corporateliaison)
-"pVI" = (
-/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)
"pWb" = (
/obj/effect/landmark/start/marine/tl/delta,
/obj/effect/landmark/late_join/delta,
@@ -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{
- dir = 4;
- icon_state = "ai_silver"
- },
-/area/almayer/command/airoom)
"pYo" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -58460,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
@@ -58494,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;
@@ -58519,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/midship_hallway)
"qdk" = (
/obj/structure/surface/table/almayer,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -58593,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
@@ -58757,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;
@@ -58813,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"
@@ -58867,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
@@ -58908,9 +59162,6 @@
icon_state = "test_floor4"
},
/area/almayer/living/tankerbunks)
-"qii" = (
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/upper/u_a_s)
"qim" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/manifold/hidden/supply{
@@ -58966,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/upper/u_m_s)
"qjV" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 9
@@ -58984,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)
@@ -59160,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
@@ -59197,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";
@@ -59210,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/lifeboat_pumps/north2)
"qnh" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -59266,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{
@@ -59311,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"
@@ -59342,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/aft_hallway)
"qpQ" = (
/obj/item/reagent_container/glass/beaker/bluespace,
/obj/structure/machinery/chem_dispenser/medbay,
@@ -59366,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/midship_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,
@@ -59471,22 +59759,6 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/engineering/ce_room)
-"qtj" = (
-/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)
"qtv" = (
/obj/structure/disposalpipe/segment,
/turf/open/floor/almayer{
@@ -59520,17 +59792,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/cryo_tubes)
-"quy" = (
-/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)
"quJ" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 6
@@ -59569,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
@@ -59593,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
@@ -59614,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/fore_hallway)
"qwo" = (
/obj/structure/machinery/washing_machine,
/obj/structure/machinery/washing_machine{
@@ -59655,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{
- dir = 8;
- 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{
@@ -59762,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/fore_hallway)
"qxL" = (
/obj/structure/machinery/medical_pod/autodoc,
/turf/open/floor/almayer{
@@ -59787,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
@@ -59811,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,
@@ -59891,12 +60192,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/p_bow)
-"qzQ" = (
-/obj/structure/machinery/door/airlock/almayer/maint,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/maint/upper/u_a_s)
"qAs" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 1
@@ -59961,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
@@ -59974,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"
},
@@ -60109,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
@@ -60136,13 +60422,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_a_p)
-"qDX" = (
-/turf/closed/wall/almayer,
-/area/almayer/hallways/upper/aft_hallway)
-"qEc" = (
-/obj/effect/step_trigger/clone_cleaner,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/fore_hallway)
"qEk" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -60239,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/upper/u_a_s)
"qFi" = (
/obj/structure/bed/chair/comfy/black{
dir = 4
@@ -60342,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/midship_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/midship_hallway)
"qHg" = (
/turf/open/floor/almayer{
dir = 1;
@@ -60379,15 +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/midship_hallway)
-"qHA" = (
-/turf/closed/wall/almayer,
-/area/almayer/maint/upper/u_a_s)
+/area/almayer/hallways/upper/aft_hallway)
"qHG" = (
/obj/structure/machinery/light/small{
dir = 1
@@ -60406,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
@@ -60434,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{
@@ -60596,15 +60863,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/lower/l_a_p)
-"qKU" = (
-/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/aft_hallway)
"qKY" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -60615,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{
@@ -60637,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,
@@ -60723,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{
@@ -60732,15 +61026,6 @@
icon_state = "cargo"
},
/area/almayer/squads/delta)
-"qNe" = (
-/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)
"qNI" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -60819,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)
@@ -60828,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/midship_hallway)
"qPD" = (
/turf/open/floor/almayer,
/area/almayer/shipboard/brig/perma)
@@ -60890,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
@@ -60897,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/upper/u_a_p)
+/area/almayer/hallways/upper/midship_hallway)
"qQS" = (
/turf/open/floor/almayer/aicore/no_build,
/area/almayer/command/airoom)
@@ -60949,21 +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/fore_hallway)
+/area/almayer/command/airoom)
"qSm" = (
/obj/structure/pipes/vents/pump{
dir = 4
},
/turf/open/floor/almayer,
/area/almayer/shipboard/port_point_defense)
+"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,
@@ -61000,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
@@ -61008,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
@@ -61016,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,
@@ -61047,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";
@@ -61067,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_x = -2;
- pixel_y = -11
- },
+"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
@@ -61210,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_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
+"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"
@@ -61320,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;
@@ -61348,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;
@@ -61474,13 +61783,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/lower/engine_core)
-"rao" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "red"
- },
-/area/almayer/lifeboat_pumps/south2)
"raE" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer{
@@ -61623,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/fore_hallway)
"rdt" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -61644,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;
@@ -61700,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
@@ -61865,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"
@@ -61876,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{
@@ -61979,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/midship_hallway)
"riP" = (
/obj/structure/machinery/light,
/obj/structure/sign/safety/rewire{
@@ -62010,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
@@ -62039,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;
@@ -62075,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,
@@ -62193,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,
@@ -62208,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/midship_hallway)
"rmD" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
@@ -62230,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/fore_hallway)
"rnF" = (
/obj/structure/machinery/door/airlock/almayer/engineering{
dir = 2;
@@ -62272,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{
@@ -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/lifeboat_pumps/south2)
"rpp" = (
/obj/effect/landmark/start/executive,
/turf/open/floor/plating/plating_catwalk,
@@ -62362,10 +62695,15 @@
icon_state = "plate"
},
/area/almayer/command/cichallway)
-"rpP" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/fore_hallway)
+"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
@@ -62486,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/aft_hallway)
"rrK" = (
/obj/structure/bed/chair{
can_buckle = 0;
@@ -62546,11 +62877,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/grunt_rnr)
-"rsN" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/fore_hallway)
"rsO" = (
/obj/structure/pipes/standard/manifold/hidden/supply,
/turf/open/floor/almayer,
@@ -62731,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/midship_hallway)
"rwj" = (
/turf/open/floor/almayer{
dir = 4;
@@ -62796,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;
@@ -62809,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{
@@ -62827,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{
@@ -62929,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{
@@ -62975,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;
@@ -62992,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";
@@ -63008,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
@@ -63044,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
@@ -63080,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/midship_hallway)
"rDr" = (
/obj/structure/pipes/vents/pump,
/turf/open/floor/almayer{
@@ -63191,11 +63520,6 @@
icon_state = "outerhull_dir"
},
/area/space)
-"rEs" = (
-/turf/open/floor/almayer{
- icon_state = "orange"
- },
-/area/almayer/maint/upper/u_a_s)
"rEt" = (
/obj/structure/largecrate/random/secure,
/turf/open/floor/almayer{
@@ -63228,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{
@@ -63283,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/lifeboat_pumps/north2)
"rGj" = (
/turf/open/floor/almayer{
icon_state = "red"
@@ -63359,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/fore_hallway)
"rHo" = (
/obj/structure/machinery/door/firedoor/border_only/almayer{
layer = 1.9
@@ -63462,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/upper/u_m_s)
"rIH" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -63582,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/upper/u_a_p)
"rKd" = (
/turf/open/floor/almayer/uscm/directional{
dir = 5
@@ -63608,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
@@ -63692,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{
@@ -63761,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{
@@ -63833,17 +64126,6 @@
"rPt" = (
/turf/open/floor/wood/ship,
/area/almayer/engineering/ce_room)
-"rPB" = (
-/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)
"rPE" = (
/obj/structure/bed/chair{
dir = 8;
@@ -63948,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/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/port)
"rRq" = (
/turf/closed/wall/almayer,
/area/almayer/lifeboat_pumps/south2)
@@ -63973,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
@@ -64049,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{
@@ -64056,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_f_p)
+/area/almayer/hallways/upper/fore_hallway)
"rTk" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 4
@@ -64128,6 +64403,11 @@
icon_state = "silver"
},
/area/almayer/command/computerlab)
+"rUN" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/aft_hallway)
"rVc" = (
/obj/structure/bed/chair{
dir = 8;
@@ -64233,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{
@@ -64303,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/aft_hallway)
"rYh" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -64346,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/fore_hallway)
"rYI" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -64373,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"
@@ -64400,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/midship_hallway)
"rZP" = (
/obj/structure/surface/table/almayer,
/obj/item/tool/weldpack,
@@ -64417,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,
@@ -64437,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/fore_hallway)
"sbq" = (
/obj/structure/machinery/door/poddoor/almayer/locked{
icon_state = "almayer_pdoor";
@@ -64485,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
@@ -64572,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{
@@ -64582,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;
@@ -64645,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)
@@ -64751,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;
@@ -64822,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,
@@ -64833,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;
@@ -64900,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/lifeboat_pumps/south2)
"siT" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -64961,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/upper/u_m_p)
"sjz" = (
/obj/effect/decal/warning_stripes{
icon_state = "SW-out";
@@ -64980,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;
@@ -65375,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/midship_hallway)
"sqa" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -65422,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_f_s)
"sqW" = (
/obj/structure/machinery/portable_atmospherics/hydroponics,
/obj/item/seeds/tomatoseed,
@@ -65506,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/port)
"ssU" = (
/obj/structure/machinery/constructable_frame,
/turf/open/floor/almayer{
@@ -65551,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/fore_hallway)
"str" = (
/obj/effect/step_trigger/teleporter_vector{
name = "Almayer_Down3";
@@ -65579,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/upper/u_a_s)
"stO" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/faxmachine/uscm/brig,
@@ -65678,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{
@@ -65704,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/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{
@@ -65808,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
@@ -65823,12 +66119,9 @@
},
/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"
- },
+"syO" = (
+/obj/structure/machinery/light,
+/turf/open/floor/almayer,
/area/almayer/hallways/upper/midship_hallway)
"szf" = (
/obj/structure/disposalpipe/segment{
@@ -65936,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/lifeboat_pumps/south2)
"sBL" = (
/obj/structure/machinery/portable_atmospherics/hydroponics,
/obj/structure/machinery/light,
@@ -65951,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,
@@ -66026,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/aft_hallway)
"sDu" = (
/obj/item/clothing/under/marine/dress,
/turf/open/floor/almayer{
@@ -66310,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{
@@ -66324,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
@@ -66363,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
@@ -66420,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
@@ -66435,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
@@ -66634,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
@@ -66653,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
@@ -66665,12 +66993,6 @@
icon_state = "plate"
},
/area/almayer/living/offices)
-"sPk" = (
-/obj/structure/machinery/light,
-/turf/open/floor/almayer{
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/fore_hallway)
"sPF" = (
/obj/structure/bed/chair{
can_buckle = 0;
@@ -66697,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/fore_hallway)
"sQF" = (
/turf/open/floor/almayer{
icon_state = "red"
@@ -66716,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
@@ -66724,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/upper/u_a_p)
+/area/almayer/hallways/upper/fore_hallway)
"sSa" = (
/obj/structure/machinery/door/airlock/almayer/marine/requisitions{
dir = 2;
@@ -66751,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{
@@ -66892,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,
@@ -66900,15 +67245,13 @@
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/fore_hallway)
+/area/almayer/hallways/upper/aft_hallway)
"sVT" = (
/obj/structure/surface/table/almayer,
/obj/item/storage/toolbox/mechanical,
@@ -66929,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
@@ -67116,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;
@@ -67188,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{
@@ -67280,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/midship_hallway)
-"tbF" = (
-/turf/open/floor/almayer{
- icon_state = "silvercorner"
- },
-/area/almayer/hallways/upper/midship_hallway)
"tcd" = (
/obj/structure/surface/table/almayer,
/obj/item/device/radio{
@@ -67447,21 +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);
- pixel_y = 9
- },
-/obj/item/stack/sheet/cardboard/small_stack{
- layer = 3.01
- },
-/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_f_s)
"tez" = (
/obj/effect/landmark/ert_spawns/distress_cryo,
/obj/effect/landmark/late_join,
@@ -67485,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;
@@ -67508,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{
@@ -67665,13 +68027,13 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/port)
-"tic" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
+"tie" = (
+/obj/structure/largecrate/supply/floodlights,
/turf/open/floor/almayer{
- dir = 1;
+ dir = 6;
icon_state = "red"
},
-/area/almayer/lifeboat_pumps/north2)
+/area/almayer/maint/upper/u_a_p)
"tig" = (
/obj/structure/surface/table/almayer,
/obj/item/reagent_container/food/condiment/hotsauce/tabasco{
@@ -67742,12 +68104,6 @@
icon_state = "orange"
},
/area/almayer/engineering/upper_engineering/port)
-"tiO" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "red"
- },
-/area/almayer/lifeboat_pumps/south2)
"tiR" = (
/obj/structure/machinery/door/firedoor/border_only/almayer,
/obj/structure/machinery/door/airlock/almayer/maint/reinforced{
@@ -67789,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/midship_hallway)
"tjj" = (
/turf/open/floor/almayer{
dir = 5;
@@ -67817,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/upper/u_m_s)
"tjH" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/item/device/radio/headset/almayer/mt,
@@ -67841,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;
@@ -67868,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;
@@ -67942,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,
@@ -67981,29 +68347,20 @@
icon_state = "redcorner"
},
/area/almayer/shipboard/brig/execution)
-"tmI" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out";
- pixel_x = -1
- },
-/turf/open/floor/almayer,
-/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,
@@ -68044,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
@@ -68121,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{
@@ -68137,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/fore_hallway)
"tpn" = (
/turf/closed/wall/almayer,
/area/almayer/shipboard/brig/evidence_storage)
@@ -68201,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
@@ -68274,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;
@@ -68288,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
@@ -68305,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"
@@ -68340,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)
@@ -68419,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/upper/u_a_s)
"ttB" = (
/obj/structure/largecrate/random/case/double,
/turf/open/floor/plating/plating_catwalk,
@@ -68547,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{
@@ -68561,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/upper/u_a_s)
"tvt" = (
/obj/structure/window/framed/almayer/hull,
/turf/open/floor/plating,
@@ -68630,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/upper/u_m_s)
"twp" = (
/obj/structure/ladder{
height = 1;
@@ -68645,25 +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
- },
-/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)
"twB" = (
/obj/structure/prop/almayer/name_stencil{
icon_state = "almayer2"
@@ -68712,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/midship_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,
@@ -68787,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
@@ -68830,7 +69191,7 @@
/turf/open/floor/almayer{
icon_state = "mono"
},
-/area/almayer/hallways/upper/midship_hallway)
+/area/almayer/hallways/upper/aft_hallway)
"tzL" = (
/obj/structure/sign/safety/waterhazard{
pixel_x = 8;
@@ -68841,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{
@@ -68869,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{
@@ -68983,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/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/midship_hallway)
+/area/almayer/shipboard/brig/starboard_hallway)
"tCT" = (
/obj/structure/bed/chair/comfy/blue{
dir = 8
@@ -69092,6 +69492,20 @@
icon_state = "test_floor4"
},
/area/almayer/command/airoom)
+"tFJ" = (
+/obj/structure/largecrate/supply/supplies/mre,
+/turf/open/floor/almayer{
+ 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/maint/upper/u_a_p)
"tFS" = (
/obj/structure/machinery/computer/supplycomp,
/obj/structure/sign/safety/terminal{
@@ -69175,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/aft_hallway)
"tHk" = (
/obj/structure/surface/rack,
/obj/effect/spawner/random/toolbox,
@@ -69280,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{
@@ -69339,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
@@ -69351,15 +69771,6 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/charlie_delta_shared)
-"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{
@@ -69450,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/upper/u_a_p)
+/area/almayer/hallways/upper/fore_hallway)
"tMU" = (
/obj/structure/sign/safety/hvac_old{
pixel_x = 8;
@@ -69506,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";
@@ -69593,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/fore_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/fore_hallway)
"tPI" = (
/obj/structure/bed/chair{
dir = 4
@@ -69640,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_f_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/fore_hallway)
"tQV" = (
/turf/closed/wall/almayer/outer,
/area/almayer/lifeboat_pumps/south1)
@@ -69714,6 +70104,16 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
+"tSX" = (
+/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/upper/u_m_s)
"tTk" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -69752,13 +70152,6 @@
icon_state = "kitchen"
},
/area/almayer/living/captain_mess)
-"tTE" = (
-/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)
"tTG" = (
/obj/structure/sign/safety/terminal{
pixel_x = 8;
@@ -69773,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;
@@ -69851,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_f_s)
"tVx" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -69872,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/fore_hallway)
"tWi" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 8
@@ -69925,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_f_s)
"tWY" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -69949,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{
@@ -70108,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/upper/u_a_s)
"tZZ" = (
/obj/structure/machinery/cryopod,
/obj/effect/decal/warning_stripes{
@@ -70210,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";
@@ -70239,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/fore_hallway)
"ucp" = (
/obj/structure/window/framed/almayer,
/turf/open/floor/plating,
@@ -70325,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{
@@ -70402,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{
@@ -70426,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{
@@ -70472,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,
@@ -70549,11 +70959,6 @@
/obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m4ra_rifle,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/armory)
-"uhI" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/fore_hallway)
"uhM" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 5
@@ -70568,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
@@ -70617,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_f_s)
"ujz" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/simple/hidden/supply,
@@ -70750,22 +71155,12 @@
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/fore_hallway)
"umI" = (
/obj/structure/machinery/door/firedoor/border_only/almayer,
/turf/open/floor/almayer{
icon_state = "test_floor4"
},
-/area/almayer/hallways/upper/fore_hallway)
+/area/almayer/hallways/upper/aft_hallway)
"umS" = (
/obj/structure/bed/chair/comfy{
dir = 8
@@ -70836,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
@@ -70909,11 +71294,6 @@
icon_state = "cargo_arrow"
},
/area/almayer/living/offices)
-"upQ" = (
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/lifeboat_pumps/north1)
"upR" = (
/obj/structure/machinery/light{
dir = 1
@@ -70931,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{
@@ -70980,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;
@@ -70996,15 +71394,6 @@
},
/turf/open/floor/almayer,
/area/almayer/command/lifeboat)
-"uqJ" = (
-/turf/open/floor/almayer{
- icon_state = "orangecorner"
- },
-/area/almayer/maint/upper/u_a_s)
-"urg" = (
-/obj/docking_port/stationary/escape_pod/east,
-/turf/open/floor/plating,
-/area/almayer/maint/upper/u_m_p)
"urk" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -71015,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/midship_hallway)
"ury" = (
/obj/structure/bed/chair{
dir = 8
@@ -71033,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_f_s)
"urM" = (
/obj/structure/machinery/light{
dir = 8
@@ -71064,9 +71430,6 @@
/obj/effect/landmark/late_join/charlie,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/charlie)
-"usi" = (
-/turf/open/floor/almayer,
-/area/almayer/hallways/upper/aft_hallway)
"usm" = (
/obj/structure/machinery/light,
/obj/structure/sign/safety/waterhazard{
@@ -71090,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"
@@ -71101,10 +71473,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/medical_science)
-"usL" = (
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/almayer,
-/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/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/midship_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/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/upper/u_a_s)
"uxC" = (
/obj/structure/machinery/light{
dir = 4
@@ -71471,12 +71823,6 @@
},
/turf/open/floor/wood/ship,
/area/almayer/living/basketball)
-"uxW" = (
-/obj/structure/largecrate/random/case/small,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_a_s)
"uxX" = (
/obj/structure/pipes/standard/manifold/hidden/supply,
/turf/open/floor/almayer,
@@ -71504,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;
@@ -71531,37 +71879,12 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/ce_room)
-"uzH" = (
-/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)
"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/midship_hallway)
"uAj" = (
/obj/structure/bed/chair,
/obj/effect/decal/cleanable/dirt,
@@ -71624,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;
@@ -71649,10 +71986,6 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/lower/starboard_midship_hallway)
-"uBs" = (
-/obj/effect/landmark/start/pilot/dropship_pilot,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/living/pilotbunks)
"uBx" = (
/obj/structure/prop/invuln/overhead_pipe{
dir = 4;
@@ -71677,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
@@ -71907,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,
@@ -71949,11 +72298,6 @@
icon_state = "plate"
},
/area/almayer/maint/lower/s_bow)
-"uIa" = (
-/turf/open/floor/almayer{
- icon_state = "greencorner"
- },
-/area/almayer/hallways/upper/fore_hallway)
"uIv" = (
/turf/open/floor/almayer{
icon_state = "orange"
@@ -72052,22 +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 = 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)
"uKH" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -72146,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;
@@ -72226,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/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{
@@ -72249,21 +72598,25 @@
icon_state = "blue"
},
/area/almayer/living/basketball)
-"uPB" = (
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "silver"
- },
-/area/almayer/hallways/upper/midship_hallway)
"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/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;
@@ -72295,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/fore_hallway)
"uQm" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -72404,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{
@@ -72439,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/midship_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;
@@ -72472,12 +72826,6 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/bravo)
-"uTD" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "mono"
- },
-/area/almayer/hallways/upper/fore_hallway)
"uTE" = (
/obj/structure/sign/safety/hvac_old{
pixel_x = 8;
@@ -72622,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
@@ -72636,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/fore_hallway)
"uVh" = (
/obj/structure/filingcabinet/seeds,
/turf/open/floor/almayer{
@@ -72697,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/fore_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";
@@ -72795,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"
@@ -72884,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/midship_hallway)
"uZV" = (
/obj/structure/reagent_dispensers/fueltank/gas/methane{
anchored = 1
@@ -72921,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/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)
"vaQ" = (
/obj/structure/machinery/door/airlock/almayer/medical{
dir = 1;
@@ -72980,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/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)
@@ -73042,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
@@ -73094,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{
@@ -73148,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_f_s)
+/area/almayer/lifeboat_pumps/south2)
"ven" = (
/obj/structure/bed/chair,
/turf/open/floor/almayer{
@@ -73178,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/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/upper/u_m_p)
"vfa" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -73336,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;
@@ -73445,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
@@ -73482,13 +73849,6 @@
icon_state = "red"
},
/area/almayer/lifeboat_pumps/south1)
-"vjd" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "NW-out";
- pixel_y = 1
- },
-/turf/open/floor/almayer,
-/area/almayer/command/lifeboat)
"vjg" = (
/obj/structure/prop/almayer/missile_tube{
icon_state = "missiletubesouth"
@@ -73499,26 +73859,6 @@
icon_state = "plating"
},
/area/almayer/shipboard/port_missiles)
-"vjk" = (
-/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)
"vjv" = (
/obj/effect/decal/cleanable/blood/oil,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -73669,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/midship_hallway)
"vkR" = (
/obj/structure/machinery/power/apc/almayer{
dir = 1
@@ -73685,15 +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/upper/u_m_p)
-"vle" = (
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_a_s)
"vlk" = (
/obj/structure/closet/emcloset,
/obj/item/clothing/mask/gas,
@@ -73762,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/midship_hallway)
"vlX" = (
/obj/structure/machinery/cm_vending/sorted/cargo_guns/squad_prep,
/turf/open/floor/almayer{
@@ -73794,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/upper/u_a_p)
"vmE" = (
/turf/open/floor/almayer{
icon_state = "orangecorner"
@@ -73856,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/midship_hallway)
+/area/almayer/hallways/upper/fore_hallway)
"vop" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -73882,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{
@@ -73897,12 +74277,6 @@
icon_state = "plate"
},
/area/almayer/maint/hull/upper/u_m_p)
-"vpi" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/aft_hallway)
"vpn" = (
/turf/open/floor/almayer{
dir = 9;
@@ -73920,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;
@@ -73961,9 +74352,6 @@
icon_state = "test_floor4"
},
/area/almayer/shipboard/brig/processing)
-"vqh" = (
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/upper/u_f_s)
"vqz" = (
/obj/structure/machinery/light{
dir = 4
@@ -73991,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{
@@ -74240,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/starboard)
"vuF" = (
/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{
access_modified = 1;
@@ -74390,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{
@@ -74419,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/upper/u_m_p)
+/area/almayer/hallways/upper/midship_hallway)
"vwU" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
@@ -74447,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{
- closeOtherId = "brigwarden";
- dir = 1;
- name = "\improper Warden's Office"
- },
-/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{
@@ -74571,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
@@ -74638,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_f_s)
"vzP" = (
/obj/structure/surface/table/almayer,
/obj/item/storage/box/cups,
@@ -74742,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{
- dir = 8;
- icon_state = "ai_silver"
- },
-/area/almayer/command/airoom)
"vBp" = (
/obj/structure/bed/chair/comfy{
dir = 1
@@ -74808,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
@@ -74831,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,
@@ -74862,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_f_s)
"vDz" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 9
@@ -74882,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/upper/u_a_p)
"vEf" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 10
@@ -74952,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";
@@ -74993,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/fore_hallway)
"vFH" = (
/obj/structure/largecrate/random/case/double,
/turf/open/floor/almayer{
@@ -75025,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;
@@ -75053,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{
@@ -75172,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,
@@ -75198,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/fore_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;
@@ -75281,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{
@@ -75288,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
@@ -75332,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";
@@ -75346,14 +75775,6 @@
icon_state = "cargo_arrow"
},
/area/almayer/squads/charlie)
-"vLM" = (
-/obj/structure/machinery/light/small{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_m_p)
"vMb" = (
/obj/item/stool{
pixel_x = -15;
@@ -75368,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
@@ -75430,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/upper/u_m_p)
"vMU" = (
/obj/effect/decal/warning_stripes{
icon_state = "NE-out";
@@ -75444,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
@@ -75638,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
@@ -75671,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,
@@ -75716,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/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{
@@ -75854,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,
@@ -75876,23 +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;
- 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)
"vTX" = (
/obj/structure/sign/safety/distribution_pipes{
pixel_y = -32
@@ -75922,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
@@ -75943,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/fore_hallway)
"vUP" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/shipboard/brig/cic_hallway)
@@ -75973,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"
@@ -76208,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,
@@ -76293,22 +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/cell_charger,
-/obj/structure/sign/safety/high_rad{
- pixel_x = 32;
- pixel_y = -8
+"vZI" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/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;
@@ -76340,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/starboard)
+/area/almayer/hallways/upper/fore_hallway)
"wbu" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/camera/autoname/almayer{
@@ -76515,25 +76982,6 @@
icon_state = "silver"
},
/area/almayer/shipboard/brig/cic_hallway)
-"wdo" = (
-/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)
"wdv" = (
/obj/structure/machinery/door/airlock/almayer/maint{
name = "\improper Core Hatch"
@@ -76554,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
@@ -76627,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;
@@ -76748,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
@@ -76774,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
@@ -76786,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
@@ -76889,29 +77355,11 @@
icon_state = "plate"
},
/area/almayer/shipboard/port_point_defense)
-"wjE" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "red"
- },
-/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/upper/u_a_s)
"wjQ" = (
/obj/structure/disposalpipe/segment,
/obj/structure/prop/invuln/overhead_pipe{
@@ -76957,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
@@ -77062,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/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{
@@ -77113,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
@@ -77121,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/midship_hallway)
"wmK" = (
/obj/structure/surface/table/almayer,
/obj/item/clipboard,
@@ -77160,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,
@@ -77230,21 +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"
},
-/obj/item/desk_bell{
- anchored = 1;
- pixel_x = -8;
- pixel_y = 8
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
},
-/turf/open/floor/carpet,
-/area/almayer/command/corporateliaison)
+/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{
@@ -77259,30 +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,
-/obj/item/clothing/head/bearpelt,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/living/port_emb)
"wpI" = (
/turf/open/floor/almayer{
dir = 4;
@@ -77299,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/upper/u_a_s)
"wqc" = (
/obj/structure/sign/poster{
pixel_y = 32
@@ -77386,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{
@@ -77401,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/lifeboat_pumps/north1)
"wrT" = (
/obj/structure/surface/table/almayer,
/obj/item/device/radio/marine,
@@ -77595,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,
@@ -77617,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
@@ -77684,15 +78162,19 @@
icon_state = "cargo"
},
/area/almayer/living/synthcloset)
-"wwi" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
+"wvX" = (
+/obj/structure/sign/safety/analysis_lab{
+ pixel_y = 26
},
-/obj/structure/disposalpipe/segment{
- dir = 4
+/obj/structure/sign/safety/terminal{
+ pixel_x = 15;
+ pixel_y = 26
},
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/fore_hallway)
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "silver"
+ },
+/area/almayer/hallways/upper/midship_hallway)
"wwr" = (
/obj/structure/machinery/cryopod{
layer = 3.1;
@@ -77821,9 +78303,6 @@
icon_state = "plate"
},
/area/almayer/living/grunt_rnr)
-"wyc" = (
-/turf/open/floor/plating,
-/area/almayer/maint/upper/u_f_p)
"wyt" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/structure/machinery/microwave{
@@ -77840,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/midship_hallway)
"wyG" = (
/obj/structure/disposalpipe/segment,
/obj/structure/machinery/door/airlock/almayer/maint{
@@ -77881,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/fore_hallway)
"wzZ" = (
/obj/structure/machinery/door/airlock/almayer/medical/glass{
dir = 1;
@@ -77906,29 +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"
- },
-/obj/item/desk_bell{
- anchored = 1
- },
-/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{
@@ -77946,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{
@@ -77953,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{
@@ -77968,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";
@@ -78109,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,
@@ -78137,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,
@@ -78279,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();
@@ -78345,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/midship_hallway)
"wJh" = (
/obj/structure/machinery/door/firedoor/border_only/almayer{
dir = 2
@@ -78370,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,
@@ -78445,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
@@ -78503,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
@@ -78568,15 +79089,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/starboard_hallway)
-"wLT" = (
-/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)
"wMl" = (
/obj/structure/machinery/camera/autoname/almayer{
dir = 8;
@@ -78612,9 +79124,6 @@
icon_state = "test_floor5"
},
/area/almayer/hallways/lower/starboard_midship_hallway)
-"wMD" = (
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/maint/upper/u_f_p)
"wMF" = (
/obj/structure/largecrate/random/case/double,
/turf/open/floor/almayer{
@@ -78690,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";
@@ -78763,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/lifeboat_pumps/north2)
"wPz" = (
/turf/open/floor/almayer{
icon_state = "mono"
@@ -78801,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/upper/u_a_s)
"wQu" = (
/obj/effect/projector{
name = "Almayer_Up3";
@@ -78834,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{
@@ -78847,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,
@@ -78919,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;
@@ -79324,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/fore_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/aft_hallway)
"wZv" = (
/obj/structure/prop/invuln{
desc = "An inflated membrane. This one is puncture proof. Wow!";
@@ -79382,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;
@@ -79482,35 +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 = "E";
- pixel_x = 1
- },
-/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/upper/u_a_s)
"xcI" = (
/obj/structure/sign/safety/water{
pixel_x = 8;
@@ -79530,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/fore_hallway)
"xdf" = (
/obj/structure/pipes/standard/manifold/fourway/hidden/supply,
/obj/structure/disposalpipe/segment{
@@ -79561,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;
@@ -79616,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/aft_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/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/midship_hallway)
"xfq" = (
/obj/structure/sign/safety/hvac_old{
pixel_x = 8;
@@ -79703,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/upper/u_m_s)
+"xga" = (
+/turf/closed/wall/almayer,
+/area/almayer/hallways/upper/aft_hallway)
"xgh" = (
/obj/structure/pipes/vents/scrubber{
dir = 4
@@ -79746,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/midship_hallway)
"xgJ" = (
/obj/structure/machinery/light{
dir = 1
@@ -79884,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;
@@ -79936,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/aft_hallway)
"xjK" = (
/obj/structure/sign/safety/hazard{
pixel_y = 32
@@ -79983,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/fore_hallway)
"xkB" = (
/obj/structure/bed/chair/comfy/charlie{
dir = 1
@@ -80077,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
@@ -80088,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";
@@ -80114,21 +80553,14 @@
/obj/effect/landmark/start/requisition,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/req)
-"xnR" = (
-/obj/structure/machinery/door/firedoor/border_only/almayer{
+"xnX" = (
+/obj/structure/machinery/power/apc/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{
- 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
@@ -80144,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/fore_hallway)
"xoj" = (
/turf/open/floor/almayer,
/area/almayer/engineering/lower/workshop)
@@ -80258,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;
@@ -80387,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
@@ -80441,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/aft_hallway)
"xtM" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer{
@@ -80455,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/fore_hallway)
"xub" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -80545,9 +80965,6 @@
icon_state = "silver"
},
/area/almayer/shipboard/brig/cic_hallway)
-"xvB" = (
-/turf/closed/wall/almayer,
-/area/almayer/maint/upper/u_f_p)
"xvE" = (
/obj/structure/machinery/door/firedoor/border_only/almayer,
/obj/structure/machinery/door/airlock/multi_tile/almayer/marine/charlie{
@@ -80557,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{
- dir = 4;
- icon_state = "ai_silver"
- },
-/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/midship_hallway)
"xvQ" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/computer/sentencing{
@@ -80662,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/fore_hallway)
+/area/almayer/command/airoom)
"xwX" = (
/turf/open/floor/almayer{
dir = 9;
@@ -80751,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
@@ -80815,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{
@@ -80897,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)
@@ -80998,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)
@@ -81021,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;
@@ -81032,14 +81472,15 @@
},
/turf/open/floor/almayer,
/area/almayer/maint/hull/upper/u_f_p)
-"xCS" = (
-/obj/structure/disposalpipe/segment{
+"xCB" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
},
-/turf/open/floor/almayer{
- icon_state = "orangecorner"
+/obj/structure/disposalpipe/segment{
+ dir = 4
},
-/area/almayer/hallways/upper/aft_hallway)
+/turf/open/floor/almayer,
+/area/almayer/hallways/upper/fore_hallway)
"xDe" = (
/obj/effect/projector{
name = "Almayer_Down4";
@@ -81056,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,
@@ -81067,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/upper/u_a_s)
"xDV" = (
/obj/effect/step_trigger/clone_cleaner,
/obj/effect/decal/warning_stripes{
@@ -81119,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/midship_hallway)
"xFZ" = (
/obj/structure/disposalpipe/segment,
/obj/structure/pipes/standard/manifold/hidden/supply{
@@ -81190,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";
@@ -81240,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/upper/u_m_p)
+/area/almayer/engineering/upper_engineering)
"xHS" = (
/obj/structure/reagent_dispensers/fueltank/oxygentank{
anchored = 1
@@ -81280,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
@@ -81382,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";
@@ -81440,12 +81915,6 @@
icon_state = "cargo"
},
/area/almayer/shipboard/brig/general_equipment)
-"xLm" = (
-/obj/structure/largecrate/random/case/double,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/maint/upper/u_a_s)
"xLn" = (
/obj/structure/largecrate/random/case/double,
/turf/open/floor/almayer{
@@ -81456,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;
@@ -81554,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
},
@@ -81620,12 +82094,6 @@
icon_state = "cargo"
},
/area/almayer/hallways/hangar)
-"xNl" = (
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/midship_hallway)
"xNu" = (
/obj/structure/toilet{
dir = 1
@@ -81734,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/upper/u_a_p)
"xPZ" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 10
@@ -81847,12 +82309,6 @@
icon_state = "silver"
},
/area/almayer/command/computerlab)
-"xRn" = (
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "greencorner"
- },
-/area/almayer/hallways/upper/fore_hallway)
"xRw" = (
/turf/open/floor/almayer/uscm/directional{
dir = 1
@@ -81878,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/aft_hallway)
"xSw" = (
/obj/structure/machinery/door/firedoor/border_only/almayer{
dir = 2
@@ -81968,27 +82414,6 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/processing)
-"xTL" = (
-/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{
- icon_state = "plate"
- },
-/area/almayer/living/numbertwobunks)
-"xTO" = (
-/obj/structure/machinery/status_display{
- pixel_y = 30
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "blue"
- },
-/area/almayer/hallways/upper/fore_hallway)
"xTR" = (
/obj/structure/window/framed/almayer,
/obj/structure/machinery/door/poddoor/almayer/open{
@@ -82099,12 +82524,6 @@
icon_state = "red"
},
/area/almayer/hallways/upper/starboard)
-"xVg" = (
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "red"
- },
-/area/almayer/lifeboat_pumps/north2)
"xVk" = (
/turf/open/space,
/area/space/almayer/lifeboat_dock)
@@ -82197,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)
@@ -82290,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/midship_hallway)
"xZk" = (
/obj/item/prop/helmetgarb/gunoil{
layer = 4.2;
@@ -82323,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/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
@@ -82389,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"
@@ -82441,9 +82875,6 @@
},
/turf/open/floor/almayer/aicore/no_build,
/area/almayer/command/airoom)
-"ybk" = (
-/turf/closed/wall/almayer,
-/area/almayer/hallways/upper/midship_hallway)
"ybm" = (
/obj/structure/surface/table/almayer,
/obj/item/clothing/head/hardhat{
@@ -82528,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{
@@ -82555,9 +82998,6 @@
icon_state = "blue"
},
/area/almayer/squads/delta)
-"yde" = (
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/upper/fore_hallway)
"ydf" = (
/obj/structure/platform{
dir = 1
@@ -82645,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,
@@ -82713,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;
@@ -82732,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/upper/u_m_p)
-"yfO" = (
-/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)
"yfS" = (
/obj/structure/window/framed/almayer,
/obj/structure/machinery/door/firedoor/border_only/almayer{
@@ -82874,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;
@@ -82920,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;
@@ -82990,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/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{
- closeOtherId = "containment_s";
- 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)
"yle" = (
/obj/effect/landmark/start/marine/engineer/delta,
/obj/effect/landmark/late_join/delta,
@@ -91457,7 +91821,7 @@ cth
gkr
xkc
oGj
-hSj
+iVD
xkc
mph
nlh
@@ -91474,9 +91838,9 @@ qPD
qPD
quJ
rdA
-alF
+jyY
sql
-alF
+jyY
rwe
pdp
hZw
@@ -91866,7 +92230,7 @@ hvd
hvd
hvd
hvd
-mze
+bLF
eyD
naB
kry
@@ -93708,7 +94072,7 @@ kuJ
sLA
jSw
xkd
-cJh
+qFu
xkd
xkd
icM
@@ -94317,7 +94681,7 @@ wdF
kQu
cqM
xkd
-cJh
+qFu
xkd
xkd
pns
@@ -95119,7 +95483,7 @@ ksm
bxE
cmM
oeZ
-uzH
+wLF
oeZ
oeZ
ptq
@@ -95530,7 +95894,7 @@ aIY
oeZ
cFC
oIh
-lUm
+sBQ
skj
tXc
cqM
@@ -95630,9 +95994,9 @@ bIy
alU
alU
alU
-cmI
+syg
alU
-cmJ
+noo
alU
alU
alU
@@ -95727,7 +96091,7 @@ cQv
kYU
tUK
kTp
-vKF
+krO
nWS
glG
oeZ
@@ -95928,14 +96292,14 @@ cQv
tlk
cQv
uhA
-bKN
+tCH
oeZ
oeZ
-uzH
+wLF
oeZ
oeZ
mFc
-eKa
+fbr
emp
lze
wSm
@@ -95951,7 +96315,7 @@ cHk
rkV
rkV
cHk
-yfO
+vYi
cHk
pRs
pdp
@@ -96147,7 +96511,7 @@ emp
emp
emp
emp
-lFJ
+vbo
emp
emp
cHk
@@ -96239,9 +96603,9 @@ kcp
alU
alU
alU
-mBp
+iTW
alU
-cmJ
+noo
alU
alU
alU
@@ -96538,7 +96902,7 @@ oJm
cQG
cQG
hzG
-asC
+nzT
tff
cDN
oFY
@@ -96549,14 +96913,14 @@ jcf
bju
cMW
qEy
-iis
+vKr
rQc
oDy
oDy
wsq
vxK
gwj
-vxh
+oiz
csy
csy
bWQ
@@ -96747,7 +97111,7 @@ uFq
wsl
wSu
xIW
-wBd
+nah
emp
gbw
oRk
@@ -98453,12 +98817,12 @@ aaa
fwK
elY
uaG
-vjk
+sbZ
lxd
dPk
nBV
dyq
-eKm
+uGi
uaG
lYN
byr
@@ -99468,7 +99832,7 @@ aaa
fwK
jru
uaG
-vaM
+aEf
lxd
cif
jaz
@@ -101092,7 +101456,7 @@ aaa
sGw
xzB
bfs
-wes
+wFi
qxI
dKO
ykv
@@ -103656,7 +104020,7 @@ wlE
gvq
wVW
lrW
-qDN
+mqh
vHW
wVW
ccg
@@ -104866,11 +105230,11 @@ wVW
wVW
wVW
aCf
-ayt
+kcx
aCf
wVW
aCf
-hzL
+wpt
aCf
wVW
wVW
@@ -105882,13 +106246,13 @@ awX
wVW
wVW
wVW
-aAl
+lMF
jnX
-dum
+rdz
wVW
wVW
wVW
-jOc
+cbF
aGZ
awF
cST
@@ -106080,14 +106444,14 @@ aiX
wbO
avU
avU
-awY
-uBs
+mKN
+wEw
kOB
awZ
aiX
-opN
-bDi
-vIr
+wLC
+mGb
+uOh
awF
aEM
aGV
@@ -106288,9 +106652,9 @@ pXx
jrm
evg
aiX
-dCb
-dDc
-rdo
+iiU
+eAx
+cmS
awF
aFg
aGY
@@ -106491,9 +106855,9 @@ wWC
auZ
aiX
aiX
-mJp
-jZl
-cbK
+qmK
+oIp
+pTS
awF
hRk
aGY
@@ -106694,11 +107058,11 @@ pQV
apq
ana
aiX
-cKp
-jZl
-dgI
+gwh
+oIp
+qUK
awF
-xTL
+gyh
lmA
rvA
aqm
@@ -106875,7 +107239,7 @@ add
fsU
aHU
aTm
-awW
+xxB
aTm
jgF
fsU
@@ -106897,9 +107261,9 @@ xQg
wWC
szO
aiX
-xTO
-jZl
-iPU
+jkT
+oIp
+fNX
awF
awF
aEW
@@ -106921,7 +107285,7 @@ aJU
gBW
ouQ
iun
-baw
+sfA
vPm
qys
gBW
@@ -107078,7 +107442,7 @@ awW
auK
aIr
aTm
-bvd
+cpP
aTm
juX
scu
@@ -107100,10 +107464,10 @@ yjM
qbO
aqw
hnI
-ash
-jZl
-gFN
-kED
+dME
+oIp
+oGI
+waP
awF
nvG
vGI
@@ -107124,7 +107488,7 @@ baw
lRE
tuf
vbB
-rBH
+aqB
vbB
mlz
sOy
@@ -107281,7 +107645,7 @@ awW
avc
aIv
aTm
-kJL
+cpP
cbM
jzZ
sLo
@@ -107303,10 +107667,10 @@ aqy
nBE
pOD
bZa
-evG
-duR
-gFN
-oeN
+voj
+sUS
+oGI
+qUu
awF
aHn
szU
@@ -107327,7 +107691,7 @@ baw
hJk
yac
vbB
-kUQ
+aqB
vbB
fDS
iLd
@@ -107484,7 +107848,7 @@ add
fsU
aHU
aTm
-awW
+fnk
aTm
jgF
fsU
@@ -107506,9 +107870,9 @@ aiX
aiX
aiX
aiX
-rPB
-jZl
-sQu
+diw
+oIp
+wCn
tsr
tsr
tsr
@@ -107530,7 +107894,7 @@ aJU
gBW
ouQ
vbB
-baw
+aqB
tBq
qys
gBW
@@ -107709,9 +108073,9 @@ aiX
aKG
amb
aiX
-juM
-jZl
-dgI
+hOd
+oIp
+qUK
tsr
sOL
jIC
@@ -107912,9 +108276,9 @@ aqz
aKH
and
aiX
-umD
-jZl
-ash
+aaE
+oIp
+dME
fyT
xIV
xIV
@@ -108115,9 +108479,9 @@ aiX
aiX
aiX
aiX
-cwi
-jZl
-fBA
+qIF
+oIp
+aPV
tsr
iPN
dbX
@@ -108318,9 +108682,9 @@ aqz
mBe
atT
aiX
-fXf
-jZl
-sPk
+bhR
+oIp
+mYA
tsr
tsr
vOY
@@ -108521,9 +108885,9 @@ aiX
asf
atT
aiX
-juM
-qNe
-dgI
+hOd
+lSN
+qUK
lIj
tBY
gkE
@@ -108620,7 +108984,7 @@ arX
vSG
iag
nvM
-bek
+qOZ
qjN
gGJ
ham
@@ -108724,9 +109088,9 @@ aiX
aiX
aiX
aiX
-dRo
-ewL
-enz
+wmo
+icQ
+pwl
lIj
lIj
dvZ
@@ -108819,11 +109183,11 @@ kLE
bkA
bcC
bej
-uyJ
+tzO
fVG
qpQ
nvM
-bek
+qOZ
qjN
sld
ham
@@ -108831,11 +109195,11 @@ ham
qjN
oDY
omo
-fvJ
+eTC
fdZ
ixj
fdZ
-bET
+uey
gfW
kSA
tpB
@@ -108902,12 +109266,12 @@ adq
aei
aka
aWn
-lfc
-lfc
-lfc
-lfc
-lfc
-lfc
+gLl
+gLl
+gLl
+gLl
+gLl
+gLl
oGC
awW
acW
@@ -108916,31 +109280,31 @@ awW
awW
fSm
hiy
-ddp
-fCP
-fCP
-stk
-fCP
-ash
-ash
-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
@@ -108949,12 +109313,12 @@ baw
sgU
baw
baw
-xvB
-xvB
-xvB
-xvB
-xvB
-xvB
+vIo
+vIo
+vIo
+vIo
+vIo
+vIo
gnv
yhI
tTu
@@ -109026,7 +109390,7 @@ qpx
bet
bgu
nvM
-bek
+qOZ
qjN
gGJ
ham
@@ -109105,12 +109469,12 @@ adq
afr
akc
apg
-lfc
-mjR
-mjR
-mjR
-tWM
-lfc
+gLl
+mis
+mis
+mis
+yjr
+gLl
aea
oGC
xjD
@@ -109119,31 +109483,31 @@ ajf
ajf
oAO
pIZ
-qwf
-jRm
-dsS
-dsS
-dsS
-rsN
-dsS
-dsS
-dFd
-uhI
-uhI
-dsS
-saT
-dsS
-rsN
-rsN
-bxt
-tPz
-tPz
-rpP
-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
@@ -109152,12 +109516,12 @@ aZz
nsc
baw
cxk
-xvB
-wyc
-wyc
-wyc
-nTc
-xvB
+vIo
+ojX
+ojX
+ojX
+mxo
+vIo
crh
csI
qhb
@@ -109305,15 +109669,15 @@ aaa
aaa
abs
adq
-aub
+nfC
akt
awW
-lfc
-mjR
-mjR
-mjR
-mjR
-lfc
+gLl
+mis
+mis
+mis
+mis
+gLl
oGC
sHp
oGC
@@ -109322,31 +109686,31 @@ awW
awW
aSJ
isI
-dgP
-mKG
-uIa
-qxK
-rYG
-qxK
-qxK
-iRi
-qxK
-qxK
-qxK
-qxK
-xcY
-qxK
-iRi
-qxK
-qxK
-qxK
-qxK
-qxK
-rYG
-qxK
-bTD
-mKG
-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
@@ -109355,15 +109719,15 @@ baw
mnA
baw
baw
-xvB
-wyc
-wyc
-wyc
-wyc
-xvB
+vIo
+ojX
+ojX
+ojX
+ojX
+vIo
baw
sMM
-nqG
+rSH
pgD
tQV
aaa
@@ -109512,22 +109876,22 @@ avd
akt
awW
qHq
-mjR
-mjR
-mjR
-mjR
-lfc
-vzO
-lfc
-lfc
-lfc
-lfc
-lfc
-lfc
-lfc
-dgP
-mKG
-uQi
+mis
+mis
+mis
+mis
+gLl
+eHX
+gLl
+gLl
+gLl
+gLl
+gLl
+gLl
+gLl
+gvu
+xCB
+tJm
aoe
aoe
aoe
@@ -109547,22 +109911,22 @@ aoe
aoe
aoe
aoe
-maF
-mKG
-mOw
-xvB
-xvB
-xvB
-xvB
-xvB
-xvB
-abz
-xvB
-xvB
-wyc
-wyc
-wyc
-wyc
+hwB
+xCB
+kaj
+vIo
+vIo
+vIo
+vIo
+vIo
+vIo
+xDy
+vIo
+vIo
+ojX
+ojX
+ojX
+ojX
eOM
baw
sMM
@@ -109714,23 +110078,23 @@ adq
aGP
aka
aWu
-lfc
-mjR
-mjR
-mjR
-mjR
-lfc
-gur
-osn
-vDt
-puJ
-deA
-olC
-ujf
-lfc
-xky
-mKG
-uQi
+gLl
+mis
+mis
+mis
+mis
+gLl
+lNL
+kUJ
+qgn
+eIf
+mfL
+hto
+qhg
+gLl
+pzw
+xCB
+tJm
aoe
aoh
jHQ
@@ -109750,23 +110114,23 @@ cnV
isN
cnZ
aoe
-dgP
-mKG
-uQi
-xvB
-cHn
-cHn
-ftw
-nZK
-ftw
-wMD
-dcZ
-xvB
-wyc
-wyc
-wyc
-wyc
-xvB
+gvu
+xCB
+tJm
+vIo
+giD
+giD
+wrI
+lST
+wrI
+pep
+mCJ
+vIo
+ojX
+ojX
+ojX
+ojX
+vIo
hWB
yhI
qSX
@@ -109862,9 +110226,9 @@ aId
vjv
gOR
aId
-vTV
+ary
nmY
-pdy
+nZm
smW
prP
xXl
@@ -109917,23 +110281,23 @@ adq
aGQ
akc
apg
-lfc
-mjR
-mjR
-mjR
-mjR
-lfc
-aHo
-vqh
-tey
-urL
-tey
-vqh
-aHo
-tQA
-ash
-wwi
-uQi
+gLl
+mis
+mis
+mis
+mis
+gLl
+gtI
+utp
+cZq
+xBW
+cZq
+utp
+gtI
+kYF
+dME
+nbH
+tJm
aoe
vbS
arb
@@ -109953,23 +110317,23 @@ cnW
aEi
coa
aoe
-tWf
-wwi
-ash
-nZK
-ftw
-wMD
-wMD
-xvB
-gJY
-ftw
-ftw
-xvB
-wyc
-wyc
-wyc
-wyc
-xvB
+lXR
+nbH
+dME
+lST
+wrI
+pep
+pep
+vIo
+fzt
+wrI
+wrI
+vIo
+ojX
+ojX
+ojX
+ojX
+vIo
wvj
csI
iPH
@@ -110120,11 +110484,11 @@ aee
avd
akt
qWI
-lfc
-lfc
-lfc
-lfc
-lfc
+gLl
+gLl
+gLl
+gLl
+gLl
gxm
gxm
gxm
@@ -110134,9 +110498,9 @@ gxm
gxm
gxm
gxm
-tWf
-wwi
-uQi
+lXR
+nbH
+tJm
aoe
qQc
fXg
@@ -110156,9 +110520,9 @@ jBy
aEi
fFh
aoe
-dgP
-wwi
-uQi
+gvu
+nbH
+tJm
gxm
gxm
gxm
@@ -110168,11 +110532,11 @@ gxm
gxm
gxm
gxm
-xvB
-xvB
-xvB
-xvB
-xvB
+vIo
+vIo
+vIo
+vIo
+vIo
ehj
irS
ilJ
@@ -110247,7 +110611,7 @@ mKw
rcx
kan
ojZ
-jjn
+toS
ojZ
kan
leY
@@ -110320,26 +110684,26 @@ aaa
aaa
abs
adq
-lpJ
+nAv
akt
awW
-lfc
-mfR
-sqP
-tVs
-tVs
+gLl
+vHP
+wQI
+cIS
+cIS
gxm
-tPB
-tPB
-tPB
+sWb
+sWb
+sWb
dkO
aps
aps
aps
gxm
-xtO
-mKG
-uQi
+gpp
+xCB
+tJm
aoe
vbS
koB
@@ -110359,26 +110723,26 @@ aoe
hFF
aoe
aoe
-dgP
-mKG
-uQi
+gvu
+xCB
+tJm
gxm
aiJ
aiJ
aiJ
qYr
-cJV
-cJV
-cJV
+kEA
+kEA
+kEA
gxm
-ear
-pqR
-wMD
-ear
-xvB
+qTA
+bMZ
+pep
+qTA
+vIo
baw
sMM
-tmI
+noO
pgD
tQV
aaa
@@ -110526,23 +110890,23 @@ adq
aWm
aka
kyY
-lfc
-hzl
-vdT
-aHo
-aHo
+gLl
+lfZ
+lWS
+gtI
+gtI
gxm
-tPB
-tPB
-tPB
+sWb
+sWb
+sWb
vQe
aps
aps
aps
gxm
-hGo
-wwi
-uQi
+sHC
+nbH
+tJm
aoe
aop
koB
@@ -110562,23 +110926,23 @@ uRt
aQz
aRJ
ajl
-dgP
-wwi
-uQi
+gvu
+nbH
+tJm
gxm
aiJ
aiJ
aiJ
str
-cJV
-cJV
-cJV
+kEA
+kEA
+kEA
gxm
-pqR
-wMD
-wMD
-moq
-xvB
+bMZ
+pep
+pep
+osr
+vIo
rQW
yhI
rRz
@@ -110652,9 +111016,9 @@ tlA
nyj
vVW
vhX
-unU
+ctJ
rlZ
-twq
+pGE
vhX
jCK
nyj
@@ -110729,23 +111093,23 @@ adq
afr
akc
apg
-lfc
-lfc
-lBB
-vqh
-mOR
+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
@@ -110765,23 +111129,23 @@ akw
aQz
aRK
ajl
-kUs
-wwi
-uQi
+aUB
+nbH
+tJm
gxm
aiJ
aiJ
aiJ
str
-oAY
-oAY
-oAY
+jcu
+jcu
+jcu
gxm
-rTe
-wMD
-ftw
-xvB
-xvB
+cAa
+pep
+wrI
+vIo
+vIo
vpn
csI
goL
@@ -110928,27 +111292,27 @@ aaf
aaf
aaf
abw
-eCC
+eJU
awW
akt
awW
-upQ
-fFs
-vqh
-fwP
-mOR
+cUo
+dwu
+utp
+qxS
+usu
gxm
-tpj
-tpj
-tpj
+lmG
+lmG
+lmG
gxm
asm
asm
asm
gxm
-dgP
-qNe
-mnV
+gvu
+lSN
+xZt
aoe
pjF
wUd
@@ -110968,22 +111332,22 @@ akw
fOL
aRS
ajl
-hGo
-mKG
-uQi
+sHC
+xCB
+tJm
gxm
alW
alW
alW
gxm
-nVA
-nVA
-nVA
+mWJ
+mWJ
+mWJ
gxm
-pqR
-ear
-ftw
-nZK
+bMZ
+qTA
+wrI
+lST
aJU
baw
sMM
@@ -111131,27 +111495,27 @@ aag
aag
aag
abw
-eCC
+eJU
awW
akt
-wrQ
-lfc
-lfc
-lfc
-lfc
-lfc
+vCt
+gLl
+gLl
+gLl
+gLl
+gLl
gxm
-tpj
-tpj
-tpj
+lmG
+lmG
+lmG
gxm
asm
asm
asm
gxm
-dgP
-wwi
-tQO
+gvu
+nbH
+vQN
sqf
sqf
sqf
@@ -111171,23 +111535,23 @@ upM
akw
alD
vEx
-ash
-wwi
-uQi
+dME
+nbH
+tJm
gxm
alW
alW
alW
gxm
-nVA
-nVA
-nVA
+mWJ
+mWJ
+mWJ
gxm
-xvB
-xvB
-xvB
-xvB
-xvB
+vIo
+vIo
+vIo
+vIo
+vIo
nTH
sMM
baw
@@ -111253,10 +111617,10 @@ qPk
hKe
qPk
kan
-qWS
+mBk
oDJ
vaQ
-iIH
+iTt
rlZ
buu
rlZ
@@ -111338,23 +111702,23 @@ adq
aeZ
aka
aoI
-lfc
-mjR
-mjR
-mjR
-tWM
+gLl
+mis
+mis
+mis
+yjr
gxm
-tpj
-tpj
-tpj
+lmG
+lmG
+lmG
gxm
asm
asm
asm
gxm
-dgP
-wwi
-uQi
+gvu
+nbH
+tJm
sqf
anp
wjz
@@ -111374,23 +111738,23 @@ ajl
onQ
alD
ajl
-bNI
-wwi
-uQi
+bgN
+nbH
+tJm
gxm
alW
alW
alW
gxm
-nVA
-nVA
-nVA
+mWJ
+mWJ
+mWJ
gxm
-wyc
-wyc
-wyc
-nTc
-xvB
+ojX
+ojX
+ojX
+mxo
+vIo
gnv
yhI
tTu
@@ -111456,7 +111820,7 @@ qPk
hKe
qPk
kan
-kAp
+vou
dYU
kan
cWm
@@ -111541,23 +111905,23 @@ adq
afr
akc
apg
-lfc
-mjR
-mjR
-mjR
-mjR
+gLl
+mis
+mis
+mis
+mis
gxm
-lbc
-tpj
-tpj
+aoz
+lmG
+lmG
gxm
asm
asm
asm
gxm
-dgP
-mKG
-uQi
+gvu
+xCB
+tJm
sqf
sOZ
oNJ
@@ -111577,23 +111941,23 @@ ajl
aCp
alD
ajl
-kiq
-mKG
-uQi
+evM
+xCB
+tJm
gxm
alW
alW
alW
gxm
-nVA
-nVA
-wZk
+mWJ
+mWJ
+kbl
gxm
-wyc
-wyc
-wyc
-wyc
-xvB
+ojX
+ojX
+ojX
+ojX
+vIo
vpn
csI
goL
@@ -111740,27 +112104,27 @@ aag
aag
aag
abw
-eCC
+eJU
awW
akt
awW
avJ
-mjR
-mjR
-mjR
-mjR
+mis
+mis
+mis
+mis
gxm
-tpj
-tpj
-tpj
+lmG
+lmG
+lmG
gxm
asm
asm
asm
gxm
-dgP
-qNe
-mOw
+gvu
+lSN
+kaj
sqf
anq
awn
@@ -111780,22 +112144,22 @@ fQu
akx
alD
gWG
-dgP
-mKG
-uQi
+gvu
+xCB
+tJm
gxm
alW
alW
alW
gxm
-nVA
-nVA
-nVA
+mWJ
+mWJ
+mWJ
gxm
-wyc
-wyc
-wyc
-wyc
+ojX
+ojX
+ojX
+ojX
qxz
baw
sMM
@@ -111943,27 +112307,27 @@ aag
aag
aag
abw
-eCC
+eJU
awW
akt
-aqk
-lfc
-mjR
-mjR
-mjR
-mjR
+aAn
+gLl
+mis
+mis
+mis
+mis
gxm
-tpj
-tpj
-tpj
+lmG
+lmG
+lmG
gxm
asm
asm
asm
gxm
-dgP
-mKG
-uQi
+gvu
+xCB
+tJm
sqf
anr
awn
@@ -111983,23 +112347,23 @@ fQu
akx
alD
gWG
-dgP
-mKG
-uQi
+gvu
+xCB
+tJm
gxm
alW
alW
alW
gxm
-nVA
-nVA
-nVA
+mWJ
+mWJ
+mWJ
gxm
-wyc
-wyc
-wyc
-wyc
-xvB
+ojX
+ojX
+ojX
+ojX
+vIo
xuY
sMM
baw
@@ -112150,23 +112514,23 @@ adq
aeZ
aka
aoI
-lfc
-mjR
-mjR
-mjR
-mjR
+gLl
+mis
+mis
+mis
+mis
gxm
-tpj
-tpj
-tpj
+lmG
+lmG
+lmG
gxm
asm
asm
asm
gxm
-maF
-mKG
-uQi
+hwB
+xCB
+tJm
sqf
sqf
awp
@@ -112186,23 +112550,23 @@ ajl
hVz
alD
ajl
-tWf
-mKG
-uQi
+lXR
+xCB
+tJm
gxm
alW
alW
alW
gxm
-nVA
-nVA
-nVA
+mWJ
+mWJ
+mWJ
gxm
-wyc
-wyc
-wyc
-wyc
-xvB
+ojX
+ojX
+ojX
+ojX
+vIo
gnv
yhI
tTu
@@ -112350,26 +112714,26 @@ aag
aag
abs
adq
-afB
+sSj
akc
-biT
-lfc
-lfc
-lfc
-lfc
-lfc
+rMh
+gLl
+gLl
+gLl
+gLl
+gLl
gxm
-hWV
-hWV
-hWV
+qqa
+qqa
+qqa
gxm
gxm
gxm
gxm
gxm
-mYd
-wwi
-xwU
+atz
+nbH
+tyC
ajl
qhx
akw
@@ -112389,23 +112753,23 @@ ajl
nMV
vIf
ajl
-maF
-wwi
-nwu
+hwB
+nbH
+yeg
gxm
gxm
gxm
gxm
gxm
-hWV
-hWV
-hWV
+qqa
+qqa
+qqa
gxm
-xvB
-xvB
-xvB
-xvB
-xvB
+vIo
+vIo
+vIo
+vIo
+vIo
crh
csI
qhb
@@ -112552,27 +112916,27 @@ aag
aag
aag
abw
-eCC
+eJU
awW
awW
awW
-pEA
-fCP
-fCP
-fCP
-fCP
-omp
-ocX
-xog
-xog
-vFy
-fCP
-fCP
-vUO
-fCP
-xRn
-wwi
-ash
+wAE
+iKy
+iKy
+iKy
+iKy
+tMi
+lCg
+knb
+knb
+jsd
+iKy
+iKy
+udv
+iKy
+gre
+nbH
+dME
bVE
aos
akw
@@ -112592,23 +112956,23 @@ ans
aos
alE
bVE
-ash
-wwi
-mnC
-fCP
-qRx
-fCP
-fCP
-cuI
-ocX
-ocX
-ocX
-pVI
-fCP
-fCP
-fCP
-fCP
-pEA
+dME
+nbH
+kPa
+iKy
+gDk
+iKy
+iKy
+gOa
+lCg
+lCg
+lCg
+ccx
+iKy
+iKy
+iKy
+iKy
+wAE
baw
baw
qYC
@@ -112755,27 +113119,27 @@ aag
aag
aag
abw
-eCC
+eJU
awW
aTm
awW
-pEA
-orV
-orV
-orV
-orV
-fGD
-fGD
-qEc
-qEc
-qEc
-orV
-yde
-yde
-yde
-yde
-gkV
-uTD
+wAE
+qQu
+qQu
+qQu
+qQu
+kVW
+kVW
+oFz
+oFz
+oFz
+qQu
+dcR
+dcR
+dcR
+dcR
+hWa
+cEG
aEe
akA
akA
@@ -112795,23 +113159,23 @@ akA
oap
aSb
aEe
-uTD
-lzF
-yde
-yde
-yde
-yde
-orV
-qEc
-qEc
-qEc
-fGD
-fGD
-orV
-orV
-orV
-orV
-pEA
+cEG
+rxQ
+dcR
+dcR
+dcR
+dcR
+qQu
+oFz
+oFz
+oFz
+kVW
+kVW
+qQu
+qQu
+qQu
+qQu
+wAE
baw
vbB
ley
@@ -112885,7 +113249,7 @@ bst
cjW
rlZ
rlZ
-hrJ
+oRy
kan
biy
boX
@@ -112960,25 +113324,25 @@ aah
abs
abs
awW
-ale
+vGQ
ajE
-pEA
-ash
-rYG
-ash
-xcY
-qxK
-qxK
-qxK
-qxK
-rYG
-qxK
-qxK
-qxK
-qxK
-bTD
-qNe
-uQi
+wAE
+dME
+epT
+dME
+aVK
+llo
+llo
+llo
+llo
+epT
+llo
+llo
+llo
+llo
+aWM
+lSN
+tJm
vOy
vOy
vOy
@@ -112998,23 +113362,23 @@ vOy
wMO
wky
sqf
-bNI
-qNe
-uIa
-qxK
-rYG
-qxK
-qxK
-qxK
-qxK
-qxK
-qxK
-rYG
-qxK
-ash
-ftZ
-qxK
-pEA
+bgN
+lSN
+nyK
+llo
+epT
+llo
+llo
+llo
+llo
+llo
+llo
+epT
+llo
+dME
+bRO
+llo
+wAE
baw
dBp
gVA
@@ -113179,9 +113543,9 @@ abE
abE
abE
abE
-bff
-rnd
-fdf
+cXq
+bXc
+vZJ
vOy
nos
fcy
@@ -113195,15 +113559,15 @@ vAQ
qIL
ncE
vWt
-kNx
+gei
vOy
ayX
kXw
pxo
sqf
-uVZ
-rnd
-fdf
+lPY
+bXc
+vZJ
pBG
pBG
pBG
@@ -113382,9 +113746,9 @@ gwo
aed
aeG
abE
-umI
-dzV
-umI
+rSW
+dNv
+rSW
vOy
oNp
aSn
@@ -113404,15 +113768,15 @@ niL
kXw
pxo
sqf
-umI
-uch
-umI
+rSW
+dYl
+rSW
pBG
-idM
-idM
-idM
-idM
-fHM
+rdZ
+rdZ
+rdZ
+rdZ
+bCs
pBG
rLp
ttX
@@ -113585,9 +113949,9 @@ adF
aef
dWw
agA
-okx
-hgA
-xfo
+mRJ
+fjA
+gqH
vOy
anz
vgx
@@ -113607,15 +113971,15 @@ aCC
kXw
pxo
asn
-okx
-cFH
-xfo
+mRJ
+oEn
+gqH
pBG
-idM
-idM
-idM
-idM
-idM
+rdZ
+rdZ
+rdZ
+rdZ
+rdZ
pBG
jZU
jAe
@@ -113697,7 +114061,7 @@ xMs
cjW
rlZ
rlZ
-jbO
+kSC
kan
quv
rZB
@@ -113788,9 +114152,9 @@ adF
aef
aef
uZZ
-kGS
-bNT
-rmB
+muW
+lGh
+bBH
vOy
awQ
oLU
@@ -113810,15 +114174,15 @@ edv
kXw
pxo
asn
-eWN
-lOn
-rmB
+lXl
+yiu
+bBH
pBG
-idM
-idM
-idM
-idM
-idM
+rdZ
+rdZ
+rdZ
+rdZ
+rdZ
pBG
cVq
nOb
@@ -113991,9 +114355,9 @@ adF
bls
aeH
agq
-nIF
-ijn
-rmB
+ijd
+efV
+bBH
vOy
hng
dnC
@@ -114013,15 +114377,15 @@ aCt
kXw
pxo
asn
-eWN
-jao
-hCF
+lXl
+poD
+qmW
pBG
-idM
-idM
-idM
-idM
-idM
+rdZ
+rdZ
+rdZ
+rdZ
+rdZ
pBG
dzp
ngV
@@ -114194,9 +114558,9 @@ adF
aef
kqN
agA
-eWN
-mxg
-hCF
+lXl
+qdJ
+qmW
vOy
xyt
wiW
@@ -114216,9 +114580,9 @@ vOy
mFq
vqW
sqf
-jMP
-jao
-rmB
+rnM
+poD
+bBH
pBG
pBG
pBG
@@ -114397,9 +114761,9 @@ aef
aef
tRD
abE
-ciI
-mxg
-rmB
+tkF
+qdJ
+bBH
vOy
iYf
bIM
@@ -114419,15 +114783,15 @@ hPe
sdu
btC
vLj
-nIF
-ijn
-rmB
-dyJ
+ijd
+efV
+bBH
+rRT
pBG
gqQ
cHG
nQA
-wph
+dAl
pyx
lKO
pBG
@@ -114600,9 +114964,9 @@ adF
aef
afs
agA
-eWN
-lOn
-rmB
+lXl
+yiu
+bBH
vOy
mTp
wiW
@@ -114622,10 +114986,10 @@ lON
dVu
oDR
vOP
-kGS
-fAW
-vlR
-qPv
+muW
+cDI
+tru
+uXE
qvL
wmP
wmP
@@ -114803,9 +115167,9 @@ adD
sOw
afs
agA
-eWN
-lOn
-rmB
+lXl
+yiu
+bBH
vOy
axn
dRh
@@ -114825,10 +115189,10 @@ vOy
aRd
aIo
vOy
-gyb
-lOn
-rmB
-aRl
+whc
+yiu
+bBH
+mxq
pBG
lvb
eAN
@@ -115006,9 +115370,9 @@ adF
aef
afs
agA
-eWN
-lOn
-rmB
+lXl
+yiu
+bBH
vOy
aAr
pGK
@@ -115028,9 +115392,9 @@ aCD
hFC
qmy
vOy
-eWN
-lOn
-rmB
+lXl
+yiu
+bBH
pBG
pBG
hEl
@@ -115209,9 +115573,9 @@ aef
aef
pHG
abE
-ciI
-jao
-rmB
+tkF
+poD
+bBH
vOy
aID
gLc
@@ -115220,9 +115584,9 @@ iit
kZV
vOy
vOy
-oIr
+jpl
vOy
-wdo
+wKL
vOy
vOy
vOy
@@ -115231,9 +115595,9 @@ aoM
aoM
vgB
kgs
-eWN
-jao
-rmB
+lXl
+poD
+bBH
bvX
ojQ
eAN
@@ -115412,9 +115776,9 @@ adF
aef
aGS
agA
-eWN
-jao
-rmB
+lXl
+poD
+bBH
vOy
aMd
pGK
@@ -115434,9 +115798,9 @@ prx
fpT
eVT
kgs
-eWN
-jao
-rmB
+lXl
+poD
+bBH
bvX
kVV
vQR
@@ -115615,9 +115979,9 @@ adF
aef
nIS
uZZ
-kGS
-jao
-rmB
+muW
+poD
+bBH
vOy
aMg
aSo
@@ -115637,9 +116001,9 @@ ger
aoM
aFf
mmN
-eWN
-jao
-rmB
+lXl
+poD
+bBH
bvX
maO
lPm
@@ -115818,9 +116182,9 @@ adF
aef
nIS
eWF
-kGS
-jao
-rmB
+muW
+poD
+bBH
vOy
aQZ
bkT
@@ -115838,11 +116202,11 @@ ggl
jjS
qMP
kBP
-aSl
+kqo
vOy
-ciI
-jao
-hCF
+tkF
+poD
+qmW
pBG
pBG
pBG
@@ -116021,9 +116385,9 @@ adF
aef
kqN
agA
-eWN
-lOn
-rmB
+lXl
+yiu
+bBH
vOy
dVd
lea
@@ -116043,9 +116407,9 @@ vti
vti
aEZ
vOy
-eWN
-lOn
-rmB
+lXl
+yiu
+bBH
fKh
gQk
trU
@@ -116224,9 +116588,9 @@ fcE
aef
uNN
abE
-ftb
-lOn
-rmB
+dfA
+yiu
+bBH
vOy
vOy
vOy
@@ -116235,9 +116599,9 @@ mSK
mSK
vOy
vOy
-ccc
+voV
wKP
-ylc
+hLr
vOy
vOy
rhO
@@ -116246,9 +116610,9 @@ nPE
oqZ
uaI
vOy
-eFI
-lOn
-rmB
+hUu
+yiu
+bBH
fKh
iuG
sOv
@@ -116427,11 +116791,11 @@ aeI
eva
xzf
abE
-ciI
-jao
-uZI
-cSM
-xfo
+tkF
+poD
+dSI
+iLL
+gqH
vOy
vOy
vOy
@@ -116449,9 +116813,9 @@ vOy
vOy
vOy
vOy
-czJ
-jao
-rmB
+qQD
+poD
+bBH
fKh
ubI
nQA
@@ -116630,11 +116994,11 @@ aNi
aNi
aNi
aNi
-eFI
-jao
-gfv
-gfv
-rmB
+hUu
+poD
+tsn
+tsn
+bBH
vOy
elR
xXh
@@ -116652,9 +117016,9 @@ dMK
vOy
vOy
vOy
-eWN
-jao
-rmB
+lXl
+poD
+bBH
pBG
mGT
nQA
@@ -116833,11 +117197,11 @@ bhx
vif
aOR
bsw
-eWN
-uSZ
-rDm
-ldq
-rmB
+lXl
+hPZ
+bPi
+ava
+bBH
vOy
wWz
vHO
@@ -116853,11 +117217,11 @@ ruc
xOY
wTM
vOy
-qqb
-cSM
-fvE
-jao
-hCF
+uWk
+iLL
+lRh
+poD
+qmW
pBG
tGT
nQA
@@ -117036,11 +117400,11 @@ aco
aco
dYu
bsw
-kON
-xNl
-dpS
-jao
-hCF
+cOe
+vwT
+akh
+poD
+qmW
vOy
wWz
anw
@@ -117056,11 +117420,11 @@ wLy
eiE
wTM
vOy
-eWN
-gFL
-gDQ
-xgE
-rmB
+lXl
+mfO
+mHY
+yei
+bBH
fKh
eYn
nQA
@@ -117241,9 +117605,9 @@ cCa
aNi
aNi
aNi
-jMP
-mxg
-rmB
+rnM
+qdJ
+bBH
vOy
wWz
ovG
@@ -117259,11 +117623,11 @@ gxP
aOe
wTM
vOy
-nLM
-lOn
-acQ
-acQ
-rmB
+piQ
+yiu
+xIj
+xIj
+bBH
fKh
wvo
nQA
@@ -117444,9 +117808,9 @@ qiy
ahR
ahR
egt
-tzF
-gIN
-rmB
+shC
+vIZ
+bBH
vOy
woh
vgO
@@ -117462,11 +117826,11 @@ qxm
vgO
xAe
vOy
-oxg
-jao
-iUV
-xNl
-xZf
+psk
+poD
+sin
+vwT
+gsJ
fKh
lDa
eAN
@@ -117647,9 +118011,9 @@ hpY
aOR
aOR
bgK
-kGS
-mxg
-rmB
+muW
+qdJ
+bBH
vOy
vOy
vOy
@@ -117665,9 +118029,9 @@ aoK
vOy
vOy
vOy
-glc
-jao
-rmB
+pLE
+poD
+bBH
mRU
mRU
pBG
@@ -117850,9 +118214,9 @@ aOR
aOR
agr
aNi
-eWN
-bNT
-rmB
+lXl
+lGh
+bBH
vOy
vOy
vOy
@@ -117868,9 +118232,9 @@ vOy
vOy
vOy
vOy
-kbT
-bNT
-rmB
+mIR
+lGh
+bBH
mRU
vpf
pBG
@@ -118053,9 +118417,9 @@ aNi
aNi
aNi
aNi
-glc
-bNT
-rmB
+pLE
+lGh
+bBH
bPF
aqG
ata
@@ -118071,9 +118435,9 @@ vOy
jyJ
niF
bPF
-ciI
-lOn
-rmB
+tkF
+yiu
+bBH
mRU
vpf
pBG
@@ -118256,9 +118620,9 @@ hoT
tob
tob
fkK
-kGS
-bNT
-kGS
+muW
+lGh
+muW
cbg
aqG
atb
@@ -118274,9 +118638,9 @@ vOy
sLk
niF
cbg
-kGS
-lOn
-kGS
+muW
+yiu
+muW
rXF
jtU
jtU
@@ -118459,9 +118823,9 @@ aej
aej
aej
aej
-jZW
-bNT
-rZC
+gpT
+lGh
+cQF
vOy
vOy
vOy
@@ -118477,9 +118841,9 @@ vOy
vOy
vOy
vOy
-bxV
-lOn
-uAi
+xac
+yiu
+vbU
nIN
nIN
nIN
@@ -118651,20 +119015,20 @@ rWz
rWz
rWz
rWz
-kLB
+rCZ
rWz
rWz
rWz
rWz
-kLB
+rCZ
aej
aeO
afG
ags
aej
-eWN
-bNT
-rmB
+lXl
+lGh
+bBH
vOy
elR
xXh
@@ -118680,24 +119044,24 @@ xXh
xXh
dMK
vOy
-eWN
-lOn
-rmB
+lXl
+yiu
+bBH
nIN
-bnF
-lBw
-bnF
+iIb
+wui
+iIb
nIN
rgL
rgL
rgL
rgL
-urg
+lAW
rgL
rgL
rgL
rgL
-urg
+lAW
nIN
jtU
nVE
@@ -118865,9 +119229,9 @@ aeP
agI
aia
yaz
-kGS
-mxg
-rmB
+muW
+qdJ
+bBH
vOy
wWz
vHO
@@ -118883,13 +119247,13 @@ uXj
rdt
wTM
vOy
-eWN
-jao
-rmB
-eyI
+lXl
+poD
+bBH
+aQx
xzh
-jaW
-vkV
+sjM
+oIn
nIN
rgL
rgL
@@ -119068,9 +119432,9 @@ aeQ
agK
agu
eup
-kGS
-mxg
-rmB
+muW
+qdJ
+bBH
vOy
wWz
uwZ
@@ -119086,13 +119450,13 @@ coZ
sNz
wTM
vOy
-eWN
-jao
-rmB
-eyI
-yfL
-sjw
-xHD
+lXl
+poD
+bBH
+aQx
+bcg
+bkM
+gYp
nIN
rgL
rgL
@@ -119145,7 +119509,7 @@ vvH
bwG
bwG
nsY
-wpz
+gAP
oEX
irT
tyb
@@ -119271,9 +119635,9 @@ aeR
agK
agu
aej
-ftb
-mxg
-hCF
+dfA
+qdJ
+qmW
vOy
wWz
pEJ
@@ -119289,13 +119653,13 @@ xQm
tfH
wTM
vOy
-nLM
-jao
-rmB
-eyI
-byH
+piQ
+poD
+bBH
+aQx
+viv
xzh
-nvd
+syp
nIN
rgL
rgL
@@ -119474,9 +119838,9 @@ aej
agO
aid
aej
-kON
-fsu
-xZf
+cOe
+vZI
+gsJ
vOy
wWz
uwZ
@@ -119492,12 +119856,12 @@ vfP
sNz
wTM
vOy
-kON
-fsu
-xZf
+cOe
+vZI
+gsJ
nIN
nIN
-veW
+cyh
nIN
nIN
nIN
@@ -119662,8 +120026,8 @@ fTj
jOD
oOw
cPK
-wjE
-loz
+sPb
+dlo
sAz
jZC
uyd
@@ -119671,15 +120035,15 @@ ito
cuN
cQW
lQa
-wjE
-vuE
+sPb
+gtg
ilq
-aLh
-aLh
-ltt
-bgh
-spW
-pjQ
+aMy
+aMy
+wNC
+hOn
+sYU
+xCs
vOy
wWz
qxP
@@ -119695,15 +120059,15 @@ gxP
nMe
wTM
vOy
-bgh
-spW
-pjQ
-ltt
-bkb
-bWx
-rRf
-pOC
-qtj
+hOn
+sYU
+xCs
+wNC
+kin
+oQI
+laI
+qwU
+neZ
fpA
qUx
gUS
@@ -119879,10 +120243,10 @@ sVV
sVV
sVV
sVV
-ltt
-klr
-bNT
-dOW
+wNC
+sfz
+lGh
+xLw
vOy
woh
vgO
@@ -119898,10 +120262,10 @@ vgO
vgO
xAe
vOy
-gTV
-mGk
-xFW
-lrd
+uAP
+rgO
+kak
+nOp
cMz
cMz
cMz
@@ -119915,7 +120279,7 @@ cMz
cMz
gsC
cMz
-usL
+bTY
qLg
iup
ryY
@@ -120069,7 +120433,7 @@ dVn
vwC
fbR
xMz
-xci
+kMV
eON
gxn
vEV
@@ -120078,14 +120442,14 @@ sdv
xMO
wDg
xMz
-waV
+lIY
gxn
-aLh
-aLh
-ltt
-gqv
-hKJ
-nww
+aMy
+aMy
+wNC
+wlr
+xyp
+mnf
vOy
vOy
vOy
@@ -120101,15 +120465,15 @@ vOy
vOy
vOy
vOy
-xvO
-peu
-nww
-ltt
-ssF
-bWx
-bij
-hux
-kfo
+gPA
+eWf
+mnf
+wNC
+gVW
+oQI
+iaO
+vUn
+atJ
rCl
ePM
pzd
@@ -120278,7 +120642,7 @@ sVV
oON
njn
njn
-cva
+daI
njn
njn
ael
@@ -120286,27 +120650,27 @@ ael
agQ
aih
ael
-htF
-bNT
-jvz
-uPB
-uPB
-uPB
-ecz
-uPB
-uPB
-uPB
-uPB
-uPB
-llt
-uPB
-ecz
-uPB
-uPB
-uPB
-riK
-bNT
-hmB
+hyT
+lGh
+iCg
+cGO
+cGO
+cGO
+rpV
+cGO
+cGO
+cGO
+cGO
+cGO
+kaO
+cGO
+rpV
+cGO
+cGO
+cGO
+cDP
+lGh
+tkd
nIN
nIN
rBD
@@ -120474,60 +120838,60 @@ njn
rWz
rWz
rWz
-tvS
+jXN
njn
xVe
sVV
mbx
njn
-orq
-rRb
-qjT
-kRk
+tXa
+gJg
+tSX
+lzt
ael
afE
agT
agT
ael
-qHu
-lOn
-acQ
-acQ
-acQ
-gfv
-gfv
-gfv
-acQ
-gfv
-gfv
-gfv
-acQ
-gfv
-gfv
-gfv
-jRg
-acQ
-acQ
-bNT
-oNa
+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
-jwM
+uig
xzh
xzh
-jHX
+fje
nIN
-kSL
+aNO
sfT
hGV
nIN
rgL
rgL
rgL
-vMQ
+laD
nIN
upS
jtU
@@ -120683,45 +121047,45 @@ hHe
gxn
ioH
njn
-mNS
+jXk
cGR
-hvq
-pCQ
+wks
+jFM
ael
afH
agV
ain
ael
-bMV
-jao
-tbF
-imM
-imM
-tbF
-imM
-eQh
-mTo
-tCD
-tCD
-tCD
-mTo
-wyE
-imM
-dKD
-imM
-imM
-dKD
-bNT
-enF
+cQC
+poD
+rjr
+aMl
+aMl
+rjr
+aMl
+iSx
+dUR
+kaE
+kaE
+kaE
+eRI
+qvh
+aMl
+xXd
+aMl
+aMl
+xXd
+lGh
+iMD
nIN
nIN
xzh
-wlB
+uVY
nIN
-bBc
+lbO
gNo
xzh
-bBc
+lbO
nIN
uRY
pMA
@@ -120886,25 +121250,25 @@ aGA
kbv
fZo
njn
-nnH
+pKL
jsA
jsA
-eJj
+qTi
ael
afI
agY
oxi
xfm
-tiZ
-gIN
-jvz
+lDH
+vIZ
+iCg
mOi
mOi
mOi
mOi
mOi
-mOi
-auc
+sOK
+tAt
auc
hyE
aqU
@@ -120913,10 +121277,10 @@ aHq
aHq
aHq
aHq
-klr
-mxg
-qGZ
-bMi
+sfz
+qdJ
+nZK
+mOZ
nIN
xzh
gNo
@@ -121089,25 +121453,25 @@ mAF
ilq
pjj
njn
-dkt
+kCl
cGR
jsA
-xfW
+uqs
ael
afJ
agY
aiq
ajJ
-acQ
-mxg
-acQ
+xIj
+qdJ
+xIj
mOi
-rCw
-rCw
-lin
-oJR
-tFe
-asD
+onU
+onU
+qwJ
+cOV
+imS
+rxl
xQV
qQS
aqU
@@ -121116,18 +121480,18 @@ dgg
xRk
bti
aHq
-rwf
-mxg
-qGZ
-mqd
+wvX
+qdJ
+nZK
+olF
nIN
xzh
-pHj
+lZJ
nIN
-bBc
+lbO
gNo
xzh
-icn
+vwj
nIN
gfN
efj
@@ -121292,43 +121656,43 @@ hZE
kbv
mbx
njn
-gMJ
+ePz
cGR
jsA
-xfW
+uqs
ael
afK
ahc
air
ael
-gar
-mxg
-acQ
+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
+sfz
+qdJ
+qTS
nIN
nIN
xzh
-iuh
+oIY
nIN
aGm
-vLM
+qoM
xzh
gNo
nIN
@@ -121495,40 +121859,40 @@ laM
kbv
nkH
njn
-eJZ
-rRb
-cXd
-xew
+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
+cDP
+qdJ
+muW
aZv
gNo
gNo
-aBQ
+pga
nIN
nIN
nIN
@@ -121692,13 +122056,13 @@ njn
rWz
rWz
rWz
-tvS
+jXN
njn
hZE
kbv
mbx
njn
-cva
+daI
njn
njn
njn
@@ -121707,36 +122071,36 @@ 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
+trx
+gnK
+aNE
nIN
nIN
nIN
nIN
nIN
-jwM
-oZn
+uig
+hPL
xzh
-lPW
+dMj
nIN
aDS
aPT
@@ -121745,7 +122109,7 @@ nIN
rgL
rgL
rgL
-vMQ
+laD
nIN
wUJ
vpf
@@ -121795,9 +122159,9 @@ hfa
jwK
wnY
cLC
-eGh
+lyh
rtA
-uKv
+esn
nFK
lEO
xWd
@@ -121841,7 +122205,7 @@ lzq
nyQ
nhx
eiq
-teu
+oEA
wXH
xBQ
mSU
@@ -121903,34 +122267,34 @@ gKd
njn
jsA
jsA
-svV
-rIE
+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
@@ -122104,36 +122468,36 @@ hmj
kbv
fZo
njn
-ykY
+iSd
jsA
jsA
-tjz
+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
@@ -122307,36 +122671,36 @@ mAF
ilq
pjj
njn
-boU
-nNI
+xqh
+svq
jsA
-veO
+xGI
adO
afO
ahh
aiw
adO
-acQ
-mxg
-acQ
-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
-acQ
-mxg
-acQ
+xIj
+qdJ
+xIj
aUH
sIA
gSj
@@ -122345,7 +122709,7 @@ nIN
xzh
gNo
xzh
-bBc
+lbO
nIN
gfN
efj
@@ -122448,7 +122812,7 @@ bNE
wDJ
ivs
nyQ
-dXH
+vqI
vWB
bSK
nyQ
@@ -122510,36 +122874,36 @@ xXT
sVV
tkR
njn
-ipr
-pUL
+ugo
+uTl
cGR
-eQd
+wnb
adO
jkj
ahh
aiw
adO
-ebV
-bNT
-acQ
+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
-tzF
+eMr
+gqz
+shC
aUd
ckK
iKM
@@ -122547,8 +122911,8 @@ aHM
nIN
xzh
gNo
-lPW
-vwJ
+dMj
+vNo
nIN
nme
sfT
@@ -122715,34 +123079,34 @@ chb
njn
njn
njn
-htS
+eDe
njn
njn
lFt
ahh
aiw
adO
-qHu
-lOn
-acQ
+ogT
+yiu
+xIj
ioU
qyZ
wTd
cmK
-lFm
-kXu
-kXu
-kXu
-kXu
+cyP
+kSi
+mmn
+kSi
+qyA
kXu
jHC
liJ
qmP
uoH
aHq
-acQ
-bNT
-acQ
+xIj
+lGh
+xIj
aUH
dbv
lII
@@ -122916,18 +123280,18 @@ cSa
aeA
sjz
hbl
-isB
+qYz
cGR
cGR
jsA
-eoD
+cdZ
aiw
ahh
aiw
nph
-acQ
-jao
-acQ
+xIj
+poD
+xIj
ioU
mSz
nIG
@@ -122943,9 +123307,9 @@ iKf
aGN
qrv
aHq
-hBa
-mxg
-acQ
+vcG
+qdJ
+xIj
aGz
ckd
mQC
@@ -122953,8 +123317,8 @@ aHM
aZv
xzh
xzh
-egQ
-vLM
+kya
+qoM
aZv
wcm
lJY
@@ -123128,9 +123492,9 @@ afP
ahh
aiw
nph
-acQ
-lOn
-acQ
+xIj
+yiu
+xIj
ioU
ioU
ioU
@@ -123146,15 +123510,15 @@ aGN
aGN
pSU
aHq
-qcL
-mxg
-acQ
+upW
+qdJ
+xIj
aGz
drk
mQC
mkG
nIN
-tTE
+qHT
nIN
nIN
nIN
@@ -123238,9 +123602,9 @@ bdl
bdl
bGo
bGo
-bPB
+qjY
pCr
-bRR
+jpD
cpK
cpK
bdl
@@ -123331,9 +123695,9 @@ afQ
aiw
aiw
nph
-acQ
-lOn
-acQ
+xIj
+yiu
+xIj
ioU
lPO
vJg
@@ -123349,15 +123713,15 @@ eEo
aGN
rub
aHq
-gar
-mxg
-acQ
+sgH
+qdJ
+xIj
aGz
eqB
obC
hcf
nIN
-cpQ
+nhN
nIN
lJY
lJY
@@ -123528,15 +123892,15 @@ amF
kmE
aeA
njn
-mtq
+xzx
njn
ahJ
ahJ
ahJ
adO
-acQ
-jao
-acQ
+xIj
+poD
+xIj
ioU
dnS
viN
@@ -123552,15 +123916,15 @@ aRi
aGN
qrv
aHq
-oUO
-mxg
-acQ
+fsh
+qdJ
+xIj
aUH
aGz
aGz
aGz
nIN
-pHj
+lZJ
nIN
lJY
qbx
@@ -123731,15 +124095,15 @@ vOh
gUX
ily
njn
-htS
+eDe
njn
aeC
aeC
aeC
-ybk
-acQ
-jao
-acQ
+mdm
+xIj
+poD
+xIj
ioU
pPM
qKz
@@ -123755,10 +124119,10 @@ xNv
iLO
bUa
aHq
-qHu
-bNT
-acQ
-ybk
+ogT
+lGh
+xIj
+mdm
vcE
vcE
vcE
@@ -123935,14 +124299,14 @@ ajs
aeC
mzS
aeC
-rGc
-izu
-izu
-dRQ
-pBg
-gmZ
-dpN
-txd
+oZI
+fjo
+fjo
+opu
+hlj
+iso
+dPB
+mrO
alL
alL
alL
@@ -123958,14 +124322,14 @@ jvY
alL
alL
alL
-gmZ
-onh
-wJd
-pBg
-pfe
-tiO
-tiO
-roY
+iso
+ceV
+nsH
+hlj
+nvz
+ner
+ner
+vdR
uHr
nuM
vcE
@@ -124129,23 +124493,23 @@ aeC
wXh
ayn
atr
-aeA
+lMy
aex
ciw
wXh
aeC
ydz
ayb
-tic
-gBZ
-btu
+jxq
+fbV
+msS
asA
asA
-btu
-oOi
-szb
-tiZ
-vnZ
+msS
+nZf
+rho
+lDH
+emL
jvY
jvY
jvY
@@ -124161,23 +124525,23 @@ jvY
jvY
jvY
jvY
-urs
-eEF
-wmH
-oOi
-rao
+gqI
+iCT
+qnH
+nZf
+ohi
yeH
yeH
-rao
-sBK
-mZv
+ohi
+oJK
+qnX
sSl
kkx
vcE
kpo
iMx
tGi
-lJY
+cea
bXe
eyG
kpo
@@ -124332,23 +124696,23 @@ aeA
asY
ayQ
atr
-bbX
+iDK
atr
ciD
ngl
aeA
ajk
aeA
-xVg
+fXO
aeC
-dwJ
+pdo
nBK
nBK
wYa
-pBg
-vkQ
-brm
-aOw
+hlj
+giW
+mGL
+qXh
jvY
arg
atf
@@ -124364,23 +124728,23 @@ jvY
aMm
aOq
jvY
-biB
-uvq
-cVT
-pBg
+bgM
+puP
+tfF
+hlj
xwX
uHr
uHr
-siS
-aRr
-mJX
+ehm
+nXG
+qYd
lJY
xVS
lJY
ttS
wEO
faO
-haM
+cOd
bXe
deg
wLu
@@ -124452,7 +124816,7 @@ mCo
iwZ
jFy
bKA
-mPK
+oNW
dmF
pXV
bNP
@@ -124535,23 +124899,23 @@ aeA
atp
ayR
atr
-eGb
+iDK
atr
cji
nqV
aeA
ajk
ily
-qHA
-qzQ
-qHA
-qnf
+cMx
+fVk
+cMx
+rjX
aeC
-wPm
-ybk
-jkL
-acQ
-nbW
+beN
+mdm
+lLt
+xIj
+oXP
jvY
arh
atm
@@ -124567,23 +124931,23 @@ jvY
nSG
aOs
jvY
-jkL
-jao
-mQF
-ybk
-dJF
+lLt
+poD
+vCv
+mdm
+rmo
vcE
-dAr
-acB
-cWo
-acB
+uul
+yat
+qLk
+yat
cBb
xVS
lJY
hlX
umh
bXe
-lxT
+cOd
tGi
pfH
wlF
@@ -124738,23 +125102,23 @@ aeC
wXh
ayn
atr
-aeA
+rmG
bXz
ciw
wXh
aeC
ajs
qon
-qHA
-obJ
+cMx
+gqx
aep
ggQ
ggQ
aME
aep
-jkL
-jnx
-iPK
+lLt
+kXD
+eol
jvY
ari
aoP
@@ -124770,23 +125134,23 @@ axo
atm
aOr
jvY
-jkL
-jao
-mQF
+lLt
+poD
+vCv
aep
aME
ggQ
aME
aep
-hog
-acB
+dcX
+yat
dHe
kUV
vcE
kpo
iMx
bXe
-lJY
+sZY
mzF
eyG
kpo
@@ -124948,16 +125312,16 @@ aeC
aeC
ajs
aeC
-qHA
-qii
+cMx
+qbw
aep
afj
afk
agM
aep
-jkL
-tbD
-fDk
+lLt
+jrc
+wdE
jvY
arj
atm
@@ -124973,16 +125337,16 @@ bzD
atm
aOs
jvY
-jkL
-lOn
-mQF
+lLt
+yiu
+vCv
aep
aHS
afk
sHo
aep
-vmu
-acB
+cnm
+yat
vcE
kUV
vcE
@@ -125151,16 +125515,16 @@ aeC
aeA
ajk
aeA
-qHA
-qii
+cMx
+qbw
aep
afk
afk
afk
aep
-jkL
-tbD
-fDk
+lLt
+jrc
+wdE
jvY
ark
atm
@@ -125176,16 +125540,16 @@ axo
atm
thv
jvY
-jkL
-lOn
-mQF
+lLt
+yiu
+vCv
aep
afk
aHl
afk
aep
-hLt
-acB
+rZZ
+yat
lJY
itR
kKR
@@ -125354,16 +125718,16 @@ asA
amF
ohL
aeA
-qHA
-vle
+cMx
+oVo
aep
aep
aep
aep
aep
-nbY
-wLT
-oAp
+umI
+ddO
+sRC
jvY
alL
atk
@@ -125379,16 +125743,16 @@ jvY
aAy
alL
jvY
-nbY
-hqx
-nbY
+umI
+juj
+umI
aep
aep
aep
aep
aep
-ddF
-acB
+lla
+yat
lJY
ucw
dcp
@@ -125557,16 +125921,16 @@ ntI
aeA
aeC
puO
-qHA
-qii
-eRG
+cMx
+qbw
+xnh
aep
aep
aep
aep
-fes
-vpi
-xCS
+sHI
+cNC
+cla
jvY
arl
atm
@@ -125582,16 +125946,16 @@ alL
aMo
aOt
jvY
-fes
-qKU
-jhm
+sHI
+lOn
+wCe
oIB
jgr
-qUG
+cXz
rtc
oIB
-vmu
-acB
+cnm
+yat
lJY
uxC
lJY
@@ -125754,22 +126118,22 @@ atr
aeC
atr
aeC
-qHA
-qHA
-qHA
-qHA
+cMx
+cMx
+cMx
+cMx
mRI
-qHA
-qHA
-qii
-hja
-qHA
-qHA
-qHA
-qHA
-fes
-vpi
-xCS
+cMx
+cMx
+qbw
+rYU
+cMx
+cMx
+cMx
+cMx
+sHI
+cNC
+cla
jvY
abF
atm
@@ -125785,17 +126149,17 @@ aIT
atm
aVF
jvY
-fes
-wZp
-amc
+sHI
+aPC
+pKH
oIB
fXE
kaS
aiQ
oIB
-vmu
-acB
-acB
+cnm
+yat
+yat
kNq
kNq
qDB
@@ -125957,22 +126321,22 @@ atr
aeC
atr
aeC
-qHA
-hEj
-cvi
-qHA
+cMx
+jrC
+jYa
+cMx
wFX
-qHA
-ncV
-qii
-vle
-qHA
-vle
-vle
-qHA
-pqv
-gqf
-xCS
+cMx
+kqa
+qbw
+oVo
+cMx
+oVo
+oVo
+cMx
+nSw
+pqY
+cla
jvY
jvY
jvY
@@ -125988,17 +126352,17 @@ jvY
jvY
jvY
jvY
-xeq
-qKU
-iZz
+sjG
+lOn
+qhT
oIB
wqr
bZw
xUV
oIB
-vmu
-vDR
-acB
+cnm
+cjm
+yat
toD
wDq
aPO
@@ -126160,22 +126524,22 @@ atu
azU
aeC
ldl
-qHA
-qii
-stA
-qHA
+cMx
+qbw
+iAI
+cMx
tvA
-qHA
-oTc
-nwT
-ocI
-mfH
-nwT
-nwT
-mfH
-kjX
-gqf
-xCS
+cMx
+iml
+fIK
+kZc
+wuS
+fIK
+fIK
+wuS
+tzF
+pqY
+cla
alL
urM
dBG
@@ -126191,17 +126555,17 @@ jvY
wjv
fDG
alL
-fes
-wZp
-kjX
+sHI
+aPC
+tzF
qgK
tEB
uBM
dXo
oIB
-xPu
-uOE
-acB
+fME
+kon
+yat
swG
jei
aPO
@@ -126363,22 +126727,22 @@ taw
taw
mRI
taw
-qHA
-wpT
-stA
-qHA
+cMx
+vPT
+iAI
+cMx
wTn
-qHA
-nQw
-qii
-wjP
-qHA
-vle
-vle
-qHA
-gbR
-vpi
-chC
+cMx
+cLd
+qbw
+pTI
+cMx
+oVo
+oVo
+cMx
+nWf
+cNC
+igC
aqe
amw
anO
@@ -126394,17 +126758,17 @@ arq
anO
qaV
kwd
-usi
-qKU
-iZz
+acQ
+lOn
+qhT
oIB
wKF
hzb
ltU
oIB
-juG
-eDk
-acB
+wSB
+gAO
+yat
bCR
jei
aPO
@@ -126566,22 +126930,22 @@ qlu
taw
wTn
kCu
-qHA
-uPN
-stA
-qHA
+cMx
+sdd
+iAI
+cMx
wFX
-qHA
-lsh
-qii
-hja
-qHA
-vle
-hja
-qHA
-bwN
-gxR
-lCc
+cMx
+nDH
+qbw
+rYU
+cMx
+oVo
+rYU
+cMx
+nXV
+wHr
+vGi
aqg
arr
atn
@@ -126597,17 +126961,17 @@ atn
atn
aOB
aRj
-dZR
-kWc
-cwL
+rUN
+hft
+swn
oIB
phj
vEf
cNK
oIB
-hFt
-lxJ
-oFU
+xiW
+mCg
+ryJ
aPO
aPO
aPO
@@ -126769,22 +127133,22 @@ rWb
taw
oAK
kCu
-qHA
-qzQ
-qHA
-qHA
+cMx
+fVk
+cMx
+cMx
tvA
-qHA
-vle
-qii
-vle
-qHA
-cap
-fiN
-qHA
-fes
-kzR
-ngF
+cMx
+oVo
+qbw
+oVo
+cMx
+iVz
+rAS
+cMx
+sHI
+tof
+jao
kwd
amA
atq
@@ -126800,17 +127164,17 @@ atq
atq
aoT
kwd
-usi
-kzR
-jhm
+acQ
+tof
+wCe
oIB
cHC
dha
pxj
oIB
-juG
-fmX
-acB
+wSB
+hYj
+yat
fPF
jei
nNT
@@ -126977,17 +127341,17 @@ oQL
gqt
oxy
oxy
-pFJ
-qii
-qii
-vle
-qHA
-qHA
-qHA
-qHA
-fes
-kzR
-lCf
+vTE
+qbw
+qbw
+oVo
+cMx
+cMx
+cMx
+cMx
+sHI
+tof
+eLV
alO
ars
amx
@@ -127003,9 +127367,9 @@ amx
amx
aOC
alO
-fes
-kzR
-iZz
+sHI
+tof
+qhT
loP
loP
loP
@@ -127089,7 +127453,7 @@ dJG
sZe
bdl
ntd
-hgO
+jCm
eqb
mLR
hdE
@@ -127173,24 +127537,24 @@ fTl
wIu
wXJ
taw
-ldz
+oNK
kMa
qIa
iSB
oxy
oQL
hdy
-qHA
-vle
-qii
-vle
-qHA
-liF
-wPR
-qHA
-cui
-kzR
-lCf
+cMx
+oVo
+qbw
+oVo
+cMx
+oaP
+jhQ
+cMx
+kYb
+tof
+eLV
inw
amA
amx
@@ -127206,9 +127570,9 @@ atq
amx
aoT
inw
-fes
-kzR
-hPr
+sHI
+tof
+nii
loP
iwB
tOC
@@ -127383,17 +127747,17 @@ iKV
oxy
oQL
oFr
-qHA
-mUL
-qii
-vle
-qHA
-vle
-vle
-qHA
-fes
-kzR
-bLg
+cMx
+xnX
+qbw
+oVo
+cMx
+oVo
+oVo
+cMx
+sHI
+tof
+ycA
aqj
arw
anP
@@ -127409,9 +127773,9 @@ atq
atq
wwJ
inw
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
loP
joG
sDu
@@ -127586,17 +127950,17 @@ qAG
oxy
kMa
gQu
-qHA
-lsh
-qii
-wjP
-qHA
-vle
-vle
-qHA
-gbR
-kzR
-xCS
+cMx
+nDH
+qbw
+pTI
+cMx
+oVo
+oVo
+cMx
+nWf
+tof
+cla
inw
qHM
emn
@@ -127612,9 +127976,9 @@ amx
amx
aBs
inw
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
loP
kxo
wSn
@@ -127789,17 +128153,17 @@ ydf
oxy
wOv
ixu
-qHA
-uxW
-qii
-qii
-pFJ
-qii
-qii
-pFJ
-bKU
-kzR
-xsX
+cMx
+tNY
+qbw
+qbw
+vTE
+qbw
+qbw
+vTE
+kGS
+tof
+dFB
alO
alO
alO
@@ -127815,9 +128179,9 @@ atq
atq
aBs
alO
-fes
-kzR
-bKU
+sHI
+tof
+kGS
fTF
xBY
xBY
@@ -127992,17 +128356,17 @@ cnP
oxy
wOv
qlu
-qHA
-xLm
-qii
-vle
-qHA
-vle
-vle
-lnD
-fes
-kzR
-iea
+cMx
+qbU
+qbw
+oVo
+cMx
+oVo
+oVo
+btb
+sHI
+tof
+sJN
alO
gKZ
vTv
@@ -128018,9 +128382,9 @@ atq
atq
aBs
alO
-pvE
-vpi
-iZz
+uSk
+cNC
+qhT
gdS
wSn
kXN
@@ -128195,17 +128559,17 @@ lUQ
oxy
tBU
iDs
-qHA
-xLm
-qii
-hja
-qHA
-kLZ
-tty
-lnD
-fes
-kzR
-iea
+cMx
+qbU
+qbw
+rYU
+cMx
+pVh
+mSl
+btb
+sHI
+tof
+sJN
alO
arz
atq
@@ -128221,15 +128585,15 @@ auB
atc
aOF
alO
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
gdS
lBg
dXd
loP
loP
-eMh
+xeU
loP
loP
kNq
@@ -128393,22 +128757,22 @@ mOE
gUG
oxy
oQL
-qHA
-qHA
-qzQ
-qHA
-qHA
-qHA
-gDF
-qii
-vle
-qHA
-qHA
-qHA
-qHA
-fes
-kzR
-iea
+cMx
+cMx
+fVk
+cMx
+cMx
+cMx
+uyQ
+qbw
+oVo
+cMx
+cMx
+cMx
+cMx
+sHI
+tof
+sJN
alO
arz
atq
@@ -128424,9 +128788,9 @@ aIU
aMq
aOG
alO
-fes
-kzR
-iZz
+sHI
+tof
+qhT
loP
loP
loP
@@ -128436,10 +128800,10 @@ vyI
lPB
oHl
jWh
-acB
-hJe
-acB
-acB
+yat
+rXq
+yat
+yat
kNq
kNq
kNq
@@ -128596,22 +128960,22 @@ oxy
bCv
oxy
oQL
-qHA
-gCQ
-rEs
-tvr
-qHA
-lsh
-vle
-qii
-vle
-aYU
-uxs
-iQG
-qHA
-fes
-kzR
-iea
+cMx
+aOS
+gNI
+eTm
+cMx
+nDH
+oVo
+qbw
+oVo
+oDa
+yfn
+nkc
+cMx
+sHI
+tof
+sJN
alO
arz
atq
@@ -128627,9 +128991,9 @@ xBe
xBe
xBe
xBe
-fes
-kzR
-iZz
+sHI
+tof
+qhT
jWh
eFK
wGd
@@ -128639,10 +129003,10 @@ hSk
hSk
uIv
jWh
-jZj
-sRP
-oko
-acB
+dnh
+bct
+iDa
+yat
tiY
qAK
xGK
@@ -128799,23 +129163,23 @@ oQL
qmq
oQL
nXo
-qHA
-gCQ
-bNc
-tCC
-qHA
-ftG
-vle
-qii
-vle
-vle
-vle
-keE
-qHA
-pvE
-kzR
-iea
-xnR
+cMx
+aOS
+guP
+mHT
+cMx
+kpL
+oVo
+qbw
+oVo
+oVo
+oVo
+iIU
+cMx
+uSk
+tof
+sJN
+xHt
arm
ats
auO
@@ -128830,9 +129194,9 @@ aIV
qqr
arH
xBe
-fes
-kzR
-iZz
+sHI
+tof
+qhT
vXd
duF
hSk
@@ -128842,10 +129206,10 @@ hSk
hSk
uIv
jWh
-eHz
-juG
-tMT
-acB
+tFJ
+wSB
+uBG
+yat
jei
ltm
oAT
@@ -128998,26 +129362,26 @@ aag
aag
fTl
oxy
-qHA
-qHA
-xcs
-qHA
-qHA
-utC
-qii
-ikC
-vRJ
-gNQ
-laP
-gNQ
-gNQ
-gNQ
-gNQ
-gNQ
-xDG
-jlO
-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
@@ -129033,9 +129397,9 @@ azo
aJg
abR
xBe
-fes
-kzR
-jhm
+sHI
+tof
+wCe
jWh
oih
khE
@@ -129045,10 +129409,10 @@ vyI
kpQ
vSE
jWh
-nwA
-xZz
-kRN
-acB
+dhA
+iWn
+mnB
+yat
jei
ltm
ejj
@@ -129201,26 +129565,26 @@ aag
aag
fTl
oxy
-qHA
-tZM
-qEZ
-frV
-qHA
-gCQ
-uqJ
-vbu
-qHA
-qHA
-qHA
-qzQ
-qHA
-qHA
-qHA
-qHA
-qHA
-gbR
-kzR
-iZz
+cMx
+cMH
+qvF
+lat
+cMx
+aOS
+tlM
+dan
+cMx
+cMx
+cMx
+fVk
+cMx
+cMx
+cMx
+cMx
+cMx
+nWf
+tof
+qhT
wDM
wDM
wDM
@@ -129236,9 +129600,9 @@ atv
auV
amE
xBe
-fes
-kzR
-iZz
+sHI
+tof
+qhT
jWh
jWh
uUz
@@ -129248,10 +129612,10 @@ qbZ
jWh
jWh
jWh
-fQl
-juG
-nGZ
-acB
+tFO
+wSB
+flD
+yat
xQe
jei
lVR
@@ -129404,15 +129768,15 @@ aag
aag
fTl
lmq
-qHA
-mDz
-pIf
-uwf
-qHA
-gCQ
-rEs
-bhZ
-qHA
+cMx
+rBY
+pTY
+ueY
+cMx
+aOS
+gNI
+aPg
+cMx
uiG
rTZ
tfb
@@ -129421,9 +129785,9 @@ tfb
tfb
tfb
ptK
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
wDM
aOM
aoW
@@ -129439,9 +129803,9 @@ atv
auV
amE
xBe
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
jWh
xXa
xXa
@@ -129451,10 +129815,10 @@ cKL
jbH
rJh
jWh
-rJY
-dPl
-qQG
-acB
+pld
+vhb
+tie
+yat
cfm
jei
oSR
@@ -129607,15 +129971,15 @@ aag
aag
fTl
oxy
-qHA
-qHA
-qHA
-qHA
-qHA
-qHA
-qzQ
-qHA
-qHA
+cMx
+cMx
+cMx
+cMx
+cMx
+cMx
+fVk
+cMx
+cMx
bNM
wkX
jhx
@@ -129624,9 +129988,9 @@ jhx
jhx
dnH
gpc
-kjX
-gqf
-iZz
+tzF
+pqY
+qhT
wDM
uto
aoX
@@ -129642,9 +130006,9 @@ nNY
qKi
abR
xBe
-pvE
-gxR
-kjX
+uSk
+wHr
+tzF
dEt
soP
pDr
@@ -129654,10 +130018,10 @@ soP
eoG
uIv
jWh
-acB
-hJe
-acB
-acB
+yat
+rXq
+yat
+yat
kNq
fJp
ekz
@@ -129827,9 +130191,9 @@ nwU
owg
owg
ptK
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
wDM
aOQ
fxI
@@ -129845,9 +130209,9 @@ azp
qJf
anV
xBe
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
jWh
iqH
khE
@@ -130030,9 +130394,9 @@ eNi
eNi
eNi
eNi
-fes
-kzR
-jhm
+sHI
+tof
+wCe
wDM
aOH
aJf
@@ -130048,9 +130412,9 @@ xBe
xBe
xBe
xBe
-fes
-vpi
-rXV
+sHI
+cNC
+xmP
jWh
jWh
jlQ
@@ -130233,9 +130597,9 @@ olO
wiG
nWN
eNi
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
wDM
wDM
wDM
@@ -130251,9 +130615,9 @@ aJh
arq
ufx
alR
-fes
-vpi
-jhm
+sHI
+cNC
+wCe
jWh
hSk
hSk
@@ -130436,9 +130800,9 @@ ueG
rPt
jyE
eNi
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
hwC
rcS
amx
@@ -130454,9 +130818,9 @@ aJi
azs
atq
alR
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
jlQ
tst
uUe
@@ -130639,9 +131003,9 @@ iKD
rPt
rPt
eNi
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
alR
amA
atq
@@ -130657,9 +131021,9 @@ aJj
aMD
atq
alR
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
jlQ
tZZ
gLz
@@ -130842,9 +131206,9 @@ eNi
eNi
gIh
eNi
-iIQ
-kzR
-iZz
+hGb
+tof
+qhT
alR
amA
atq
@@ -130860,9 +131224,9 @@ amA
ayl
amx
alR
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
jWh
jmQ
vcu
@@ -131045,9 +131409,9 @@ aWb
dyK
vzK
wYY
-fes
-kzR
-iZz
+sHI
+tof
+qhT
alR
amA
atq
@@ -131063,9 +131427,9 @@ aJl
amx
atq
alR
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
jlQ
snE
sGL
@@ -131248,9 +131612,9 @@ tii
eJX
sAC
wYY
-fes
-kzR
-iZz
+sHI
+tof
+qhT
alR
amA
amx
@@ -131266,9 +131630,9 @@ aJk
amx
atq
alR
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
jlQ
tZZ
cBj
@@ -131451,9 +131815,9 @@ sjj
fzP
sAC
wYY
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
alR
amA
atq
@@ -131469,9 +131833,9 @@ xEO
xEO
lnP
alR
-fes
-vpi
-jhm
+sHI
+cNC
+wCe
jWh
qLs
qLs
@@ -131654,9 +132018,9 @@ fcM
uzE
qsL
nim
-prV
-gqf
-iZz
+noe
+pqY
+qhT
alR
amA
atq
@@ -131672,9 +132036,9 @@ iWR
iWR
kbx
alR
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
jWh
jWh
jlQ
@@ -131857,9 +132221,9 @@ xlC
gyO
kTN
eNi
-pvE
-vpi
-iZz
+uSk
+cNC
+qhT
alR
amA
atq
@@ -131875,9 +132239,9 @@ xEO
xEO
aOV
alR
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
jWh
wFQ
bop
@@ -132060,9 +132424,9 @@ oNb
iFC
qAA
eNi
-fes
-kzR
-iZz
+sHI
+tof
+qhT
alR
arK
atc
@@ -132078,9 +132442,9 @@ aJq
aMG
aOW
alR
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
jWh
bXy
bop
@@ -132180,7 +132544,7 @@ oGh
far
vDo
nnr
-lQl
+rKt
ljv
ljv
sUi
@@ -132263,9 +132627,9 @@ eNi
eNi
eNi
eNi
-fes
-kzR
-iZz
+sHI
+tof
+qhT
alO
alO
alO
@@ -132281,9 +132645,9 @@ alO
alO
alO
alO
-fes
-vpi
-iZz
+sHI
+cNC
+qhT
jWh
wFQ
bop
@@ -132466,9 +132830,9 @@ dWX
owg
owg
ptK
-bZq
-hfc
-jgS
+knU
+oOZ
+hdP
aqq
aPa
eky
@@ -132484,9 +132848,9 @@ eky
eky
aPa
aqq
-bZq
-hfc
-lBf
+knU
+oOZ
+doX
jWh
xXa
xXa
@@ -132669,9 +133033,9 @@ keR
jhx
keR
dwI
-kjX
-jae
-tGW
+tzF
+eIY
+vER
hal
uYg
nau
@@ -132687,9 +133051,9 @@ uYg
nau
uYg
hal
-rrG
-jae
-kjX
+sVv
+eIY
+tzF
mPh
soP
tWi
@@ -132872,9 +133236,9 @@ kPG
kPG
cVw
ptK
-iOP
-xjI
-fzm
+eJg
+bkb
+pvi
aqq
eky
aNl
@@ -132890,9 +133254,9 @@ eky
aNl
eky
aqq
-iOP
-xSl
-fzm
+eJg
+lqL
+pvi
jWh
tim
uWV
@@ -132975,7 +133339,7 @@ lKM
sqg
nSq
oBr
-eSc
+sKf
gdJ
cjt
pRZ
@@ -133075,9 +133439,9 @@ ucp
cIW
ptK
ptK
-qDX
-sDe
-qDX
+xga
+kgV
+xga
aHe
jlT
exi
@@ -133951,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
@@ -134154,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
@@ -134357,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
@@ -134499,7 +134863,7 @@ haO
iYm
fLl
fLl
-vjd
+wRk
eky
wZX
vUh
@@ -134513,7 +134877,7 @@ aHe
svf
wZX
eky
-quy
+wuk
eZm
eZm
bjt
@@ -134560,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
@@ -134600,7 +134964,7 @@ sqg
ppM
eTb
hbs
-vZU
+xJV
elx
jnI
oJk
@@ -134763,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
@@ -134966,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
@@ -135169,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
@@ -135372,10 +135736,10 @@ aaa
aKQ
aaa
aaa
-aab
-aaa
-aaa
-aaa
+aak
+bdH
+bdH
+bdH
bdH
bdH
bdH
@@ -135575,10 +135939,10 @@ aaa
aKQ
aaa
aaa
-aab
-aaa
-aaa
-aaa
+aak
+bdH
+bdH
+bdH
bdH
bdH
bdH
@@ -135778,10 +136142,10 @@ aaa
aKQ
aaa
aaa
-aab
-aaa
-aaa
-aaa
+aak
+bdH
+bdH
+bdH
bdH
bdH
bdH
@@ -135981,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
@@ -136002,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
@@ -136387,10 +136751,10 @@ aaa
aKQ
aaa
aaa
-aab
-aaa
-aaa
-aaa
+aak
+bdH
+bdH
+bdH
bdH
bdH
bdH
@@ -136792,9 +137156,9 @@ aaa
aaa
aKQ
aaa
-aaa
-aab
-aaa
+bdH
+aak
+bdH
bdH
bdH
bdH
@@ -136995,9 +137359,9 @@ aaa
aaa
aKQ
aaa
-aaa
-aab
-aaa
+bdH
+aak
+bdH
bdH
bdH
bdH
@@ -137198,9 +137562,9 @@ aaa
aaa
aKQ
aaa
-aaa
-aab
-aaa
+bdH
+aak
+bdH
bdH
bdH
bdH
@@ -137401,9 +137765,9 @@ aaa
aaa
aKQ
aaa
-aaa
-aab
-aaa
+bdH
+aak
+bdH
bdH
bdH
bdH
@@ -137604,9 +137968,9 @@ aaa
aaa
aKQ
aaa
-aaa
-aab
-aaa
+bdH
+aak
+bdH
bdH
bdH
bdH
@@ -137807,9 +138171,9 @@ aaa
aaa
aKQ
aaa
-aaa
-aab
-aaa
+bdH
+aak
+bdH
bdH
bdH
bdH
@@ -138010,9 +138374,9 @@ aaa
aaa
aKQ
aaa
-aaa
-aab
-aaa
+bdH
+aak
+bdH
bdH
bdH
bdH
@@ -138212,10 +138576,10 @@ aab
aaa
aaa
aKQ
-aaa
-aaa
-aab
-aab
+bdH
+bdH
+aak
+aak
aak
aak
aak
@@ -138814,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
@@ -139213,7 +139577,7 @@ aaa
aab
aaa
aaa
-aaa
+bdH
bdH
bdH
bdH
@@ -139417,19 +139781,6 @@ aab
aaa
aaa
bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-bdH
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
lmz
lmz
lmz
@@ -139441,6 +139792,19 @@ lmz
lmz
lmz
lmz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
+daz
lmz
lmz
lmz
@@ -139632,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
@@ -139831,21 +140195,21 @@ lmz
lmz
lmz
lmz
-lmz
-lmz
-lmz
+sbJ
+sbJ
+sbJ
daz
-vhe
-fEN
-cqm
-gTH
-qit
-ebN
+rna
+clw
qQS
-gwn
-pfT
-jYR
-dyp
+sKY
+qQS
+bIp
+fKe
+dDp
+dDp
+frM
+lcg
daz
lmz
lmz
@@ -140025,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
@@ -140232,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
@@ -140434,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
@@ -140638,27 +141002,27 @@ lmz
lmz
lmz
daz
-daz
-eKJ
-yaZ
-ffE
-hZj
-clw
-daz
-daz
-daz
-sGZ
-ebN
-ebN
-roH
-ebN
-daz
-daz
-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
@@ -140841,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
@@ -141044,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
@@ -141247,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
@@ -141449,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
+gbg
+uVv
+xwU
ebN
-daz
-daz
-daz
-wnh
-wnh
-daz
-daz
+qQS
+kBy
+kBy
+gfu
+kBy
daz
lmz
lmz
lmz
bdH
bdH
+bdH
aak
bdH
bdH
@@ -141653,26 +142017,26 @@ lmz
lmz
lmz
lmz
+lmz
daz
daz
-ocB
-nJH
-rnH
daz
daz
-sTV
daz
-ebN
-ebN
-gbg
-uVv
-lFq
-ebN
-qQS
-kBy
-kBy
-gfu
-kBy
+tte
+hvw
+auf
+hTl
+jrH
+xDC
+yaQ
+vLz
+mFN
+kSy
+dDp
+dDp
+frM
+lcg
daz
lmz
lmz
@@ -141852,8 +142216,7 @@ aaa
aab
aaa
bdH
-lmz
-lmz
+bdH
lmz
lmz
lmz
@@ -141862,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
@@ -142059,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
@@ -142262,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
@@ -142462,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
@@ -142489,6 +142849,10 @@ daz
lmz
lmz
lmz
+lmz
+lmz
+lmz
+lmz
bdH
bdH
bdH
@@ -142664,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
@@ -142684,14 +143056,6 @@ lmz
lmz
lmz
lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
-lmz
bdH
bdH
bdH
@@ -142871,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
@@ -143070,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/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/interfaces/AresAdmin.js b/tgui/packages/tgui/interfaces/AresAdmin.js
index 3963ee87f3a4..dd51b5a1e007 100644
--- a/tgui/packages/tgui/interfaces/AresAdmin.js
+++ b/tgui/packages/tgui/interfaces/AresAdmin.js
@@ -19,6 +19,7 @@ const PAGES = {
'requisitions': () => Requisitions,
'emergency': () => Emergency,
'tech_log': () => TechLogs,
+ 'core_security': () => CoreSec,
'admin_access_log': () => AdminAccessLogs,
'access_management': () => AccessManagement,
'maintenance_management': () => MaintManagement,
@@ -32,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 (
@@ -350,6 +355,25 @@ const MainMenu = (props, context) => {
)}
+
+ Core Security Protocols
+
+
+
+
+
@@ -665,7 +689,7 @@ const BombardmentLogs = (props, context) => {
User
- Coordinates
+ Details
)}
@@ -1328,6 +1352,8 @@ const FlightLogs = (props, context) => {
{logged_in}, {access_text}
+
+ Remote Admin: {admin_login}
{
);
};
+const CoreSec = (props) => {
+ const { data, act } = useBackend();
+ const {
+ logged_in,
+ access_text,
+ last_page,
+ current_menu,
+ security_vents,
+ admin_login,
+ } = data;
+
+ return (
+ <>
+
+
+
+
+
+
+ {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 4045cba6509c..be9106e31c25 100644
--- a/tgui/packages/tgui/interfaces/AresInterface.jsx
+++ b/tgui/packages/tgui/interfaces/AresInterface.jsx
@@ -23,6 +23,7 @@ const PAGES = {
'requisitions': () => Requisitions,
'emergency': () => Emergency,
'tech_log': () => TechLogs,
+ 'core_security': () => CoreSec,
};
export const AresInterface = (props) => {
@@ -35,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 (
@@ -365,6 +368,27 @@ const MainMenu = (props) => {
)}
+ {(access_level === 3 || access_level >= 6) && (
+
+ Core Security Protocols
+
+
+ act('page_core_sec')}
+ />
+
+
+
+ )}
>
);
};
@@ -628,7 +652,7 @@ const BombardmentLogs = (props) => {
User
- Coordinates
+ Details
)}
@@ -1670,3 +1694,77 @@ const TechLogs = (props, context) => {
>
);
};
+
+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/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/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,
+ ]);
};
/**