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 ( + <> +
+ + +
+ +
+

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

+ + +
+ )} ); }; @@ -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 ( + <> +
+ + +
+ +
+

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" /> + + {alternateAction !== undefined && ( + + )} + + + ); + })} + + + ))} + + + + ); +}; 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

+ + +
+ )} ); }; @@ -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 ( + <> +
+ + +
+ +
+

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, + ]); }; /**