diff --git a/.github/add_labels.py b/.github/add_labels.py index 3e903c362d82..764f90df0c50 100644 --- a/.github/add_labels.py +++ b/.github/add_labels.py @@ -1,19 +1,19 @@ import os, re -from github import Github +from github import Github, GithubException # Format - Key: Array[Label, [StringsToIgnore]] changelogToPrefix = { - 'fix': ["Fix", ["fixed a few things"]], - 'qol': ["Quality of Life", ["made something easier to use"]], - 'add': ["Feature", ["Added new mechanics or gameplay changes", "Added more things"]], - 'del': ["Removal", ["Removed old things"]], - 'spellcheck': ["Grammar and Formatting", ["fixed a few typos"]], - 'balance': ["Balance", ["rebalanced something"]], - 'code': ["Code Improvement", ["changed some code"]], - 'refactor': ["Refactor", ["refactored some code"]], - 'config': ["Config", ["changed some config setting"]], - 'admin': ["Admin", ["messed with admin stuff"]], - 'server': ["Server", ["something server ops should know"]], + 'fix': ["Fix", ["fixed a few things"]], + 'qol': ["Quality of Life", ["made something easier to use"]], + 'add': ["Feature", ["Added new mechanics or gameplay changes", "Added more things"]], + 'del': ["Removal", ["Removed old things"]], + 'spellcheck': ["Grammar and Formatting", ["fixed a few typos"]], + 'balance': ["Balance", ["rebalanced something"]], + 'code': ["Code Improvement", ["changed some code"]], + 'refactor': ["Refactor", ["refactored some code"]], + 'config': ["Config", ["changed some config setting"]], + 'admin': ["Admin", ["messed with admin stuff"]], + 'server': ["Server", ["something server ops should know"]], 'soundadd': ["Sound", ["added a new sound thingy"]], 'sounddel': ["Sound", ["removed an old sound thingy"]], 'imageadd': ["Sprites", ["added some icons and images"]], @@ -24,78 +24,96 @@ } fileToPrefix = { - 'wav': 'Sound', - 'ogg': 'Sound', + 'wav': 'Sound', + 'ogg': 'Sound', 'mp3': 'Sound', ## Can't believe they forgot about the best sound format - 'dmm': 'Mapping', + 'dmm': 'Mapping', - 'js': 'UI', - 'tsx': 'UI', - 'ts': 'UI', - 'jsx': 'UI', - 'scss': 'UI', + 'js': 'UI', + 'tsx': 'UI', + 'ts': 'UI', + 'jsx': 'UI', + 'scss': 'UI', - 'dmi': "Sprites", + 'dmi': "Sprites", } githubLabel = "Github" +missingLogLabel = "Missing Changelog" def get_labels(pr): - labels = {} - - files = pr.get_files() - for file in files: - prefix = file.filename.split(".")[-1] - if file.filename.startswith(".github"): - labels[githubLabel] = True - if not prefix in fileToPrefix: - continue - labels[fileToPrefix[prefix]] = True - - changelog_match = re.search(r"🆑(.*)/🆑", pr.body, re.S | re.M) - if changelog_match is None: - changelog_match = re.search(r":cl:(.*)/:cl:", pr.body, re.S | re.M) - if changelog_match is None: - return labels - lines = changelog_match.group(1).split('\n') - for line in lines: - line = line.strip() - if not line: - continue - - contentSplit = line.split(":") - - key = contentSplit.pop(0).strip() - content = ":".join(contentSplit).strip() - - if not key in changelogToPrefix: - continue - - if content in changelogToPrefix[key][1]: - continue - - labels[changelogToPrefix[key][0]] = True - - return list(labels) + labels = {} + failed = False + + files = pr.get_files() + for file in files: + prefix = file.filename.split(".")[-1] + if file.filename.startswith(".github"): + labels[githubLabel] = True + if not prefix in fileToPrefix: + continue + labels[fileToPrefix[prefix]] = True + + changelog_match = re.search(r"🆑(.*)/🆑", pr.body, re.S | re.M) + if changelog_match is None: + changelog_match = re.search(r":cl:(.*)/:cl:", pr.body, re.S | re.M) + if changelog_match is None: + print("::warning ::No changelog detected.") + labels[missingLogLabel] = True + return labels, False + + lines = changelog_match.group(1).split('\n') + failed = len(lines) <= 2 # Make sure its not an empty changelog + if failed: + print("::error ::Empty changelog.") + + for line in lines[1:-1]: # Skip first line with authors and last + line = line.strip() + if not line: + continue + + contentSplit = line.split(":") + + key = contentSplit.pop(0).strip() + content = ":".join(contentSplit).strip() + + if not key in changelogToPrefix: # Some key that we didn't expect + print(f"::error ::Invalid changelog entry: {line}") + failed = True + continue + + if content in changelogToPrefix[key][1]: # They left the template entry in + print(f"::error ::Invalid changelog entry: {line}") + failed = True + continue + + labels[changelogToPrefix[key][0]] = True + + return list(labels), failed def main(): - g = Github(os.environ["TOKEN"]) - repo = g.get_repo(os.environ['REPO']) + g = Github(os.environ["TOKEN"]) + repo = g.get_repo(os.environ['REPO']) - pr = repo.get_pull(int(os.environ["PR_NUMBER"])) - if not pr: - print("Not a PR.") - return + pr = repo.get_pull(int(os.environ["PR_NUMBER"])) + if not pr: + print("::warning ::Not a PR.") + return - labels = get_labels(pr) + labels, failed = get_labels(pr) - if labels is None: # no labels to add - print("No labels to add.") - return + if not missingLogLabel in labels: + try: + pr.remove_from_labels(missingLogLabel) + except GithubException as e: + if e.status == 404: + pass # 404 if we try to remove a label that isn't set - for label in labels: - pr.add_to_labels(label) + for label in labels: + pr.add_to_labels(label) + if failed: + exit(1) if __name__ == '__main__': - main() + main() diff --git a/.github/alternate_byond_versions.txt b/.github/alternate_byond_versions.txt index c96908590dac..7b50af46885e 100644 --- a/.github/alternate_byond_versions.txt +++ b/.github/alternate_byond_versions.txt @@ -5,5 +5,3 @@ # Format is version: map # Example: # 500.1337: runtimestation - -515.1630: lv624 diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml index 0488055312f7..e76e224522a0 100644 --- a/.github/workflows/ci_suite.yml +++ b/.github/workflows/ci_suite.yml @@ -63,30 +63,16 @@ jobs: odlint: name: Lint with OpenDream - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 - - name: Get OpenDream Version - run: | - source dependencies.sh - echo "OPENDREAM_VERSION=$OPENDREAM_VERSION" >> $GITHUB_ENV - - name: Restore OpenDream cache - uses: actions/cache@v3 - id: cache-od + - uses: actions/checkout@v4 + - uses: robinraju/release-downloader@v1.9 with: - path: ~/OpenDream - key: ${{ runner.os }}-opendream-${{ env.OPENDREAM_VERSION }} - - name: Download OpenDream - if: steps.cache-od.outputs.cache-hit != 'true' - run: | - bash tools/ci/download_od.sh - - name: Setup OpenDream - if: steps.cache-od.outputs.cache-hit != 'true' - run: | - bash tools/ci/setup_od.sh - - name: Run OpenDream - run: | - bash tools/ci/run_od.sh + repository: "OpenDreamProject/OpenDream" + tag: "latest" + fileName: "DMCompiler_linux-x64.tar.gz" + extract: true + - run: ./DMCompiler_linux-x64/DMCompiler --suppress-unimplemented colonialmarines.dme compile_all_maps: if: "!contains(github.event.head_commit.message, '[ci skip]')" diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 8a688f207f11..cdf7ce11784e 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -1,7 +1,7 @@ -name: Labeling +name: Labeling and Verification on: pull_request_target: - types: [opened] + types: [opened, edited] jobs: label: runs-on: ubuntu-latest @@ -13,7 +13,7 @@ jobs: run: | unset SECRET_EXISTS if [ -n "$ENABLER_SECRET" ]; then SECRET_EXISTS=true ; fi - echo "::set-output name=ACTIONS_ENABLED::$SECRET_EXISTS" + echo "ACTIONS_ENABLED=$SECRET_EXISTS" >> $GITHUB_OUTPUT - name: Get The Script if: steps.value_holder.outputs.ACTIONS_ENABLED run: | @@ -29,7 +29,7 @@ jobs: python -m pip install --upgrade pip python -m pip install pygithub sudo apt-get install dos2unix - - name: Add Labels + - name: Add and verify labels if: steps.value_holder.outputs.ACTIONS_ENABLED run: | python add_labels.py diff --git a/.tgs.yml b/.tgs.yml index ba3fc6b26c66..ed84385e3c36 100644 --- a/.tgs.yml +++ b/.tgs.yml @@ -1,5 +1,5 @@ version: 1 -byond: "514.1588" +byond: "515.1627" static_files: - name: config - name: data diff --git a/code/__DEFINES/ARES.dm b/code/__DEFINES/ARES.dm index 0e3cc4a8ff6e..55aa68f97309 100644 --- a/code/__DEFINES/ARES.dm +++ b/code/__DEFINES/ARES.dm @@ -15,7 +15,7 @@ /// High Command, can read the deletion log. #define ARES_ACCESS_HIGH 9 #define ARES_ACCESS_WY_COMMAND 10 -/// Debugging. Allows me to view everything without using a high command rank. Unlikely to stay in a full merge. +/// Debugging. Allows me to view everything without using a high command rank. #define ARES_ACCESS_DEBUG 11 #define ARES_RECORD_ANNOUNCE "Announcement Record" @@ -28,6 +28,7 @@ #define ARES_RECORD_MAINTENANCE "Maintenance Ticket" #define ARES_RECORD_ACCESS "Access Ticket" #define ARES_RECORD_FLIGHT "Flight Record" +#define ARES_RECORD_TECH "Tech Control Record" /// Not by ARES logged through marine_announcement() #define ARES_LOG_NONE 0 @@ -77,3 +78,7 @@ /// Cooldowns #define COOLDOWN_ARES_SENSOR 60 SECONDS #define COOLDOWN_ARES_ACCESS_CONTROL 20 SECONDS +#define COOLDOWN_ARES_VENT 60 SECONDS + +/// Time until someone can respawn as Working Joe +#define JOE_JOIN_DEAD_TIME (15 MINUTES) diff --git a/code/__DEFINES/__game.dm b/code/__DEFINES/__game.dm index 6a9e9f1d4623..6617c5aafcee 100644 --- a/code/__DEFINES/__game.dm +++ b/code/__DEFINES/__game.dm @@ -78,6 +78,8 @@ #define SEE_INVISIBLE_LEVEL_TWO 45 //Used by some other stuff in code. It's really poorly organized. #define INVISIBILITY_LEVEL_TWO 45 //Used by some other stuff in code. It's really poorly organized. +#define HIDE_INVISIBLE_OBSERVER 59 // define for when we want to hide all observer mobs. + #define INVISIBILITY_OBSERVER 60 #define SEE_INVISIBLE_OBSERVER 60 diff --git a/code/__DEFINES/__spacemandmm.dm b/code/__DEFINES/__spacemandmm.dm index b62bbee4259a..9a044949db3e 100644 --- a/code/__DEFINES/__spacemandmm.dm +++ b/code/__DEFINES/__spacemandmm.dm @@ -40,5 +40,5 @@ /world/Del() var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL") if (debug_server) - LIBCALL(debug_server, "auxtools_shutdown")() + call_ext(debug_server, "auxtools_shutdown")() . = ..() diff --git a/code/__DEFINES/_macros.dm b/code/__DEFINES/_macros.dm index 31f4b2aca084..07c3eb664e61 100644 --- a/code/__DEFINES/_macros.dm +++ b/code/__DEFINES/_macros.dm @@ -8,17 +8,8 @@ #define subtypesof(A) (typesof(A) - A) -#ifdef EXPERIMENT_515_DONT_CACHE_REF /// Takes a datum as input, returns its ref string #define text_ref(datum) ref(datum) -#else -/// Takes a datum as input, returns its ref string, or a cached version of it -/// This allows us to cache \ref creation, which ensures it'll only ever happen once per datum, saving string tree time -/// It is slightly less optimal then a []'d datum, but the cost is massively outweighed by the potential savings -/// It will only work for datums mind, for datum reasons -/// : because of the embedded typecheck -#define text_ref(datum) (isdatum(datum) ? (datum:cached_ref ||= "\ref[datum]") : ("\ref[datum]")) -#endif #define addToListNoDupe(L, index) if(L) L[index] = null; else L = list(index) diff --git a/code/__DEFINES/camera.dm b/code/__DEFINES/camera.dm index 9d797b964d61..f50d7d8e2c72 100644 --- a/code/__DEFINES/camera.dm +++ b/code/__DEFINES/camera.dm @@ -16,6 +16,7 @@ #define CAMERA_NET_VEHICLE "Vehicle" #define CAMERA_NET_LANDING_ZONES "Landing Zones" #define CAMERA_NET_LASER_TARGETS "Laser Targets" +#define CAMERA_NET_CORRESPONDENT "Combat Correspondent Live" #define CAMERA_NET_POWER_ALARMS "Power Alarms" #define CAMERA_NET_ATMOSPHERE_ALARMS "Atmosphere Alarms" diff --git a/code/__DEFINES/chat.dm b/code/__DEFINES/chat.dm index f2db3980e887..1edc2bd7b5a1 100644 --- a/code/__DEFINES/chat.dm +++ b/code/__DEFINES/chat.dm @@ -21,6 +21,7 @@ #define MESSAGE_TYPE_ADMINLOG "adminlog" #define MESSAGE_TYPE_ATTACKLOG "attacklog" #define MESSAGE_TYPE_DEBUG "debug" +#define MESSAGE_TYPE_NICHE "niche" /// Adds a generic box around whatever message you're sending in chat. Really makes things stand out. #define examine_block(str) ("
" + str + "
") diff --git a/code/__DEFINES/dcs/signals/atom/signals_item.dm b/code/__DEFINES/dcs/signals/atom/signals_item.dm index f0456f8dd9f6..f038d4c5dbce 100644 --- a/code/__DEFINES/dcs/signals/atom/signals_item.dm +++ b/code/__DEFINES/dcs/signals/atom/signals_item.dm @@ -29,6 +29,9 @@ #define COMSIG_ITEM_PICKUP "item_pickup" +///from /obj/item/device/camera/broadcasting/attack_self +#define COMSIG_BROADCAST_GO_LIVE "broadcast_live" + /// from /obj/item/proc/mob_can_equip #define COMSIG_ITEM_ATTEMPTING_EQUIP "item_attempting_equip" ///Return this in response if you don't want items equipped diff --git a/code/__DEFINES/dcs/signals/atom/signals_obj.dm b/code/__DEFINES/dcs/signals/atom/signals_obj.dm index c870a55ed746..ed27c26b2115 100644 --- a/code/__DEFINES/dcs/signals/atom/signals_obj.dm +++ b/code/__DEFINES/dcs/signals/atom/signals_obj.dm @@ -25,6 +25,8 @@ /// from /obj/structure/transmitter/update_icon() #define COMSIG_TRANSMITTER_UPDATE_ICON "transmitter_update_icon" +#define COMSIG_STRUCTURE_WRENCHED "structure_wrenched" +#define COMSIG_STRUCTURE_UNWRENCHED "structure_unwrenched" #define COMSIG_TENT_COLLAPSING "tent_collapsing" /// from /obj/proc/afterbuckle() diff --git a/code/__DEFINES/dcs/signals/signals_global.dm b/code/__DEFINES/dcs/signals/signals_global.dm index 378948347a81..f975a67824ef 100644 --- a/code/__DEFINES/dcs/signals/signals_global.dm +++ b/code/__DEFINES/dcs/signals/signals_global.dm @@ -75,3 +75,6 @@ #define COMSIG_GLOB_HIJACK_IMPACTED "!hijack_impacted" #define COMSIG_GLOB_HIJACK_LANDED "!hijack_landed" + +/// From /datum/controller/subsystem/hijack/fire() +#define COMSIG_GLOB_FUEL_PUMP_UPDATE "!fuel_pump_update" diff --git a/code/__DEFINES/equipment.dm b/code/__DEFINES/equipment.dm index 375dd0db540d..4368bf304a48 100644 --- a/code/__DEFINES/equipment.dm +++ b/code/__DEFINES/equipment.dm @@ -82,6 +82,8 @@ #define ANIMATED_SURGICAL_TOOL (1<<12) /// Has heat source but isn't 'on fire' and thus can be stored #define IGNITING_ITEM (1<<13) +/// Overrides NODROP in some cases (stripping) +#define FORCEDROP_CONDITIONAL (1<<14) //========================================================================================== diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index e790bddb233c..fc3772e66ff2 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -33,3 +33,9 @@ #define EMOTE_IMPORTANT (1<<2) /// Does the emote not have a message? #define EMOTE_NO_MESSAGE (1<<3) + +// Bitflags for Working Joe emotes +/// Working Joe emote +#define WORKING_JOE_EMOTE (1<<0) +/// Hazard Joe emote +#define HAZARD_JOE_EMOTE (1<<1) diff --git a/code/__DEFINES/human.dm b/code/__DEFINES/human.dm index c0a5e837c554..f2d60983b74c 100644 --- a/code/__DEFINES/human.dm +++ b/code/__DEFINES/human.dm @@ -187,6 +187,7 @@ #define SYNTH_COMBAT "Combat Synthetic" #define SYNTH_INFILTRATOR "Infiltrator Synthetic" #define SYNTH_WORKING_JOE "Working Joe" +#define SYNTH_HAZARD_JOE "Hazard Joe" #define SYNTH_GEN_ONE "First Generation Synthetic" #define SYNTH_GEN_TWO "Second Generation Synthetic" #define SYNTH_GEN_THREE "Third Generation Synthetic" diff --git a/code/__DEFINES/job.dm b/code/__DEFINES/job.dm index ad3b9fe3af32..1b2907cf57ce 100644 --- a/code/__DEFINES/job.dm +++ b/code/__DEFINES/job.dm @@ -75,14 +75,15 @@ GLOBAL_LIST_INIT(job_squad_roles, JOB_SQUAD_ROLES_LIST) GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST) #define JOB_AUXILIARY_OFFICER "Auxiliary Support Officer" -#define JOB_PILOT "Pilot Officer" +#define JOB_CAS_PILOT "Gunship Pilot" +#define JOB_DROPSHIP_PILOT "Dropship Pilot" #define JOB_DROPSHIP_CREW_CHIEF "Dropship Crew Chief" #define JOB_CREWMAN "Vehicle Crewman" #define JOB_INTEL "Intelligence Officer" #define JOB_DROPSHIP_ROLES /datum/timelock/dropship -#define JOB_DROPSHIP_ROLES_LIST list(JOB_DROPSHIP_CREW_CHIEF, JOB_PILOT) +#define JOB_DROPSHIP_ROLES_LIST list(JOB_DROPSHIP_CREW_CHIEF, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT) #define JOB_AUXILIARY_ROLES /datum/timelock/auxiliary -#define JOB_AUXILIARY_ROLES_LIST list(JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_INTEL) +#define JOB_AUXILIARY_ROLES_LIST list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_INTEL) #define JOB_POLICE "Military Police" #define JOB_WARDEN "Military Warden" diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm index 63e79cdf676d..ee958d87f580 100644 --- a/code/__DEFINES/layers.dm +++ b/code/__DEFINES/layers.dm @@ -11,6 +11,9 @@ //#define AREA_LAYER 1 +#define DISPLACEMENT_PLATE_RENDER_LAYER 1 +#define DISPLACEMENT_PLATE_RENDER_TARGET "*DISPLACEMENT_PLATE_RENDER_TARGET" + #define UNDER_TURF_LAYER 1.99 #define TURF_LAYER 2 diff --git a/code/__DEFINES/mob_hud.dm b/code/__DEFINES/mob_hud.dm index c451d01d3c90..97fbc64a9da4 100644 --- a/code/__DEFINES/mob_hud.dm +++ b/code/__DEFINES/mob_hud.dm @@ -25,6 +25,7 @@ #define STATUS_HUD_XENO_CULTIST "24" // Whether they are a xeno cultist or not #define HUNTER_CLAN "25" //Displays a colored icon to represent ingame Hunter Clans #define HUNTER_HUD "26" //Displays various statuses on mobs for Hunters to identify targets +#define HOLOCARD_HUD "27" //Displays the holocards set by medical personnel //data HUD (medhud, sechud) defines #define MOB_HUD_SECURITY_BASIC 1 diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index ef3dfb03b337..fea9ebeebb2c 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -72,6 +72,7 @@ #define MODE_HARDCORE_PERMA (1<<9) /// Toggles Hardcore for all marines, meaning they instantly perma upon death #define MODE_DISPOSABLE_MOBS (1<<10) // Toggles if mobs fit in disposals or not. Off by default. #define MODE_BYPASS_JOE (1<<11) // Toggles if ghosts can bypass Working Joe spawn limitations, does NOT bypass WL requirement. Off by default. +#define MODE_DISABLE_JOE_RESPAWN (1<<12) // Toggles if ghosts can respawn as Working Joes after dying as one when 15 minutes have passed. Off by default #define ROUNDSTATUS_FOG_DOWN 1 #define ROUNDSTATUS_PODDOORS_OPEN 2 @@ -90,6 +91,15 @@ #define PAIN_OVERLAY_LEGACY 2 //Creates a legacy blurring effect over your screen if you have any eye_blur at all. Not recommended. //================================================= +//================================================= +#define FLASH_OVERLAY_WHITE 0 //Flashes your screen white. +#define FLASH_OVERLAY_DARK 1 //Flashes your screen a dark grey. +//================================================= + +//================================================= +#define CRIT_OVERLAY_WHITE 0 //Overlays your screen white. +#define CRIT_OVERLAY_DARK 1 //Overlays your screen a dark grey. +//================================================= /// Number of weighted marine players for 1 gear_scale. gear_scale is clamped to 1 minimum #define MARINE_GEAR_SCALING_NORMAL 50 @@ -109,12 +119,12 @@ //================================================= //Role defines, specifically lists of roles for job bans, crew manifests and the like. -GLOBAL_LIST_INIT(ROLES_COMMAND, list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_POLICE, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_CHIEF_REQUISITION, JOB_CHIEF_ENGINEER, JOB_CMO, JOB_CHIEF_POLICE, JOB_SEA, JOB_SYNTH, JOB_WARDEN)) +GLOBAL_LIST_INIT(ROLES_COMMAND, list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_POLICE, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_CHIEF_REQUISITION, JOB_CHIEF_ENGINEER, JOB_CMO, JOB_CHIEF_POLICE, JOB_SEA, JOB_SYNTH, JOB_WARDEN)) //Marine roles -#define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE) +#define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE) GLOBAL_LIST_INIT(ROLES_CIC, list(JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO)) -GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT, list(JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT)) +GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT, list(JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT)) GLOBAL_LIST_INIT(ROLES_MISC, list(JOB_SYNTH, JOB_WORKING_JOE, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_MESS_SERGEANT, JOB_WO_CORPORATE_LIAISON, JOB_WO_SYNTH)) GLOBAL_LIST_INIT(ROLES_POLICE, list(JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE)) GLOBAL_LIST_INIT(ROLES_ENGINEERING, list(JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH)) @@ -140,7 +150,7 @@ GLOBAL_LIST_INIT(ROLES_UNASSIGNED, list(JOB_SQUAD_MARINE)) //Role lists used for switch() checks in show_blurb_uscm(). Cosmetic, determines ex. "Engineering, USS Almayer", "2nd Bat. 'Falling Falcons'" etc. #define BLURB_USCM_COMBAT JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_SEA,\ JOB_SQUAD_LEADER, JOB_SQUAD_TEAM_LEADER, JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN, JOB_SQUAD_MEDIC, JOB_SQUAD_ENGI, JOB_SQUAD_MARINE -#define BLURB_USCM_FLIGHT JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF +#define BLURB_USCM_FLIGHT JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF #define BLURB_USCM_MP JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE #define BLURB_USCM_ENGI JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_WO_PILOT #define BLURB_USCM_MEDICAL JOB_CMO, JOB_RESEARCHER, JOB_DOCTOR, JOB_NURSE, JOB_WO_CMO, JOB_WO_RESEARCHER, JOB_WO_DOCTOR diff --git a/code/__DEFINES/objects.dm b/code/__DEFINES/objects.dm index d495c8e8c012..d839789d1664 100644 --- a/code/__DEFINES/objects.dm +++ b/code/__DEFINES/objects.dm @@ -155,7 +155,9 @@ GLOBAL_LIST_INIT(RESTRICTED_CAMERA_NETWORKS, list( //Those networks can only be #define RESULT_REQUIRES_SNOW (1<<0) +/// Reaction type from touching it #define TOUCH 1 +/// Reaction type from eating it #define INGEST 2 /// Marks an object as organic. Used for alien structures and any other organic material diff --git a/code/__DEFINES/strippable.dm b/code/__DEFINES/strippable.dm new file mode 100644 index 000000000000..f62c4d6c1b76 --- /dev/null +++ b/code/__DEFINES/strippable.dm @@ -0,0 +1,30 @@ +// All of these must be matched in StripMenu.js. +#define STRIPPABLE_ITEM_HEAD "head" +#define STRIPPABLE_ITEM_BACK "back" +#define STRIPPABLE_ITEM_MASK "wear_mask" +#define STRIPPABLE_ITEM_EYES "glasses" +#define STRIPPABLE_ITEM_L_EAR "wear_l_ear" +#define STRIPPABLE_ITEM_R_EAR "wear_r_ear" +#define STRIPPABLE_ITEM_JUMPSUIT "w_uniform" +#define STRIPPABLE_ITEM_SUIT "wear_suit" +#define STRIPPABLE_ITEM_GLOVES "gloves" +#define STRIPPABLE_ITEM_FEET "shoes" +#define STRIPPABLE_ITEM_SUIT_STORAGE "j_store" +#define STRIPPABLE_ITEM_ID "id" +#define STRIPPABLE_ITEM_BELT "belt" +#define STRIPPABLE_ITEM_LPOCKET "l_store" +#define STRIPPABLE_ITEM_RPOCKET "r_store" +#define STRIPPABLE_ITEM_LHAND "l_hand" +#define STRIPPABLE_ITEM_RHAND "r_hand" +#define STRIPPABLE_ITEM_HANDCUFFS "handcuffs" +#define STRIPPABLE_ITEM_LEGCUFFS "legcuffs" + + +/// This slot is not obscured. +#define STRIPPABLE_OBSCURING_NONE 0 + +/// This slot is completely obscured, and cannot be accessed. +#define STRIPPABLE_OBSCURING_COMPLETELY 1 + +/// This slot can't be seen, but can be accessed. +#define STRIPPABLE_OBSCURING_HIDDEN 2 diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm index a4fb6d40be73..e2c89df90e9b 100644 --- a/code/__DEFINES/tgs.dm +++ b/code/__DEFINES/tgs.dm @@ -1,6 +1,6 @@ // tgstation-server DMAPI -#define TGS_DMAPI_VERSION "7.1.1" +#define TGS_DMAPI_VERSION "7.1.2" // All functions and datums outside this document are subject to change with any version and should not be relied on. @@ -312,6 +312,7 @@ var/datum/tgs_chat_embed/structure/embed /datum/tgs_message_content/New(text) + ..() if(!istext(text)) TGS_ERROR_LOG("[/datum/tgs_message_content] created with no text!") text = null @@ -354,6 +355,7 @@ var/proxy_url /datum/tgs_chat_embed/media/New(url) + ..() if(!istext(url)) CRASH("[/datum/tgs_chat_embed/media] created with no url!") @@ -367,6 +369,7 @@ var/proxy_icon_url /datum/tgs_chat_embed/footer/New(text) + ..() if(!istext(text)) CRASH("[/datum/tgs_chat_embed/footer] created with no text!") @@ -383,6 +386,7 @@ var/proxy_icon_url /datum/tgs_chat_embed/provider/author/New(name) + ..() if(!istext(name)) CRASH("[/datum/tgs_chat_embed/provider/author] created with no name!") @@ -395,6 +399,7 @@ var/is_inline /datum/tgs_chat_embed/field/New(name, value) + ..() if(!istext(name)) CRASH("[/datum/tgs_chat_embed/field] created with no name!") @@ -510,7 +515,7 @@ /* The MIT License -Copyright (c) 2017-2023 Jordan Brown +Copyright (c) 2017-2024 Jordan Brown Permission is hereby granted, free of charge, to any person obtaining a copy of this software and diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 010c74c404c4..881c41182ab4 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -179,6 +179,8 @@ // HIVE TRAITS /// If the Hive is a Xenonid Hive #define TRAIT_XENONID "t_xenonid" +/// If the hive or xeno can use objects. +#define TRAIT_OPPOSABLE_THUMBS "t_thumbs" /// If the Hive delays round end (this is overridden for some hives). Does not occur naturally. Must be applied in events. #define TRAIT_NO_HIVE_DELAY "t_no_hive_delay" /// If the Hive uses it's colors on the mobs. Does not occur naturally, excepting the Mutated hive. diff --git a/code/__DEFINES/typecheck/humanoids.dm b/code/__DEFINES/typecheck/humanoids.dm index 7076cf67c95c..76f561e5fa1f 100644 --- a/code/__DEFINES/typecheck/humanoids.dm +++ b/code/__DEFINES/typecheck/humanoids.dm @@ -14,7 +14,8 @@ #define isSEA(A) (ishuman(A) && A.job == "Senior Enlisted Advisor") #define issynth(A) (ishuman(A) && istype(A?:species, /datum/species/synthetic)) #define iscolonysynthetic(A) (ishuman(A) && istype(A?:species, /datum/species/synthetic/colonial)) -#define isworkingjoe(A) (iscolonysynthetic(A) && A.job == JOB_WORKING_JOE) +#define isworkingjoe(A) (ishuman(A) && istype(A?:species, /datum/species/synthetic/colonial/working_joe)) +#define ishazardjoe(A) (ishuman(A) && istype(A?:species, /datum/species/synthetic/colonial/working_joe/hazard)) #define isinfiltratorsynthetic(A) (ishuman(A) && istype(A?:species, /datum/species/synthetic/infiltrator)) //Specic group checks, use instead of typechecks (but use traits instead) diff --git a/code/__DEFINES/weapon_stats.dm b/code/__DEFINES/weapon_stats.dm index 3a69002a3b93..1c3c09e9b28d 100644 --- a/code/__DEFINES/weapon_stats.dm +++ b/code/__DEFINES/weapon_stats.dm @@ -136,7 +136,9 @@ As such, don't expect any values assigned to common firearms to even consider ho //How many ticks you have to wait between firing. Burst delay uses the same variable! */ +#define FIRE_DELAY_TIER_AMR 30 #define FIRE_DELAY_TIER_VULTURE 20 +#define FIRE_DELAY_TIER_SNIPER 15 #define FIRE_DELAY_TIER_1 12 #define FIRE_DELAY_TIER_2 10 #define FIRE_DELAY_TIER_3 9 diff --git a/code/__DEFINES/xeno.dm b/code/__DEFINES/xeno.dm index fb9d6bfb4faf..18d4908c9df7 100644 --- a/code/__DEFINES/xeno.dm +++ b/code/__DEFINES/xeno.dm @@ -707,7 +707,7 @@ // target_hive integer the target hive to see if the source_hive is allied to it. #define HIVE_ALLIED_TO_HIVE(source_hive, target_hive) ((source_hive) == (target_hive) || GLOB.hive_datum[source_hive]?.faction_is_ally(GLOB.hive_datum[target_hive]?.internal_faction)) -#define QUEEN_SPAWN_TIMEOUT (2 MINUTES) +#define QUEEN_SPAWN_TIMEOUT (1 MINUTES) #define FIRE_IMMUNITY_NONE 0 #define FIRE_IMMUNITY_NO_DAMAGE (1<<0) diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index fe15e6d84c79..dd92b9be1295 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -176,3 +176,4 @@ for(var/i in 1 to inserted_list.len - 1) inserted_list.Swap(i, rand(i, inserted_list.len)) + diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm index 8b11a3797627..64f4515396f6 100644 --- a/code/__HELPERS/game.dm +++ b/code/__HELPERS/game.dm @@ -263,7 +263,7 @@ continue // Mods with larva protection cannot be drafted - if((cur_obs.client.admin_holder && (cur_obs.client.admin_holder.rights & R_MOD)) && !cur_obs.adminlarva) + if(check_client_rights(cur_obs.client, R_MOD, FALSE) && cur_obs.admin_larva_protection) continue if(hive) diff --git a/code/__HELPERS/job.dm b/code/__HELPERS/job.dm index 220236c6f7e3..ec36a485333c 100644 --- a/code/__HELPERS/job.dm +++ b/code/__HELPERS/job.dm @@ -31,7 +31,8 @@ JOB_XO, JOB_SO, JOB_INTEL, - JOB_PILOT, + JOB_CAS_PILOT, + JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, diff --git a/code/__HELPERS/logging.dm b/code/__HELPERS/logging.dm index 59e4c7710992..1e72f51a8d60 100644 --- a/code/__HELPERS/logging.dm +++ b/code/__HELPERS/logging.dm @@ -125,11 +125,11 @@ GLOBAL_VAR_INIT(log_end, world.system_type == UNIX ? ascii2text(13) : "") GLOB.STUI.admin.Add("\[[time]]OVERWATCH: [text]") GLOB.STUI.processing |= STUI_LOG_ADMIN -/proc/log_idmod(obj/item/card/id/target_id, msg) +/proc/log_idmod(obj/item/card/id/target_id, msg, changer) var/time = time_stamp() if (CONFIG_GET(flag/log_idmod)) - WRITE_LOG(GLOB.world_game_log, "ID MOD: [msg]") - LOG_REDIS("idmod", "\[[time]\] [msg]") + WRITE_LOG(GLOB.world_game_log, "ID MOD: ([changer]) [msg]") + LOG_REDIS("idmod", "\[[time]\] ([changer]) [msg]") target_id.modification_log += "\[[time]]: [msg]" /proc/log_vote(text) diff --git a/code/__HELPERS/nameof.dm b/code/__HELPERS/nameof.dm index 7cd5777f4652..5a2fd60e7100 100644 --- a/code/__HELPERS/nameof.dm +++ b/code/__HELPERS/nameof.dm @@ -8,8 +8,4 @@ /** * NAMEOF that actually works in static definitions because src::type requires src to be defined */ -#if DM_VERSION >= 515 #define NAMEOF_STATIC(datum, X) (nameof(type::##X)) -#else -#define NAMEOF_STATIC(datum, X) (#X || ##datum.##X) -#endif diff --git a/code/_byond_version_compat.dm b/code/_byond_version_compat.dm index 26968f0f837c..c41fdc830e6e 100644 --- a/code/_byond_version_compat.dm +++ b/code/_byond_version_compat.dm @@ -1,56 +1,17 @@ // This file contains defines allowing targeting byond versions newer than the supported //Update this whenever you need to take advantage of more recent byond features -#define MIN_COMPILER_VERSION 514 -#define MIN_COMPILER_BUILD 1588 +#define MIN_COMPILER_VERSION 515 +#define MIN_COMPILER_BUILD 1627 #if (DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD) && !defined(SPACEMAN_DMM) && !defined(OPENDREAM) //Don't forget to update this part -#error Your version of BYOND is too out-of-date to compile this project. Go to https://secure.byond.com/download and update. -#error You need version 514.1588 or higher -#endif - -/* -#if (DM_VERSION == 514 && DM_BUILD > 1575 && DM_BUILD <= 1577) -#error Your version of BYOND currently has a crashing issue that will prevent you from running Dream Daemon test servers. -#error We require developers to test their content, so an inability to test means we cannot allow the compile. -#error Please consider downgrading to 514.1575 or lower. -#endif -*/ - -/* -// Keep savefile compatibilty at minimum supported level -#if DM_VERSION >= 515 -/savefile/byond_version = MIN_COMPILER_VERSION -#endif -*/ - -// 515 split call for external libraries into call_ext -#if DM_VERSION < 515 -#define LIBCALL call -#else -#define LIBCALL call_ext +#error Your version of BYOND is too out-of-date to compile this project. Go to https://www.byond.com/download and update. +#error You need version 515.1627 or higher #endif // So we want to have compile time guarantees these methods exist on local type, unfortunately 515 killed the .proc/procname and .verb/verbname syntax so we have to use nameof() // For the record: GLOBAL_VERB_REF would be useless as verbs can't be global. -#if DM_VERSION < 515 - -/// Call by name proc references, checks if the proc exists on either this type or as a global proc. -#define PROC_REF(X) (.proc/##X) -/// Call by name verb references, checks if the verb exists on either this type or as a global verb. -#define VERB_REF(X) (.verb/##X) - -/// Call by name proc reference, checks if the proc exists on either the given type or as a global proc -#define TYPE_PROC_REF(TYPE, X) (##TYPE.proc/##X) -/// Call by name verb reference, checks if the verb exists on either the given type or as a global verb -#define TYPE_VERB_REF(TYPE, X) (##TYPE.verb/##X) - -/// Call by name proc reference, checks if the proc is an existing global proc -#define GLOBAL_PROC_REF(X) (/proc/##X) - -#else - /// Call by name proc references, checks if the proc exists on either this type or as a global proc. #define PROC_REF(X) (nameof(.proc/##X)) /// Call by name verb references, checks if the verb exists on either this type or as a global verb. @@ -64,16 +25,4 @@ /// Call by name proc reference, checks if the proc is an existing global proc #define GLOBAL_PROC_REF(X) (/proc/##X) -#endif - -#if (DM_VERSION == 515) -/// fcopy will crash on 515 linux if given a non-existant file, instead of returning 0 like on 514 linux or 515 windows -/// var case matches documentation for fcopy. -/world/proc/__fcopy(Src, Dst) - if (istext(Src) && !fexists(Src)) - return 0 - return fcopy(Src, Dst) -#define fcopy(Src, Dst) world.__fcopy(Src, Dst) - -#endif diff --git a/code/_experiments.dm b/code/_experiments.dm index 6e5addb5f992..39c4c45e7eda 100644 --- a/code/_experiments.dm +++ b/code/_experiments.dm @@ -3,29 +3,7 @@ // Any flag you see here can be flipped with the `-D` CLI argument. // For example, if you want to enable EXPERIMENT_MY_COOL_FEATURE, compile with -DEXPERIMENT_MY_COOL_FEATURE -// EXPERIMENT_515_QDEL_HARD_REFERENCE -// - Hold a hard reference for qdeleted items, and check ref_count, rather than using refs. Requires 515+. - -// EXPERIMENT_515_DONT_CACHE_REF -// - Avoids `text_ref` caching, aided by improvements to ref() speed in 515. - -#if DM_VERSION < 515 - -// You can't X-macro custom names :( -#ifdef EXPERIMENT_515_QDEL_HARD_REFERENCE -#warn EXPERIMENT_515_QDEL_HARD_REFERENCE is only available on 515+ -#undef EXPERIMENT_515_QDEL_HARD_REFERENCE -#endif - -#ifdef EXPERIMENT_515_DONT_CACHE_REF -#warn EXPERIMENT_515_DONT_CACHE_REF is only available on 515+ -#undef EXPERIMENT_515_DONT_CACHE_REF -#endif - -#elif defined(UNIT_TESTS) - -//#define EXPERIMENT_515_QDEL_HARD_REFERENCE -#define EXPERIMENT_515_DONT_CACHE_REF +#if defined(UNIT_TESTS) #endif diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index bf9330c567cc..616c88c47a9d 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -431,6 +431,7 @@ DEFINE_BITFIELD(toggleable_flags, list( "MODE_HARDCORE_PERMA" = MODE_HARDCORE_PERMA, "MODE_DISPOSABLE_MOBS" = MODE_DISPOSABLE_MOBS, "MODE_BYPASS_JOE" = MODE_BYPASS_JOE, + "MODE_DISABLE_JOE_RESPAWN" = MODE_DISABLE_JOE_RESPAWN, )) DEFINE_BITFIELD(state, list( diff --git a/code/_globalvars/global_lists.dm b/code/_globalvars/global_lists.dm index 4dbf46086f02..c23f1fc7931f 100644 --- a/code/_globalvars/global_lists.dm +++ b/code/_globalvars/global_lists.dm @@ -276,6 +276,15 @@ GLOBAL_LIST_INIT(typecache_living, typecacheof(/mob/living)) GLOBAL_LIST_INIT(emote_list, init_emote_list()) +/// list of categories for working joes +GLOBAL_LIST_EMPTY(wj_categories) +/// dict ("category" : (emotes)) of every wj emote typepath +GLOBAL_LIST_INIT(wj_emotes, setup_working_joe_emotes()) +/// list of categories for hazard joes +GLOBAL_LIST_EMPTY(hj_categories) +/// dict ("category" : (emotes)) of every hj emote typepath +GLOBAL_LIST_INIT(hj_emotes, setup_hazard_joe_emotes()) + /proc/cached_params_decode(params_data, decode_proc) . = GLOB.paramslist_cache[params_data] if(!.) @@ -481,6 +490,7 @@ GLOBAL_LIST_EMPTY(timelocks) GLOBAL_LIST_INIT(available_specialist_sets, list( "Scout Set", "Sniper Set", + "Anti-materiel Sniper Set", "Demolitionist Set", "Heavy Grenadier Set", "Pyro Set" @@ -493,6 +503,7 @@ GLOBAL_LIST_INIT(available_specialist_kit_boxes, list( "Sniper" = 2, "Scout" = 2, "Demo" = 2, + "Anti-materiel Sniper" = 2, )) /proc/init_global_referenced_datums() @@ -517,6 +528,32 @@ GLOBAL_LIST_INIT(available_specialist_kit_boxes, list( else .[E.key_third_person] |= E +/// Setup for Working joe emotes and category list, returns data for wj_emotes +/proc/setup_working_joe_emotes() + var/list/emotes_to_add = list() + for(var/datum/emote/living/carbon/human/synthetic/working_joe/emote as anything in subtypesof(/datum/emote/living/carbon/human/synthetic/working_joe)) + if(!(initial(emote.joe_flag) & WORKING_JOE_EMOTE) || !initial(emote.key) || !initial(emote.say_message)) + continue + + if(!(initial(emote.category) in GLOB.wj_categories)) + GLOB.wj_categories += initial(emote.category) + + emotes_to_add += emote + return emotes_to_add + +/// Setup for Hazard joe emotes and category list, returns data for hj_emotes +/proc/setup_hazard_joe_emotes() + var/list/emotes_to_add = list() + for(var/datum/emote/living/carbon/human/synthetic/working_joe/emote as anything in subtypesof(/datum/emote/living/carbon/human/synthetic/working_joe)) + if(!(initial(emote.joe_flag) & HAZARD_JOE_EMOTE) || !initial(emote.key) || !initial(emote.say_message)) + continue + + if(!(initial(emote.category) in GLOB.hj_categories)) + GLOB.hj_categories += initial(emote.category) + + emotes_to_add += emote + return emotes_to_add + GLOBAL_LIST_EMPTY(topic_tokens) GLOBAL_PROTECT(topic_tokens) diff --git a/code/_macros.dm b/code/_macros.dm index ec4f559f0bfc..075d098e3d50 100644 --- a/code/_macros.dm +++ b/code/_macros.dm @@ -67,6 +67,11 @@ #define LAZYREMOVEASSOC(L, K, V) if(L) { if(L[K]) { L[K] -= V; if(!length(L[K])) L -= K; } if(!length(L)) L = null; } ///Accesses an associative list, returns null if nothing is found #define LAZYACCESSASSOC(L, I, K) L ? L[I] ? L[I][K] ? L[I][K] : null : null : null +///Performs an insertion on the given lazy list with the given key and value. If the value already exists, a new one will not be made. +#define LAZYORASSOCLIST(lazy_list, key, value) \ + LAZYINITLIST(lazy_list); \ + LAZYINITLIST(lazy_list[key]); \ + lazy_list[key] |= value; // Insert an object A into a sorted list using cmp_proc (/code/_helpers/cmp.dm) for comparison. #define ADD_SORTED(list, A, cmp_proc) if(!list.len) {list.Add(A)} else {list.Insert(FindElementIndex(A, list, cmp_proc), A)} diff --git a/code/_onclick/click_hold.dm b/code/_onclick/click_hold.dm index 996f7ed2bf3b..41e2be147d85 100644 --- a/code/_onclick/click_hold.dm +++ b/code/_onclick/click_hold.dm @@ -95,11 +95,10 @@ // Add the hovered atom to the trace LAZYADD(mouse_trace_history, over_obj) -/client/MouseDrop(datum/over_object, datum/src_location, over_location, src_control, over_control, params) +/client/MouseDrop(datum/src_object, datum/over_object, src_location, over_location, src_control, over_control, params) . = ..() - - if(src_location) - SEND_SIGNAL(src_location, COMSIG_ATOM_DROPPED_ON, over_object, src) - if(over_object) - SEND_SIGNAL(over_object, COMSIG_ATOM_DROP_ON, src_location, src) + SEND_SIGNAL(over_object, COMSIG_ATOM_DROPPED_ON, src_object, src) + + if(src_object) + SEND_SIGNAL(src_object, COMSIG_ATOM_DROP_ON, over_object, src) diff --git a/code/_onclick/drag_drop.dm b/code/_onclick/drag_drop.dm index fff5e9200de7..4dcc0d646816 100644 --- a/code/_onclick/drag_drop.dm +++ b/code/_onclick/drag_drop.dm @@ -7,6 +7,7 @@ */ /atom/MouseDrop(atom/over) if(!usr || !over) return + if(!Adjacent(usr) || !over.Adjacent(usr)) return // should stop you from dragging through windows spawn(0) diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm index 0bd2206091ba..505b1876e3af 100644 --- a/code/_onclick/hud/fullscreen.dm +++ b/code/_onclick/hud/fullscreen.dm @@ -108,6 +108,9 @@ icon_state = "passage" layer = FULLSCREEN_CRIT_LAYER +/atom/movable/screen/fullscreen/crit/dark + color = COLOR_GRAY + /atom/movable/screen/fullscreen/blind icon_state = "blackimageoverlay" layer = FULLSCREEN_BLIND_LAYER @@ -127,6 +130,9 @@ screen_loc = "WEST,SOUTH to EAST,NORTH" icon_state = "noise" +/atom/movable/screen/fullscreen/flash/dark + icon_state = "black" + /atom/movable/screen/fullscreen/high icon = 'icons/mob/hud/screen1.dmi' screen_loc = "WEST,SOUTH to EAST,NORTH" diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index f5f61424daac..7277c74b2fd3 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -46,7 +46,7 @@ var/atom/movable/screen/toggle_burst var/atom/movable/screen/unique_action - var/atom/movable/screen/zone_sel + var/atom/movable/screen/zone_sel/zone_sel var/atom/movable/screen/pull_icon var/atom/movable/screen/throw_icon var/atom/movable/screen/oxygen_icon diff --git a/code/_onclick/hud/rendering/plane_master.dm b/code/_onclick/hud/rendering/plane_master.dm index 6625120d1514..c4f070bdd842 100644 --- a/code/_onclick/hud/rendering/plane_master.dm +++ b/code/_onclick/hud/rendering/plane_master.dm @@ -189,3 +189,10 @@ plane = ESCAPE_MENU_PLANE appearance_flags = PLANE_MASTER|NO_CLIENT_COLOR render_relay_plane = RENDER_PLANE_MASTER + +/atom/movable/screen/plane_master/displacement + name = "displacement plane" + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + plane = DISPLACEMENT_PLATE_RENDER_LAYER + render_target = DISPLACEMENT_PLATE_RENDER_TARGET + render_relay_plane = null diff --git a/code/_onclick/hud/rendering/render_plate.dm b/code/_onclick/hud/rendering/render_plate.dm index 18236c6ee759..cb579eb4ff6a 100644 --- a/code/_onclick/hud/rendering/render_plate.dm +++ b/code/_onclick/hud/rendering/render_plate.dm @@ -39,6 +39,10 @@ plane = RENDER_PLANE_GAME render_relay_plane = RENDER_PLANE_MASTER +/atom/movable/screen/plane_master/rendering_plate/game_world/Initialize(mapload, datum/hud/hud_owner) + . = ..() + add_filter("displacer", 1, displacement_map_filter(render_source = DISPLACEMENT_PLATE_RENDER_TARGET, size = 10)) + ///render plate for OOC stuff like ghosts, hud-screen effects, etc /atom/movable/screen/plane_master/rendering_plate/non_game name = "non-game rendering plate" diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index edf2d44a0714..17f06987cd3b 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -148,7 +148,6 @@ /atom/movable/screen/zone_sel/update_icon(mob/living/user) overlays.Cut() overlays += image('icons/mob/hud/zone_sel.dmi', "[selecting]") - user.zone_selected = selecting /atom/movable/screen/zone_sel/clicked(mob/user, list/mods) if (..()) @@ -210,6 +209,7 @@ selecting = "eyes" if(old_selecting != selecting) + user.zone_selected = selecting update_icon(user) return 1 diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm index e2572e5e2d61..1cf93e998a4e 100644 --- a/code/controllers/configuration/entries/general.dm +++ b/code/controllers/configuration/entries/general.dm @@ -640,3 +640,27 @@ This maintains a list of ip addresses that are able to bypass topic filtering. splitter = "|" key_mode = KEY_MODE_TEXT_UNALTERED value_mode = VALUE_MODE_TEXT + +/datum/config_entry/number/client_warn_version + default = null + min_val = 500 + +/datum/config_entry/number/client_warn_build + default = null + min_val = 0 + +/datum/config_entry/string/client_warn_message + default = "Your version of BYOND may have issues or be blocked from accessing this server in the future." + +/datum/config_entry/flag/client_warn_popup + +/datum/config_entry/number/client_error_version + default = null + min_val = 500 + +/datum/config_entry/number/client_error_build + default = null + min_val = 0 + +/datum/config_entry/string/client_error_message + default = "Your version of BYOND is too old, may have issues, and is blocked from accessing this server." diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index e94d6b1aff1d..37c305d59cde 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -139,13 +139,6 @@ SUBSYSTEM_DEF(garbage) pass_counts[i] = 0 fail_counts[i] = 0 -#ifdef EXPERIMENT_515_QDEL_HARD_REFERENCE -// 1 from the hard reference in the queue, and 1 from the variable used before this -#define IS_DELETED(datum, _) (refcount(##datum) == 2) -#else -#define IS_DELETED(datum, gcd_at_time) (isnull(##datum) || ##datum.gc_destroyed != gcd_at_time) -#endif - /datum/controller/subsystem/garbage/proc/HandleQueue(level = GC_QUEUE_FILTER) if (level == GC_QUEUE_FILTER) delslasttick = 0 @@ -162,7 +155,7 @@ SUBSYSTEM_DEF(garbage) lastlevel = level - //We do this rather then for(var/refID in queue) because that sort of for loop copies the whole list. + //We do this rather then for(var/list/ref_info in queue) because that sort of for loop copies the whole list. //Normally this isn't expensive, but the gc queue can grow to 40k items, and that gets costly/causes overrun. for (var/i in 1 to length(queue)) var/list/L = queue[i] @@ -173,21 +166,15 @@ SUBSYSTEM_DEF(garbage) continue var/queued_at_time = L[GC_QUEUE_ITEM_QUEUE_TIME] - if(queued_at_time > cut_off_time) break // Everything else is newer, skip them count++ -#ifdef EXPERIMENT_515_QDEL_HARD_REFERENCE var/datum/D = L[GC_QUEUE_ITEM_REF] -#else - var/GCd_at_time = L[GC_QUEUE_ITEM_GCD_DESTROYED] - var/refID = L[GC_QUEUE_ITEM_REF] - var/datum/D - D = locate(refID) -#endif - - if (IS_DELETED(D, GCd_at_time)) // So if something else coincidently gets the same ref, it's not deleted by mistake + + // 1 from the hard reference in the queue, and 1 from the variable used before this + // If that's all we've got, send er off + if (refcount(D) == 2) ++gcedlasttick ++totalgcs pass_counts[level]++ @@ -221,11 +208,7 @@ SUBSYSTEM_DEF(garbage) var/type = D.type var/datum/qdel_item/I = items[type] - var/message = "## TESTING: GC: -- [text_ref(D)] | [type] was unable to be GC'd --" -#if DM_VERSION >= 515 - message = "[message] (ref count of [refcount(D)])" -#endif - log_world(message) + log_world("## TESTING: GC: -- [text_ref(D)] | [type] was unable to be GC'd -- (ref count of [refcount(D)])") #ifdef TESTING for(var/c in GLOB.admins) //Using testing() here would fill the logs with ADMIN_VV garbage @@ -261,8 +244,6 @@ SUBSYSTEM_DEF(garbage) queue.Cut(1,count+1) count = 0 -#undef IS_DELETED - /datum/controller/subsystem/garbage/proc/Queue(datum/D, level = GC_QUEUE_FILTER) if (isnull(D)) return @@ -271,20 +252,11 @@ SUBSYSTEM_DEF(garbage) return var/queue_time = world.time -#ifdef EXPERIMENT_515_QDEL_HARD_REFERENCE - var/refid = D -#else - var/refid = text_ref(D) -#endif - - var/static/uid = 0 - uid = WRAP(uid+1, 1, SHORT_REAL_LIMIT - 1) if (D.gc_destroyed <= 0) - D.gc_destroyed = uid + D.gc_destroyed = queue_time var/list/queue = queues[level] - - queue[++queue.len] = list(queue_time, refid, D.gc_destroyed) // not += for byond reasons + queue[++queue.len] = list(queue_time, D, D.gc_destroyed) // not += for byond reasons //this is mainly to separate things profile wise. /datum/controller/subsystem/garbage/proc/HardDelete(datum/D, force) diff --git a/code/controllers/subsystem/hijack.dm b/code/controllers/subsystem/hijack.dm index 8ae313587038..6a2f63023ca2 100644 --- a/code/controllers/subsystem/hijack.dm +++ b/code/controllers/subsystem/hijack.dm @@ -105,6 +105,7 @@ SUBSYSTEM_DEF(hijack) if(hijack_status < HIJACK_OBJECTIVES_STARTED) hijack_status = HIJACK_OBJECTIVES_STARTED + SEND_GLOBAL_SIGNAL(COMSIG_GLOB_FUEL_PUMP_UPDATE) if(current_progress >= required_progress) if(hijack_status < HIJACK_OBJECTIVES_COMPLETE) @@ -157,6 +158,7 @@ SUBSYSTEM_DEF(hijack) if(current_progress >= announce_checkpoint) announce_progress() announce_checkpoint += initial(announce_checkpoint) + SEND_GLOBAL_SIGNAL(COMSIG_GLOB_FUEL_PUMP_UPDATE) current_run_progress_additive = 0 current_run_progress_multiplicative = 1 diff --git a/code/controllers/subsystem/minimap.dm b/code/controllers/subsystem/minimap.dm index 478848906047..ff250625043f 100644 --- a/code/controllers/subsystem/minimap.dm +++ b/code/controllers/subsystem/minimap.dm @@ -765,7 +765,7 @@ SUBSYSTEM_DEF(minimaps) data["canDraw"] = FALSE data["canViewTacmap"] = TRUE data["canViewCanvas"] = FALSE - data["isXeno"] = FALSE + data["isxeno"] = FALSE return data @@ -781,7 +781,7 @@ SUBSYSTEM_DEF(minimaps) var/is_xeno = istype(xeno) var/faction = is_xeno ? xeno.hivenumber : user.faction - data["isXeno"] = is_xeno + data["isxeno"] = is_xeno data["canViewTacmap"] = is_xeno data["canViewCanvas"] = faction == FACTION_MARINE || faction == XENO_HIVE_NORMAL @@ -799,7 +799,7 @@ SUBSYSTEM_DEF(minimaps) data["canDraw"] = FALSE data["canViewTacmap"] = FALSE data["canViewCanvas"] = TRUE - data["isXeno"] = FALSE + data["isxeno"] = FALSE return data @@ -811,7 +811,7 @@ SUBSYSTEM_DEF(minimaps) data["canDraw"] = FALSE data["canViewTacmap"] = FALSE data["canViewCanvas"] = TRUE - data["isXeno"] = TRUE + data["isxeno"] = TRUE return data diff --git a/code/controllers/subsystem/objectives_controller.dm b/code/controllers/subsystem/objectives_controller.dm index a858dff07475..38accda46004 100644 --- a/code/controllers/subsystem/objectives_controller.dm +++ b/code/controllers/subsystem/objectives_controller.dm @@ -96,6 +96,7 @@ SUBSYSTEM_DEF(objectives) ai_silent_announcement(message, ":v", TRUE) ai_silent_announcement(message, ":t", TRUE) + log_ares_tech(MAIN_AI_SYSTEM, FALSE, "TECH REPORT", "[round(tree.points, 0.1)] points available.", 0) tree.total_points_last_sitrep = tree.total_points next_sitrep = world.time + SITREP_INTERVAL diff --git a/code/datums/action.dm b/code/datums/action.dm index 3a597ad262b1..d1768655a2da 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -191,6 +191,8 @@ var/mob/living/carbon/human/human = owner if(human.body_position == STANDING_UP) return TRUE + if((HAS_TRAIT(owner, TRAIT_OPPOSABLE_THUMBS)) && !owner.is_mob_incapacitated()) + return TRUE /datum/action/item_action/update_button_icon() button.overlays.Cut() diff --git a/code/datums/ammo/ammo.dm b/code/datums/ammo/ammo.dm index 229c10b31e3a..eba72f2594e2 100644 --- a/code/datums/ammo/ammo.dm +++ b/code/datums/ammo/ammo.dm @@ -230,6 +230,7 @@ P.generate_bullet(GLOB.ammo_list[bonus_projectiles_type]) //No bonus damage or anything. P.accuracy = round(P.accuracy * original_P.accuracy/initial(original_P.accuracy)) //if the gun changes the accuracy of the main projectile, it also affects the bonus ones. original_P.give_bullet_traits(P) + P.bonus_projectile_check = 2 //It's a bonus projectile! var/total_scatter_angle = P.scatter final_angle += rand(-total_scatter_angle, total_scatter_angle) diff --git a/code/datums/ammo/bullet/revolver.dm b/code/datums/ammo/bullet/revolver.dm index 0688e615378e..def0a8e31952 100644 --- a/code/datums/ammo/bullet/revolver.dm +++ b/code/datums/ammo/bullet/revolver.dm @@ -7,14 +7,13 @@ /datum/ammo/bullet/revolver name = "revolver bullet" headshot_state = HEADSHOT_OVERLAY_MEDIUM - - damage = 55 + damage = 72 penetration = ARMOR_PENETRATION_TIER_1 accuracy = HIT_ACCURACY_TIER_1 /datum/ammo/bullet/revolver/marksman name = "marksman revolver bullet" - + damage = 55 shrapnel_chance = 0 damage_falloff = 0 accurate_range = 12 diff --git a/code/datums/ammo/bullet/sniper.dm b/code/datums/ammo/bullet/sniper.dm index 22371972e623..6d0f0792ec53 100644 --- a/code/datums/ammo/bullet/sniper.dm +++ b/code/datums/ammo/bullet/sniper.dm @@ -107,19 +107,104 @@ damage = 125 shell_speed = AMMO_SPEED_TIER_6 -/datum/ammo/bullet/sniper/anti_materiel/on_hit_mob(mob/M,obj/projectile/P) - if((P.projectile_flags & PROJECTILE_BULLSEYE) && M == P.original) - var/mob/living/L = M - var/size_damage_mod = 0.8 - if(isxeno(M)) - var/mob/living/carbon/xenomorph/target = M - if(target.mob_size >= MOB_SIZE_XENO) - size_damage_mod += 0.6 - if(target.mob_size >= MOB_SIZE_BIG) - size_damage_mod += 0.6 - L.apply_armoured_damage(damage*size_damage_mod, ARMOR_BULLET, BRUTE, null, penetration) - // 180% damage to all targets (225), 240% (300) against non-Runner xenos, and 300% against Big xenos (375). -Kaga - to_chat(P.firer, SPAN_WARNING("Bullseye!")) +/datum/ammo/bullet/sniper/anti_materiel/on_hit_mob(mob/target_mob,obj/projectile/aimed_projectile) + + var/mob/living/living_target = target_mob + + if((aimed_projectile.projectile_flags & PROJECTILE_BULLSEYE) && target_mob == aimed_projectile.original) + + var/amr_counter = 0 + var/datum/weakref/old_target = null // This is used to let xenos know when they're no longer targeted. + + var/mob/living/carbon/human/human_firer + var/image/focused_fire_marker_temp = image('icons/mob/hud/hud.dmi', target_mob, "hudeye") + + if(istype(aimed_projectile.firer, /mob/living/carbon/human)) // Preps the Focused Fire marker. + human_firer = aimed_projectile.firer + focused_fire_marker_temp.color = human_firer.assigned_squad?.chat_color + + if(target_mob.icon_size > world.icon_size) // Centers marker on their tile. + focused_fire_marker_temp.pixel_x = (target_mob.icon_size / 4) + + if(istype(aimed_projectile.shot_from, /obj/item/weapon/gun/rifle/sniper/XM43E1)) // Calculates the Focus Counter. + var/obj/item/weapon/gun/rifle/sniper/XM43E1/amr = aimed_projectile.shot_from + + old_target = amr.focused_fire_target + + if(target_mob == (amr.focused_fire_target?.resolve())) + if(amr.focused_fire_counter < 2) // Can stack up to twice. + amr.focused_fire_counter += 1 + else + amr.focused_fire_counter = 2 + else // If it's a new target + amr.focused_fire_counter = 0 // Stacks to 0 + if(human_firer && !(target_mob.is_dead())) + human_firer.client?.images -= human_firer.focused_fire_marker // Remove old marker + qdel(human_firer.focused_fire_marker) + human_firer.focused_fire_marker = focused_fire_marker_temp // Store new marker ref + human_firer.client?.images += focused_fire_marker_temp // Add new marker + + amr_counter = amr.focused_fire_counter + 1 + amr.focused_fire_target = WEAKREF(target_mob) + + var/size_damage_mod = 0.8 // 1.8x vs Non-Xenos (225) + var/size_current_health_damage = 0 // % Current Health calculation, only used for Xeno calculations at the moment. + var/focused_fire_active = 0 // Whether to try and use focused fire calculations or not, for that kind of target. + + if(isxeno(target_mob)) + var/mob/living/carbon/xenomorph/target = target_mob + size_damage_mod -= 0.2 // Down to 1.6x damage, 200. + size_current_health_damage = 0.1 // 1.6x Damage + 10% current health (200 + 10%, 223 vs Runners) + + if(target.mob_size >= MOB_SIZE_XENO && (target.caste_type != XENO_CASTE_DEFENDER)) + size_current_health_damage += 0.1 // 1.6x Damage + 20% current health + focused_fire_active = 1 // Focus Fire Required. Only deals 50% bonus damage on a first Aimed Shot, then 75%, then 100%. Resets with a successful aimed shot on another target. + + if(target.mob_size >= MOB_SIZE_BIG && (target.caste_type != XENO_CASTE_DEFENDER)) + size_damage_mod -= 0.6 // Down to 1x Damage. + size_current_health_damage += 0.1 // 1x Damage + 30% current health. + focused_fire_active = 1 + // Most T3s have around 650 to 700 HP, meaning the health modifier grants a MAXIMUM of around 195-210 damage for a total max of 320-335. This is fully focused (3 shots) and at max HP. + // Queen takes around 275 at max health and unfocused, 425 fully focused. Defender only takes 200 damage, even while fortified, but still causes falloff like a Big Xeno. + // At low health, does little more than a normal shot. Does WORSE than a normal shot if unfocused and hitting through blockers, all of which stack to reduce it. + + var/final_xeno_damage = ((damage * size_damage_mod) + ((target.health + damage) * size_current_health_damage)) + + if(focused_fire_active && amr_counter) // If this is a target that needs to be focus-fired and the gun supports it, reduce bonus damage to 50%, then 75%, then 100% + // If amr_counter is 0, then the gun likely doesn't have the tracker functions, so skip this and deal normal damage. + final_xeno_damage *= (0.25 + (0.25 * amr_counter)) + + living_target.apply_armoured_damage((final_xeno_damage), ARMOR_BULLET, BRUTE, null, penetration) + + else + living_target.apply_armoured_damage((damage*size_damage_mod), ARMOR_BULLET, BRUTE, null, penetration) + + // Base 1.8x damage to non-xeno targets (225), 1.6x + 10% current against Runners and Defenders (223), 1.6x + 20% current health against most non-Runner xenos, and +30% current health against Big xenos. -Kaga + // This applies after pen reductions. After hitting 1 other thing, it deals 80% damage, or 40% after hitting a dense wall or big xeno. + + if((focused_fire_active || isxeno(target_mob)) && !(target_mob.is_dead())) + switch(amr_counter) + if(1) + to_chat(aimed_projectile.firer, SPAN_WARNING("One hit! You begin to carefully track the target's movements.")) + if(isxeno(target_mob) && isxeno(old_target?.resolve())) + var/mob/living/carbon/xenomorph/old_xeno = old_target.resolve() + var/mob/living/carbon/xenomorph/new_xeno = target_mob + if((old_xeno.hive == new_xeno.hive) && !(old_xeno.stat)) // Must be in same hive and conscious + to_chat(old_xeno,SPAN_XENOLEADER("The feeling of looming danger fades as we sense that another sister has been targeted instead.")) + if(2) + to_chat(aimed_projectile.firer, SPAN_WARNING("Two hits! You're starting to get a good read on the target's patterns.")) + if(3) + to_chat(aimed_projectile.firer, SPAN_WARNING("Bullseye! You're fully focused on the target.")) + else + to_chat(aimed_projectile.firer, SPAN_WARNING("Bullseye!")) + else + to_chat(aimed_projectile.firer, SPAN_WARNING("Bullseye!")) + +/datum/ammo/bullet/sniper/anti_materiel/set_bullet_traits() + . = ..() + LAZYADD(traits_to_give, list( + BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_penetrating/weak) + )) /datum/ammo/bullet/sniper/anti_materiel/vulture damage = 400 // Fully intended to vaporize anything smaller than a mini cooper diff --git a/code/datums/ammo/rocket.dm b/code/datums/ammo/rocket.dm index 7581d434c4b4..722602cada69 100644 --- a/code/datums/ammo/rocket.dm +++ b/code/datums/ammo/rocket.dm @@ -275,6 +275,8 @@ /datum/ammo/rocket/custom name = "custom rocket" + accurate_range = 8 + max_range = 8 /datum/ammo/rocket/custom/proc/prime(atom/atom, obj/projectile/projectile) var/obj/item/weapon/gun/launcher/rocket/launcher = projectile.shot_from diff --git a/code/datums/ammo/xeno.dm b/code/datums/ammo/xeno.dm index 7fec3cf3b9a3..7b5c8ee71257 100644 --- a/code/datums/ammo/xeno.dm +++ b/code/datums/ammo/xeno.dm @@ -186,7 +186,7 @@ /datum/ammo/xeno/acid/prae_nade // Used by base prae's acid nade name = "acid scatter" - flags_ammo_behavior = AMMO_STOPPED_BY_COVER + flags_ammo_behavior = AMMO_ACIDIC|AMMO_XENO|AMMO_STOPPED_BY_COVER accuracy = HIT_ACCURACY_TIER_5 accurate_range = 32 max_range = 4 diff --git a/code/datums/autocells/explosion.dm b/code/datums/autocells/explosion.dm index 367567a6d40d..ecc6f9925800 100644 --- a/code/datums/autocells/explosion.dm +++ b/code/datums/autocells/explosion.dm @@ -282,6 +282,9 @@ as having entered the turf. if(QDELETED(E)) return + if(power >= 150) //shockwave for anything over 150 power + new /obj/effect/shockwave(epicenter, power/60) + E.power = power E.power_falloff = falloff E.falloff_shape = falloff_shape diff --git a/code/datums/components/temporary_mute.dm b/code/datums/components/temporary_mute.dm index 64b3e87809b6..a875287d487e 100644 --- a/code/datums/components/temporary_mute.dm +++ b/code/datums/components/temporary_mute.dm @@ -56,7 +56,7 @@ SIGNAL_HANDLER if(!nolog) - log_say("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to say the following before their spawn mute ended: [message] (CKEY: [user.key]) (JOB: [user.job])") + msg_admin_niche("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to say the following before their spawn mute ended: [message] (CKEY: [user.key]) (JOB: [user.job]) (AREA: [get_area_name(user)])") if(on_speak_message) to_chat(parent, SPAN_BOLDNOTICE(on_speak_message)) return COMPONENT_OVERRIDE_SPEAK @@ -64,7 +64,7 @@ /datum/component/temporary_mute/proc/on_hivemind(mob/user, message) SIGNAL_HANDLER - log_say("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to hivemind the following before their spawn mute ended: [message] (CKEY: [user.key]) (JOB: [user.job])") + msg_admin_niche("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to hivemind the following before their spawn mute ended: [message] (CKEY: [user.key]) (JOB: [user.job]) (AREA: [get_area_name(user)])") if(on_speak_message) to_chat(parent, SPAN_BOLDNOTICE(on_speak_message)) return COMPONENT_OVERRIDE_HIVEMIND_TALK @@ -78,7 +78,7 @@ if(!param && !istype(current_emote, /datum/emote/custom)) return - log_say("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to emote the following before their spawn mute ended: [param] (CKEY: [user.key]) (JOB: [user.job])") + msg_admin_niche("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to emote the following before their spawn mute ended: [param] (CKEY: [user.key]) (JOB: [user.job]) (AREA: [get_area_name(user)])") if(on_emote_message) to_chat(parent, SPAN_BOLDNOTICE(on_emote_message)) return COMPONENT_OVERRIDE_EMOTE @@ -86,7 +86,7 @@ /datum/component/temporary_mute/proc/on_point(mob/user, atom/target) SIGNAL_HANDLER - log_say("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to point at the following before their spawn mute ended: [target] (CKEY: [user.key]) (JOB: [user.job])") + msg_admin_niche("[user.name != "Unknown" ? user.name : "([user.real_name])"] attempted to point at the following before their spawn mute ended: [target] (CKEY: [user.key]) (JOB: [user.job]) (AREA: [get_area_name(user)])") if(on_emote_message) to_chat(parent, SPAN_BOLDNOTICE(on_emote_message)) return COMPONENT_OVERRIDE_POINT diff --git a/code/datums/datum.dm b/code/datums/datum.dm index 7d497785a72a..3e317ffd601e 100644 --- a/code/datums/datum.dm +++ b/code/datums/datum.dm @@ -54,13 +54,6 @@ */ var/list/cooldowns -#ifndef EXPERIMENT_515_DONT_CACHE_REF - /// A cached version of our \ref - /// The brunt of \ref costs are in creating entries in the string tree (a tree of immutable strings) - /// This avoids doing that more then once per datum by ensuring ref strings always have a reference to them after they're first pulled - var/cached_ref -#endif - /// A weak reference to another datum var/datum/weakref/weak_reference diff --git a/code/datums/diseases/black_goo.dm b/code/datums/diseases/black_goo.dm index a5f67c8445be..5d6d96fcc57c 100644 --- a/code/datums/diseases/black_goo.dm +++ b/code/datums/diseases/black_goo.dm @@ -148,6 +148,8 @@ human.make_jittery(500) sleep(30) if(human && human.loc) + if(human.buckled) + human.buckled.unbuckle() if(human.stat == DEAD) human.revive(TRUE) human.remove_language(LANGUAGE_ENGLISH) // You lose the ability to understand english. Language processing is handled in the mind not the body. diff --git a/code/datums/effects/bleeding.dm b/code/datums/effects/bleeding.dm index 2171580a94db..f56efbb3c69d 100644 --- a/code/datums/effects/bleeding.dm +++ b/code/datums/effects/bleeding.dm @@ -71,6 +71,11 @@ if(affected_mob.reagents.get_reagent_amount("thwei")) blood_loss -= THWEI_BLOOD_REDUCTION + if(affected_mob.bodytemperature < T0C && (affected_mob.reagents.get_reagent_amount("cryoxadone") || affected_mob.reagents.get_reagent_amount("clonexadone"))) + var/obj/structure/machinery/cryo_cell/cryo = affected_mob.loc + if(istype(cryo) && cryo.on && cryo.operable()) + blood_loss -= CRYO_BLOOD_REDUCTION + var/mob/living/carbon/human/affected_human = affected_mob if(istype(affected_human)) if(affected_human.chem_effect_flags & CHEM_EFFECT_NO_BLEEDING) @@ -95,18 +100,19 @@ if(affected_mob.in_stasis == STASIS_IN_BAG) return FALSE - if(affected_mob.bodytemperature < T0C && (affected_mob.reagents && affected_mob.reagents.get_reagent_amount("cryoxadone") || affected_mob.reagents.get_reagent_amount("clonexadone"))) - blood_loss -= CRYO_BLOOD_REDUCTION - if(affected_mob.reagents) // Annoying QC check if(affected_mob.reagents.get_reagent_amount("thwei")) blood_loss -= THWEI_BLOOD_REDUCTION + if(affected_mob.bodytemperature < T0C && (affected_mob.reagents.get_reagent_amount("cryoxadone") || affected_mob.reagents.get_reagent_amount("clonexadone"))) + blood_loss -= CRYO_BLOOD_REDUCTION + var/mob/living/carbon/human/affected_human = affected_mob if(istype(affected_human)) if(affected_human.chem_effect_flags & CHEM_EFFECT_NO_BLEEDING) return FALSE + blood_loss = max(blood_loss, 0) // Bleeding shouldn't give extra blood even if its only 1 tick affected_mob.blood_volume = max(affected_mob.blood_volume - blood_loss, 0) return TRUE diff --git a/code/datums/elements/bullet_trait/damage_boost.dm b/code/datums/elements/bullet_trait/damage_boost.dm index eee4a8e80f4b..43d9d1b23377 100644 --- a/code/datums/elements/bullet_trait/damage_boost.dm +++ b/code/datums/elements/bullet_trait/damage_boost.dm @@ -28,17 +28,10 @@ GLOBAL_LIST_INIT(damage_boost_vehicles, typecacheof(/obj/vehicle/multitile)) /// A typecache of objs or turfs that, upon being hit, boost the damage of the attached projectile var/list/damage_boosted_atoms - //vars for dealing with interaction issues with the Penetrating trait - var/boosted_hits - var/last_damage_mult - //allows for nuance in Breaching-Resistant interactions var/active_damage_mult var/atom_type - //var for dealing with bonus projectiles - var/bonus_projectile_check - /** * vars: * * damage_mult - the damage multiplier to be applied if the bullet hits an atom whose type is in `breaching_objs` @@ -51,11 +44,8 @@ GLOBAL_LIST_INIT(damage_boost_vehicles, typecacheof(/obj/vehicle/multitile)) src.damage_mult = damage_mult src.damage_boosted_atoms = damage_boosted_atoms - src.boosted_hits = 0 - src.last_damage_mult = 1 src.active_damage_mult = 1 src.atom_type = 0 - src.bonus_projectile_check = 0 RegisterSignal(target, list( COMSIG_BULLET_PRE_HANDLE_OBJ, @@ -68,17 +58,17 @@ GLOBAL_LIST_INIT(damage_boost_vehicles, typecacheof(/obj/vehicle/multitile)) //add more cases for other interactions (switch doesn't seem to work with istype) else return 0 -/datum/element/bullet_trait_damage_boost/proc/handle_bullet(obj/projectile/P, atom/A) +/datum/element/bullet_trait_damage_boost/proc/handle_bullet(obj/projectile/boosted_projectile, atom/hit_atom) SIGNAL_HANDLER - atom_type = check_type(A) + atom_type = check_type(hit_atom) switch(atom_type) if("door") - var/obj/structure/machinery/door/D = A - if(D.masterkey_resist) - if(D.masterkey_mod) - active_damage_mult = damage_mult * D.masterkey_mod + var/obj/structure/machinery/door/hit_door = hit_atom + if(hit_door.masterkey_resist) + if(hit_door.masterkey_mod) + active_damage_mult = damage_mult * hit_door.masterkey_mod else active_damage_mult = 1 //no bonus damage else @@ -87,12 +77,22 @@ GLOBAL_LIST_INIT(damage_boost_vehicles, typecacheof(/obj/vehicle/multitile)) else active_damage_mult = damage_mult - if(boosted_hits > 0) - if(bonus_projectile_check == P.damage) - P.damage = P.damage / last_damage_mult - boosted_hits-- - if(damage_boosted_atoms[A.type]) - P.damage = round(P.damage * active_damage_mult) - last_damage_mult = active_damage_mult - boosted_hits++ - bonus_projectile_check = P.damage + + if(boosted_projectile.damage_boosted && ((boosted_projectile.last_atom_signaled?.resolve()) != hit_atom) && (!boosted_projectile.bonus_projectile_check)) + //If this is after a boosted hit, the last atom that procced this isn't the same as the current target, and this isn't a bonus projectile sharing the same damage_boost + if(!boosted_projectile.last_damage_mult) //Make sure stored mult isn't 0 + boosted_projectile.last_damage_mult = 1 + + boosted_projectile.damage = boosted_projectile.damage / boosted_projectile.last_damage_mult //Reduce the damage back to normal + boosted_projectile.damage_boosted-- //Mark that damage has been returned to normal. + + if(damage_boosted_atoms[hit_atom.type]) //If hitting a valid atom for damage boost + boosted_projectile.damage = round(boosted_projectile.damage * active_damage_mult) //Modify Damage by multiplier + + if (active_damage_mult) + boosted_projectile.last_damage_mult = active_damage_mult //Save multiplier for next check + else + boosted_projectile.last_damage_mult = 1 + + boosted_projectile.damage_boosted++ //Mark that a boosted hit occurred. + boosted_projectile.last_atom_signaled = WEAKREF(hit_atom) //Save the current triggering atom to the projectile diff --git a/code/datums/elements/bullet_trait/penetrating/weak.dm b/code/datums/elements/bullet_trait/penetrating/weak.dm new file mode 100644 index 000000000000..99c94a9c90ba --- /dev/null +++ b/code/datums/elements/bullet_trait/penetrating/weak.dm @@ -0,0 +1,60 @@ +/datum/element/bullet_trait_penetrating/weak + // Generic bullet trait vars + element_flags = ELEMENT_DETACH|ELEMENT_BESPOKE + id_arg_index = 4 + + /// For each thing this hits, how much damage it loses normally. This can be modified by what it penetrates later. + var/damage_percent_lost_per_hit = 20 + // XM43E1 AMR: First target takes full damage, each subsequent target takes at least 20% less damage (increased for large mobs and dense turfs), 25 from base 125 damage. + + /// For each thing this hits, how much distance it loses normally. + distance_loss_per_hit = 4 + // XM43E1 AMR: Hits 7 things at most, at point blank, with no additional modifiers. This greatly increases at actual sniping ranges. + + /// How many times more effective turfs are at slowing down the projectile normally, reducing both range and damage. + var/turf_hit_slow_mult = 3 + // XM43E1 AMR: Unable to hit anything through more than 2 walls, less at maximum ranges. Pens 2 walls at 8 tiles or less, 1 at 20 tiles or less, and can't wallbang through normal walls at maximum range. + // Also loses 75 damage with each normal wall pen. + +/datum/element/bullet_trait_penetrating/weak/Attach(datum/target, distance_loss_per_hit = 4, damage_percent_lost_per_hit = 20, turf_hit_slow_mult = 3) + . = ..() + if(. == ELEMENT_INCOMPATIBLE) + return + + src.damage_percent_lost_per_hit = damage_percent_lost_per_hit + src.turf_hit_slow_mult = turf_hit_slow_mult + +/datum/element/bullet_trait_penetrating/weak/handle_passthrough_movables(obj/projectile/bullet, atom/movable/hit_movable, did_hit) + if(did_hit) + var/slow_mult = 1 + if(ismob(hit_movable)) + var/mob/mob = hit_movable + if(mob.mob_size >= MOB_SIZE_BIG) // Big Xenos (including fortified Defender) can soak hits and greatly reduce penetration. + slow_mult = 2 // 8 tiles of range lost per Big hit. At point blank, this comes out to only 3 targets. At sniping ranges, even a single one can stop the bullet dead. + + bullet.distance_travelled += (distance_loss_per_hit * slow_mult) + + bullet.damage -= (damage_percent_lost_per_hit * slow_mult) + + return COMPONENT_BULLET_PASS_THROUGH + + +/datum/element/bullet_trait_penetrating/weak/handle_passthrough_turf(obj/projectile/bullet, turf/closed/wall/hit_wall) + var/slow_mult = turf_hit_slow_mult + + // Better penetration against Membranes to still be able to counter Boilers at most ranges. Still loses 4 tiles of range and 25 damage per. + if(istype(hit_wall, /turf/closed/wall/resin/membrane)) + if(istype(hit_wall, /turf/closed/wall/resin/membrane/thick)) + slow_mult = 1.5 + else + slow_mult = 1 + + bullet.distance_travelled += (distance_loss_per_hit * slow_mult) + + bullet.damage *= (1 - (damage_percent_lost_per_hit * slow_mult * 0.01)) + + if(!istype(hit_wall)) + return COMPONENT_BULLET_PASS_THROUGH + + if(!hit_wall.hull) + return COMPONENT_BULLET_PASS_THROUGH diff --git a/code/datums/elements/strippable.dm b/code/datums/elements/strippable.dm new file mode 100644 index 000000000000..e0daaee74a8c --- /dev/null +++ b/code/datums/elements/strippable.dm @@ -0,0 +1,536 @@ +/// An element for atoms that, when dragged and dropped onto a mob, opens a strip panel. +/datum/element/strippable + element_flags = ELEMENT_BESPOKE | ELEMENT_DETACH + id_arg_index = 2 + + /// An assoc list of keys to /datum/strippable_item + var/list/items + + /// A proc path that returns TRUE/FALSE if we should show the strip panel for this entity. + /// If it does not exist, the strip menu will always show. + /// Will be called with (mob/user). + var/should_strip_proc_path + + /// An existing strip menus + var/list/strip_menus + +/datum/element/strippable/Attach(datum/target, list/items, should_strip_proc_path) + . = ..() + if (!isatom(target)) + return ELEMENT_INCOMPATIBLE + + RegisterSignal(target, COMSIG_ATOM_DROP_ON, PROC_REF(mouse_drop_onto)) + + src.items = items + src.should_strip_proc_path = should_strip_proc_path + +/datum/element/strippable/Detach(datum/source, force) + . = ..() + + UnregisterSignal(source, COMSIG_ATOM_DROP_ON) + + if (!isnull(strip_menus)) + QDEL_NULL(strip_menus[source]) + +/datum/element/strippable/proc/mouse_drop_onto(datum/source, atom/over, mob/user) + SIGNAL_HANDLER + if (user == source) + return + + if (over == source) + return + + var/mob/overmob = over + if (!ishuman(overmob)) + return + + if (!overmob.Adjacent(source)) + return + + if (!overmob.client) + return + + if (overmob.client != user) + return + + if (!isnull(should_strip_proc_path) && !call(source, should_strip_proc_path)(overmob)) + return + + var/datum/strip_menu/strip_menu + + if (isnull(strip_menu)) + strip_menu = new(source, src) + LAZYSET(strip_menus, source, strip_menu) + + INVOKE_ASYNC(strip_menu, PROC_REF(tgui_interact), overmob) + +/// A representation of an item that can be stripped down +/datum/strippable_item + /// The STRIPPABLE_ITEM_* key + var/key + + /// Should we warn about dangerous clothing? + var/warn_dangerous_clothing = TRUE + +/// Gets the item from the given source. +/datum/strippable_item/proc/get_item(atom/source) + +/// Tries to equip the item onto the given source. +/// Returns TRUE/FALSE depending on if it is allowed. +/// This should be used for checking if an item CAN be equipped. +/// It should not perform the equipping itself. +/datum/strippable_item/proc/try_equip(atom/source, obj/item/equipping, mob/user) + if ((equipping.flags_item & ITEM_ABSTRACT)) + return FALSE + if ((equipping.flags_item & NODROP)) + to_chat(user, SPAN_WARNING("You can't put [equipping] on [source], it's stuck to your hand!")) + return FALSE + if (ishuman(source)) + var/mob/living/carbon/human/sourcehuman = source + if(HAS_TRAIT(sourcehuman, TRAIT_UNSTRIPPABLE) && !sourcehuman.is_mob_incapacitated()) + to_chat(src, SPAN_DANGER("[sourcehuman] is too strong to force [equipping] onto them!")) + return + return TRUE + +/// Start the equipping process. This is the proc you should yield in. +/// Returns TRUE/FALSE depending on if it is allowed. +/datum/strippable_item/proc/start_equip(atom/source, obj/item/equipping, mob/user) + source.visible_message( + SPAN_NOTICE("[user] tries to put [equipping] on [source]."), + SPAN_NOTICE("[user] tries to put [equipping] on you.") + ) + + if (ismob(source)) + var/mob/sourcemob = source + sourcemob.attack_log += text("\[[time_stamp()]\] [key_name(sourcemob)] is having [equipping] put on them by [key_name(user)]") + user.attack_log += text("\[[time_stamp()]\] [key_name(user)] is putting [equipping] on [key_name(sourcemob)]") + + return TRUE + +/// The proc that places the item on the source. This should not yield. +/datum/strippable_item/proc/finish_equip(atom/source, obj/item/equipping, mob/user) + SHOULD_NOT_SLEEP(TRUE) + +/// Tries to unequip the item from the given source. +/// Returns TRUE/FALSE depending on if it is allowed. +/// This should be used for checking if it CAN be unequipped. +/// It should not perform the unequipping itself. +/datum/strippable_item/proc/try_unequip(atom/source, mob/user) + SHOULD_NOT_SLEEP(TRUE) + + var/obj/item/item = get_item(source) + if (isnull(item)) + return FALSE + + if (user.action_busy && !skillcheck(user, SKILL_POLICE, SKILL_POLICE_SKILLED)) + to_chat(user, SPAN_WARNING("You can't do this right now.")) + return FALSE + + if ((item.flags_inventory & CANTSTRIP) || ((item.flags_item & NODROP) && !(item.flags_item & FORCEDROP_CONDITIONAL)) || (item.flags_item & ITEM_ABSTRACT)) + return FALSE + + if (ishuman(source)) + var/mob/living/carbon/human/sourcehuman = source + if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (sourcehuman.stat == DEAD || sourcehuman.health < HEALTH_THRESHOLD_CRIT) && !sourcehuman.get_target_lock(user.faction_group)) + to_chat(user, SPAN_WARNING("You can't strip items of a crit or dead member of another faction!")) + return FALSE + + if(HAS_TRAIT(sourcehuman, TRAIT_UNSTRIPPABLE) && !sourcehuman.is_mob_incapacitated()) + to_chat(src, SPAN_DANGER("[sourcehuman] has an unbreakable grip on their equipment!")) + return + + return TRUE + +/// Start the unequipping process. This is the proc you should yield in. +/// Returns TRUE/FALSE depending on if it is allowed. +/datum/strippable_item/proc/start_unequip(atom/source, mob/user) + var/obj/item/item = get_item(source) + if (isnull(item)) + return FALSE + + source.visible_message( + SPAN_WARNING("[user] tries to remove [source]'s [item]."), + SPAN_DANGER("[user] tries to remove your [item].") + ) + + if (ismob(source)) + var/mob/sourcemob = source + sourcemob.attack_log += text("\[[time_stamp()]\] [key_name(sourcemob)] is being stripped of [item] by [key_name(user)]") + user.attack_log += text("\[[time_stamp()]\] [key_name(user)] is stripping [key_name(sourcemob)] of [item]") + + item.add_fingerprint(user) + + return TRUE + +/// The proc that unequips the item from the source. This should not yield. +/datum/strippable_item/proc/finish_unequip(atom/source, mob/user) + +/// Returns a STRIPPABLE_OBSCURING_* define to report on whether or not this is obscured. +/datum/strippable_item/proc/get_obscuring(atom/source) + SHOULD_NOT_SLEEP(TRUE) + return STRIPPABLE_OBSCURING_NONE + +/// Returns the ID of this item's strippable action. +/// Return `null` if there is no alternate action. +/// Any return value of this must be in StripMenu. +/datum/strippable_item/proc/get_alternate_action(atom/source, mob/user) + return null + +/// Performs an alternative action on this strippable_item. +/// `has_alternate_action` needs to be TRUE. +/datum/strippable_item/proc/alternate_action(atom/source, mob/user) + +/// Returns whether or not this item should show. +/datum/strippable_item/proc/should_show(atom/source, mob/user) + return TRUE + +/// A preset for equipping items onto mob slots +/datum/strippable_item/mob_item_slot + /// The ITEM_SLOT_* to equip to. + var/item_slot + +/datum/strippable_item/proc/has_no_item_alt_action() + return FALSE + +/datum/strippable_item/mob_item_slot/get_item(atom/source) + if (!ismob(source)) + return null + + var/mob/mob_source = source + return mob_source.get_item_by_slot(key) + +/datum/strippable_item/mob_item_slot/try_equip(atom/source, obj/item/equipping, mob/user) + . = ..() + if (!.) + return + + if (!ismob(source)) + return FALSE + if (user.action_busy) + to_chat(user, SPAN_WARNING("You can't do this right now.")) + return FALSE + if (!equipping.mob_can_equip( + source, + key + )) + to_chat(user, SPAN_WARNING("\The [equipping] doesn't fit in that place!")) + return FALSE + if(equipping.flags_item & WIELDED) + equipping.unwield(user) + return TRUE + +/datum/strippable_item/mob_item_slot/start_equip(atom/source, obj/item/equipping, mob/user) + . = ..() + if (!.) + return + + if (!ismob(source)) + return FALSE + + var/time_to_strip = HUMAN_STRIP_DELAY + var/mob/sourcemob = source + + if (ishuman(sourcemob) && ishuman(user)) + var/mob/living/carbon/human/sourcehuman = sourcemob + var/mob/living/carbon/human/userhuman = user + time_to_strip = userhuman.get_strip_delay(userhuman, sourcehuman) + + if (!do_after(user, time_to_strip, INTERRUPT_ALL, BUSY_ICON_FRIENDLY, source, INTERRUPT_MOVED, BUSY_ICON_FRIENDLY)) + return FALSE + + if (!equipping.mob_can_equip( + sourcemob, + key + )) + return FALSE + + if (!user.temp_drop_inv_item(equipping)) + return FALSE + + return TRUE + +/datum/strippable_item/mob_item_slot/finish_equip(atom/source, obj/item/equipping, mob/user) + if (!ismob(source)) + return FALSE + + var/mob/sourcemob = source + sourcemob.equip_to_slot_if_possible(equipping, key) + +/datum/strippable_item/mob_item_slot/get_obscuring(atom/source) + return FALSE + +/datum/strippable_item/mob_item_slot/start_unequip(atom/source, mob/user) + . = ..() + if (!.) + return + + return start_unequip_mob(get_item(source), source, user) + +/datum/strippable_item/mob_item_slot/finish_unequip(atom/source, mob/user) + var/obj/item/item = get_item(source) + if (isnull(item)) + return FALSE + + if (!ismob(source)) + return FALSE + + return finish_unequip_mob(item, source, user) + +/// A utility function for `/datum/strippable_item`s to start unequipping an item from a mob. +/datum/strippable_item/mob_item_slot/proc/start_unequip_mob(obj/item/item, mob/living/carbon/human/source, mob/living/carbon/human/user) + var/time_to_strip = HUMAN_STRIP_DELAY + + if (istype(source) && istype(user)) + time_to_strip = user.get_strip_delay(user, source) + + if (!do_after(user, time_to_strip, INTERRUPT_ALL, BUSY_ICON_HOSTILE, source, INTERRUPT_MOVED, BUSY_ICON_HOSTILE)) + return FALSE + + return TRUE + +/// A utility function for `/datum/strippable_item`s to finish unequipping an item from a mob. +/datum/strippable_item/mob_item_slot/proc/finish_unequip_mob(obj/item/item, mob/source, mob/user) + if (!source.drop_inv_item_on_ground(item, force = (item.flags_item & FORCEDROP_CONDITIONAL))) //force if we can drop the item in this case + return FALSE + + if (ismob(source)) + var/mob/sourcemob = source + sourcemob.attack_log += text("\[[time_stamp()]\] [key_name(sourcemob)] has been stripped of [item] by [key_name(user)]") + user.attack_log += text("\[[time_stamp()]\] [key_name(user)] has been stripped of [key_name(sourcemob)] of [item]") + + // Updates speed in case stripped speed affecting item + source.recalculate_move_delay = TRUE + +/// A representation of the stripping UI +/datum/strip_menu + /// The owner who has the element /datum/element/strippable + var/atom/movable/owner + + /// The strippable element itself + var/datum/element/strippable/strippable + + /// A lazy list of user mobs to a list of strip menu keys that they're interacting with + var/list/interactions + +/datum/strip_menu/New(atom/movable/owner, datum/element/strippable/strippable) + . = ..() + src.owner = owner + src.strippable = strippable + +/datum/strip_menu/Destroy() + owner = null + strippable = null + + return ..() + +/datum/strip_menu/tgui_interact(mob/user, datum/tgui/ui) + . = ..() + ui = SStgui.try_update_ui(user, src, ui) + if (!ui) + ui = new(user, src, "StripMenu") + ui.open() + + +/datum/strip_menu/ui_assets(mob/user) + return list( + get_asset_datum(/datum/asset/simple/inventory), + ) + +/datum/strip_menu/ui_data(mob/user) + var/list/data = list() + + var/list/items = list() + + for (var/strippable_key in strippable.items) + var/datum/strippable_item/item_data = strippable.items[strippable_key] + + if (!item_data.should_show(owner, user)) + continue + + var/list/result + + if(strippable_key in LAZYACCESS(interactions, user)) + LAZYSET(result, "interacting", TRUE) + + var/obscuring = item_data.get_obscuring(owner) + if (obscuring != STRIPPABLE_OBSCURING_NONE) + LAZYSET(result, "obscured", obscuring) + items[strippable_key] = result + continue + + var/obj/item/item = item_data.get_item(owner) + if (isnull(item)) + if (item_data.has_no_item_alt_action()) + LAZYINITLIST(result) + result["no_item_action"] = item_data.get_alternate_action(owner, user) + items[strippable_key] = result + continue + + LAZYINITLIST(result) + + result["icon"] = icon2base64(icon(item.icon, item.icon_state, frame = 1)) + result["name"] = item.name + result["alternate"] = item_data.get_alternate_action(owner, user) + + items[strippable_key] = result + + data["items"] = items + + // While most `\the`s are implicit, this one is not. + // In this case, `\The` would otherwise be used. + // This doesn't match with what it's used for, which is to say "Stripping the alien drone", + // as opposed to "Stripping The alien drone". + // Human names will still show without "the", as they are proper nouns. + data["name"] = "\the [owner]" + + return data + +/datum/strip_menu/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + if (.) + return + + . = TRUE + + var/mob/user = ui.user + + switch (action) + if ("equip") + var/key = params["key"] + var/datum/strippable_item/strippable_item = strippable.items[key] + + if (isnull(strippable_item)) + return + + if (!strippable_item.should_show(owner, user)) + return + + if (strippable_item.get_obscuring(owner) == STRIPPABLE_OBSCURING_COMPLETELY) + return + + var/item = strippable_item.get_item(owner) + if (!isnull(item)) + return + + var/obj/item/held_item = user.get_held_item() + if (isnull(held_item)) + return + + if (!strippable_item.try_equip(owner, held_item, user)) + return + + LAZYORASSOCLIST(interactions, user, key) + + // Yielding call + var/should_finish = strippable_item.start_equip(owner, held_item, user) + + LAZYREMOVEASSOC(interactions, user, key) + + if (!should_finish) + return + + if (QDELETED(src) || QDELETED(owner)) + return + + // They equipped an item in the meantime + if (!isnull(strippable_item.get_item(owner))) + return + + if (!user.Adjacent(owner)) + return + + strippable_item.finish_equip(owner, held_item, user) + if ("strip") + var/key = params["key"] + var/datum/strippable_item/strippable_item = strippable.items[key] + + if (isnull(strippable_item)) + return + + if (!strippable_item.should_show(owner, user)) + return + + if (strippable_item.get_obscuring(owner) == STRIPPABLE_OBSCURING_COMPLETELY) + return + + var/item = strippable_item.get_item(owner) + if (isnull(item)) + return + + if (!strippable_item.try_unequip(owner, user)) + return + + LAZYORASSOCLIST(interactions, user, key) + + var/should_unequip = strippable_item.start_unequip(owner, user) + + LAZYREMOVEASSOC(interactions, user, key) + + // Yielding call + if (!should_unequip) + return + + if (QDELETED(src) || QDELETED(owner)) + return + + // They changed the item in the meantime + if (strippable_item.get_item(owner) != item) + return + + if (!user.Adjacent(owner)) + return + + strippable_item.finish_unequip(owner, user) + if ("alt") + var/key = params["key"] + var/datum/strippable_item/strippable_item = strippable.items[key] + + if (isnull(strippable_item)) + return + + if (!strippable_item.should_show(owner, user)) + return + + if (strippable_item.get_obscuring(owner) == STRIPPABLE_OBSCURING_COMPLETELY) + return + + var/item = strippable_item.get_item(owner) + if (isnull(item) && !strippable_item.has_no_item_alt_action()) + return + + if (isnull(strippable_item.get_alternate_action(owner, user))) + return + + LAZYORASSOCLIST(interactions, user, key) + + // Potentially yielding + strippable_item.alternate_action(owner, user) + + LAZYREMOVEASSOC(interactions, user, key) + +/datum/strip_menu/ui_host(mob/user) + return owner + +/datum/strip_menu/ui_status(mob/user, datum/ui_state/state) + . = ..() + + if (isliving(user)) + var/mob/living/living_user = user + + if ( + . == UI_UPDATE \ + && user.stat == CONSCIOUS \ + && living_user.body_position == LYING_DOWN \ + && user.Adjacent(owner) + ) + return UI_INTERACTIVE + +/// Creates an assoc list of keys to /datum/strippable_item +/proc/create_strippable_list(types) + var/list/strippable_items = list() + + for (var/strippable_type in types) + var/datum/strippable_item/strippable_item = new strippable_type + strippable_items[strippable_item.key] = strippable_item + + return strippable_items diff --git a/code/datums/emergency_calls/cmb.dm b/code/datums/emergency_calls/cmb.dm index feb31cf0fe16..bbe2e161842a 100644 --- a/code/datums/emergency_calls/cmb.dm +++ b/code/datums/emergency_calls/cmb.dm @@ -54,7 +54,7 @@ print_backstory(mob) - addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) /datum/emergency_call/cmb/print_backstory(mob/living/carbon/human/M) @@ -160,7 +160,7 @@ print_backstory(mob) - addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) /datum/emergency_call/cmb/anchorpoint/print_backstory(mob/living/carbon/human/M) diff --git a/code/datums/emergency_calls/deathsquad.dm b/code/datums/emergency_calls/deathsquad.dm index 66e9a377a8bc..649f40c8cb83 100644 --- a/code/datums/emergency_calls/deathsquad.dm +++ b/code/datums/emergency_calls/deathsquad.dm @@ -88,84 +88,44 @@ //################################################################################################ // Marine commandos - USCM Deathsquad. Event only /datum/emergency_call/marsoc - name = "Marine Raider Strike Team (!DEATHSQUAD!)" + name = "Marine Raider Operatives (!DEATHSQUAD!)" mob_max = 8 mob_min = 5 probability = 0 shuttle_id = MOBILE_SHUTTLE_ID_ERT2 home_base = /datum/lazy_template/ert/weyland_station name_of_spawn = /obj/effect/landmark/ert_spawns/distress_pmc + var/leader_preset = /datum/equipment_preset/uscm/marsoc/sl + var/member_preset = /datum/equipment_preset/uscm/marsoc -/datum/emergency_call/marsoc/create_member(datum/mind/M, turf/override_spawn_loc) +/datum/emergency_call/marsoc/create_member(datum/mind/player, turf/override_spawn_loc) var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point() if(!istype(spawn_loc)) return //Didn't find a useable spawn point. - var/mob/living/carbon/human/H = new(spawn_loc) - M.transfer_to(H, TRUE) + var/mob/living/carbon/human/member = new(spawn_loc) + player.transfer_to(member, TRUE) - if(!leader && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(H.client, JOB_SQUAD_LEADER, time_required_for_job)) //First one spawned is always the leader. - leader = H - to_chat(H, SPAN_WARNING(FONT_SIZE_BIG("You are a Marine Raider Team Leader, better than all the rest."))) - arm_equipment(H, /datum/equipment_preset/uscm/marsoc/sl, TRUE, TRUE) + if(!leader && HAS_FLAG(member.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(member.client, JOB_SQUAD_LEADER, time_required_for_job)) //First one spawned is always the leader. + leader = member + to_chat(member, SPAN_WARNING(FONT_SIZE_BIG("You are a Marine Raider Team Leader, better than all the rest."))) + arm_equipment(member, leader_preset, TRUE, TRUE) else - to_chat(H, SPAN_WARNING(FONT_SIZE_BIG("You are an elite Marine Raider Operative, the best of the best."))) - arm_equipment(H, /datum/equipment_preset/uscm/marsoc, TRUE, TRUE) - to_chat(H, SPAN_BOLDNOTICE("You are absolutely loyal to High Command and must follow their directives.")) - to_chat(H, SPAN_BOLDNOTICE("Execute the mission assigned to you with extreme prejudice!")) + to_chat(member, SPAN_WARNING(FONT_SIZE_BIG("You are an elite Marine Raider Operative, the best of the best."))) + arm_equipment(member, member_preset, TRUE, TRUE) + to_chat(member, SPAN_BOLDNOTICE("You are absolutely loyal to High Command and must follow their directives.")) + to_chat(member, SPAN_BOLDNOTICE("Execute the mission assigned to you with extreme prejudice!")) return -/datum/emergency_call/marsoc_covert +/datum/emergency_call/marsoc/covert name = "Marine Raider Operatives (!DEATHSQUAD! Covert)" - mob_max = 8 - mob_min = 5 - probability = 0 - shuttle_id = MOBILE_SHUTTLE_ID_ERT2 - name_of_spawn = /obj/effect/landmark/ert_spawns/distress_pmc - home_base = /datum/lazy_template/ert/weyland_station - -/datum/emergency_call/marsoc_covert/create_member(datum/mind/M) - - var/turf/spawn_loc = get_spawn_point() - - if(!istype(spawn_loc)) - return //Didn't find a useable spawn point. - - var/mob/living/carbon/human/H = new(spawn_loc) - M.transfer_to(H, TRUE) - if(!leader && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(H.client, JOB_SQUAD_LEADER, time_required_for_job)) //First one spawned is always the leader. - leader = H - to_chat(H, SPAN_WARNING(FONT_SIZE_BIG("You are a Marine Raider Team Leader, better than all the rest."))) - arm_equipment(H, /datum/equipment_preset/uscm/marsoc/sl/covert, TRUE, TRUE) - else - to_chat(H, SPAN_WARNING(FONT_SIZE_BIG("You are an elite Marine Raider, the best of the best."))) - arm_equipment(H, /datum/equipment_preset/uscm/marsoc/covert, TRUE, TRUE) - to_chat(H, SPAN_BOLDNOTICE("You are absolutely loyal to High Command and must follow their directives.")) - to_chat(H, SPAN_BOLDNOTICE("Execute the mission assigned to you with extreme prejudice!")) - return + leader_preset = /datum/equipment_preset/uscm/marsoc/sl/covert + member_preset = /datum/equipment_preset/uscm/marsoc/covert /datum/emergency_call/marsoc/low_threat name = "Marine Raider Operatives" - -/datum/emergency_call/marsoc/low_threat/create_member(datum/mind/MIND) - - var/turf/spawn_loc = get_spawn_point() - - if(!istype(spawn_loc)) - return //Didn't find a useable spawn point. - - var/mob/living/carbon/human/player = new(spawn_loc) - MIND.transfer_to(player, TRUE) - if(!leader && HAS_FLAG(player.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(player.client, JOB_SQUAD_LEADER, time_required_for_job)) //First one spawned is always the leader. - leader = player - to_chat(player, SPAN_WARNING(FONT_SIZE_BIG("You are a Marine Raider Team Leader, better than all the rest."))) - arm_equipment(player, /datum/equipment_preset/uscm/marsoc/low_threat/sl, TRUE, TRUE) - else - to_chat(player, SPAN_WARNING(FONT_SIZE_BIG("You are an elite Marine Raider, the best of the best."))) - arm_equipment(player, /datum/equipment_preset/uscm/marsoc/low_threat, TRUE, TRUE) - to_chat(player, SPAN_BOLDNOTICE("You are absolutely loyal to High Command and must follow their directives.")) - to_chat(player, SPAN_BOLDNOTICE("Execute the mission assigned to you with extreme prejudice!")) - return + leader_preset = /datum/equipment_preset/uscm/marsoc/low_threat/sl + member_preset = /datum/equipment_preset/uscm/marsoc/low_threat diff --git a/code/datums/emergency_calls/ert_stations.dm b/code/datums/emergency_calls/ert_stations.dm index 3e7874572365..312ceeaf9eed 100644 --- a/code/datums/emergency_calls/ert_stations.dm +++ b/code/datums/emergency_calls/ert_stations.dm @@ -12,3 +12,6 @@ /datum/lazy_template/ert/weyland_station map_name = "weyland_ert_station" + +/datum/lazy_template/ert/pizza_station + map_name = "pizza_ert_station" diff --git a/code/datums/emergency_calls/inspection.dm b/code/datums/emergency_calls/inspection.dm index 031a9f210761..e473466f4fb8 100644 --- a/code/datums/emergency_calls/inspection.dm +++ b/code/datums/emergency_calls/inspection.dm @@ -258,7 +258,7 @@ print_backstory(mob) - addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) /datum/emergency_call/inspection_cmb/print_backstory(mob/living/carbon/human/M) @@ -341,4 +341,4 @@ print_backstory(mob) - addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) diff --git a/code/datums/emergency_calls/pizza.dm b/code/datums/emergency_calls/pizza.dm index a2c312887dc9..a0d710f455f9 100644 --- a/code/datums/emergency_calls/pizza.dm +++ b/code/datums/emergency_calls/pizza.dm @@ -8,6 +8,7 @@ objectives = "Make sure you get a tip!" shuttle_id = MOBILE_SHUTTLE_ID_ERT_SMALL name_of_spawn = /obj/effect/landmark/ert_spawns/distress_pizza + home_base = /datum/lazy_template/ert/pizza_station probability = 1 /datum/emergency_call/pizza/create_member(datum/mind/M, turf/override_spawn_loc) diff --git a/code/datums/emergency_calls/xeno_cultists.dm b/code/datums/emergency_calls/xeno_cultists.dm index f112511b5e22..5a69c4002105 100644 --- a/code/datums/emergency_calls/xeno_cultists.dm +++ b/code/datums/emergency_calls/xeno_cultists.dm @@ -34,4 +34,4 @@ arm_equipment(H, /datum/equipment_preset/other/xeno_cultist, TRUE, TRUE) print_backstory(H) - addtimer(CALLBACK(GLOBAL_PROC, PROC_REF(to_chat), H, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), H, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) diff --git a/code/datums/entities/player.dm b/code/datums/entities/player.dm index f30c01b3128b..aefa81672b54 100644 --- a/code/datums/entities/player.dm +++ b/code/datums/entities/player.dm @@ -455,15 +455,19 @@ BSQL_PROTECT_DATUM(/datum/entity/player) LAZYSET(stats, S.stat_id, S) /datum/entity/player/proc/load_byond_account_age() - var/datum/http_request/request = new() - request.prepare(RUSTG_HTTP_METHOD_GET, "https://www.byond.com/members/[ckey]?format=text") - request.execute_blocking() - var/datum/http_response/response = request.into_response() - if(response.errored) + var/list/http_request = world.Export("http://byond.com/members/[ckey]?format=text") + if(!http_request) + log_admin("Could not check BYOND account age for [ckey] - no response from server.") + return + + var/body = file2text(http_request["CONTENT"]) + if(!body) + log_admin("Could not check BYOND account age for [ckey] - invalid response.") return var/static/regex/regex = regex("joined = \"(\\d{4}-\\d{2}-\\d{2})\"") - if(!regex.Find(response.body)) + if(!regex.Find(body)) + log_admin("Could not check BYOND account age for [ckey] - no valid date in response.") return byond_account_age = regex.group[1] diff --git a/code/datums/factions/uscm.dm b/code/datums/factions/uscm.dm index 0a9b0cff40b9..a19faba32d81 100644 --- a/code/datums/factions/uscm.dm +++ b/code/datums/factions/uscm.dm @@ -22,7 +22,8 @@ if(JOB_XO) marine_rk = "xo" if(JOB_CO) marine_rk = "co" if(JOB_GENERAL) marine_rk = "general" - if(JOB_PILOT) marine_rk = "po" + if(JOB_CAS_PILOT) marine_rk = "gp" + if(JOB_DROPSHIP_PILOT) marine_rk = "dp" if(JOB_INTEL) marine_rk = "io" if(JOB_DROPSHIP_CREW_CHIEF) marine_rk = "dcc" if(JOB_CREWMAN) marine_rk = "tc" @@ -85,8 +86,10 @@ border_rk = "command" if(JOB_INTEL) marine_rk = "io" - if(JOB_PILOT) - marine_rk = "po" + if(JOB_CAS_PILOT) + marine_rk = "gp" + if(JOB_DROPSHIP_PILOT) + marine_rk = "dp" if(JOB_DROPSHIP_CREW_CHIEF) marine_rk = "dcc" if(JOB_CHIEF_POLICE) diff --git a/code/datums/keybinding/human.dm b/code/datums/keybinding/human.dm index 6d7037eac398..810ee828880b 100644 --- a/code/datums/keybinding/human.dm +++ b/code/datums/keybinding/human.dm @@ -120,11 +120,18 @@ if(.) return + // Get the user's marine helmet (if they're wearing one) var/mob/living/carbon/human/human_user = user.mob - var/obj/item/clothing/head/helmet/marine/marine_helmet = human_user?.head - var/cycled_hud = marine_helmet?.cycle_huds(human_user) + var/obj/item/clothing/head/helmet/marine/marine_helmet = human_user.head + if(!istype(marine_helmet)) + // If their hat isn't a marine helmet, or is null, return. + return + + // Cycle the HUD on the helmet. + var/cycled_hud = marine_helmet.cycle_huds(human_user) + // Update the helmet's 'cycle hud' action button var/datum/action/item_action/cycle_helmet_huds/cycle_action = locate() in marine_helmet.actions - cycle_action.set_action_overlay(cycled_hud) + cycle_action?.set_action_overlay(cycled_hud) return TRUE diff --git a/code/datums/keybinding/mob.dm b/code/datums/keybinding/mob.dm index b2bf989a7aaf..100f546ba590 100644 --- a/code/datums/keybinding/mob.dm +++ b/code/datums/keybinding/mob.dm @@ -73,7 +73,22 @@ user.mob.drop_held_item(I) return TRUE -/datum/keybinding/mob/target_head_cycle +// Parent type of the bodypart targeting keybinds +/datum/keybinding/mob/target + +/datum/keybinding/mob/target/down(client/user) + . = ..() + if(. || !user.mob) + return + + user.mob.select_body_zone(get_target_zone(user)) + return TRUE + +/// Returns the body zone which should be targeted when pressing this keybind. +/datum/keybinding/mob/target/proc/get_target_zone(client/user) + return + +/datum/keybinding/mob/target/head_cycle hotkey_keys = list("Numpad8") classic_keys = list("Numpad8") name = "target_head_cycle" @@ -81,14 +96,16 @@ description = "Pressing this key targets the head, and continued presses will cycle to the eyes and mouth. This will impact where you hit people, and can be used for surgery." keybind_signal = COMSIG_KB_MOB_TARGETCYCLEHEAD_DOWN -/datum/keybinding/mob/target_head_cycle/down(client/user) - . = ..() - if(.) - return - user.mob.a_select_zone("head", user) - return TRUE +/datum/keybinding/mob/target/head_cycle/get_target_zone(client/user) + switch(user.mob.zone_selected) + if("head") + return "eyes" + if("eyes") + return "mouth" + else // including if("mouth") + return "head" -/datum/keybinding/mob/target_r_arm +/datum/keybinding/mob/target/r_arm hotkey_keys = list("Numpad4") classic_keys = list("Numpad4") name = "target_r_arm" @@ -96,14 +113,12 @@ description = "Pressing this key targets the right arm. This will impact where you hit people, and can be used for surgery." keybind_signal = COMSIG_KB_MOB_TARGETRIGHTARM_DOWN -/datum/keybinding/mob/target_r_arm/down(client/user) - . = ..() - if(.) - return - user.mob.a_select_zone("rarm", user) - return TRUE +/datum/keybinding/mob/target/r_arm/get_target_zone(client/user) + if(user.mob.zone_selected == "r_arm") + return "r_hand" + return "r_arm" -/datum/keybinding/mob/target_body_chest +/datum/keybinding/mob/target/body_chest hotkey_keys = list("Numpad5") classic_keys = list("Numpad5") name = "target_body_chest" @@ -111,14 +126,10 @@ description = "Pressing this key targets the body. This will impact where you hit people, and can be used for surgery." keybind_signal = COMSIG_KB_MOB_TARGETBODYCHEST_DOWN -/datum/keybinding/mob/target_body_chest/down(client/user) - . = ..() - if(.) - return - user.mob.a_select_zone("chest", user) - return TRUE +/datum/keybinding/mob/target/body_chest/get_target_zone(client/user) + return "chest" -/datum/keybinding/mob/target_left_arm +/datum/keybinding/mob/target/left_arm hotkey_keys = list("Numpad6") classic_keys = list("Numpad6") name = "target_left_arm" @@ -126,14 +137,12 @@ description = "Pressing this key targets the body. This will impact where you hit people, and can be used for surgery." keybind_signal = COMSIG_KB_MOB_TARGETLEFTARM_DOWN -/datum/keybinding/mob/target_left_arm/down(client/user) - . = ..() - if(.) - return - user.mob.a_select_zone("larm", user) - return TRUE +/datum/keybinding/mob/target/left_arm/get_target_zone(client/user) + if(user.mob.zone_selected == "l_arm") + return "l_hand" + return "l_arm" -/datum/keybinding/mob/target_right_leg +/datum/keybinding/mob/target/right_leg hotkey_keys = list("Numpad1") classic_keys = list("Numpad1") name = "target_right_leg" @@ -141,14 +150,12 @@ description = "Pressing this key targets the right leg. This will impact where you hit people, and can be used for surgery." keybind_signal = COMSIG_KB_MOB_TARGETRIGHTLEG_DOWN -/datum/keybinding/mob/target_right_leg/down(client/user) - . = ..() - if(.) - return - user.mob.a_select_zone("rleg", user) - return TRUE +/datum/keybinding/mob/target/right_leg/get_target_zone(client/user) + if(user.mob.zone_selected == "r_leg") + return "r_foot" + return "r_leg" -/datum/keybinding/mob/target_body_groin +/datum/keybinding/mob/target/body_groin hotkey_keys = list("Numpad2") classic_keys = list("Numpad2") name = "target_body_groin" @@ -156,14 +163,10 @@ description = "Pressing this key targets the groin. This will impact where you hit people, and can be used for surgery." keybind_signal = COMSIG_KB_MOB_TARGETBODYGROIN_DOWN -/datum/keybinding/mob/target_body_groin/down(client/user) - . = ..() - if(.) - return - user.mob.a_select_zone("groin", user) - return TRUE +/datum/keybinding/mob/target/body_groin/get_target_zone(client/user) + return "groin" -/datum/keybinding/mob/target_left_leg +/datum/keybinding/mob/target/left_leg hotkey_keys = list("Numpad3") classic_keys = list("Numpad3") name = "target_left_leg" @@ -171,14 +174,12 @@ description = "Pressing this key targets the left leg. This will impact where you hit people, and can be used for surgery." keybind_signal = COMSIG_KB_MOB_TARGETLEFTLEG_DOWN -/datum/keybinding/mob/target_left_leg/down(client/user) - . = ..() - if(.) - return - user.mob.a_select_zone("lleg", user) - return TRUE +/datum/keybinding/mob/target/left_leg/get_target_zone(client/user) + if(user.mob.zone_selected == "l_leg") + return "l_foot" + return "l_leg" -/datum/keybinding/mob/target_next +/datum/keybinding/mob/target/next hotkey_keys = list("Numpad7") classic_keys = list("Numpad7") name = "target_next" @@ -186,14 +187,10 @@ description = "Pressing this key targets the next body part, cycling forward through all of them. This will impact where you hit people, and can be used for surgery." keybind_signal = COMSIG_KB_MOB_TARGETNEXT_DOWN -/datum/keybinding/mob/target_next/down(client/user) - . = ..() - if(.) - return - user.mob.a_select_zone("next", user) - return TRUE +/datum/keybinding/mob/target/next/get_target_zone(client/user) + return next_in_list(user.mob.zone_selected, DEFENSE_ZONES_LIVING) -/datum/keybinding/mob/target_prev +/datum/keybinding/mob/target/prev hotkey_keys = list("Numpad9") classic_keys = list("Numpad9") name = "target_prev" @@ -201,12 +198,8 @@ description = "Pressing this key targets the previous body part, cycling backward through all of them. This will impact where you hit people, and can be used for surgery." keybind_signal = COMSIG_KB_MOB_TARGETPREV_DOWN -/datum/keybinding/mob/target_prev/down(client/user) - . = ..() - if(.) - return - user.mob.a_select_zone("prev", user) - return TRUE +/datum/keybinding/mob/target/prev/get_target_zone(client/user) + return prev_in_list(user.mob.zone_selected, DEFENSE_ZONES_LIVING) /datum/keybinding/mob/prevent_movement hotkey_keys = list("Ctrl", "Alt") diff --git a/code/datums/map_config.dm b/code/datums/map_config.dm index 9bcf4d677b6e..fc527f07a9e0 100644 --- a/code/datums/map_config.dm +++ b/code/datums/map_config.dm @@ -83,18 +83,20 @@ /datum/equipment_preset/synth/survivor/medical_synth, /datum/equipment_preset/synth/survivor/emt_synth, /datum/equipment_preset/synth/survivor/scientist_synth, + /datum/equipment_preset/synth/survivor/archaeologist_synth, /datum/equipment_preset/synth/survivor/engineer_synth, - /datum/equipment_preset/synth/survivor/janitor_synth, /datum/equipment_preset/synth/survivor/chef_synth, /datum/equipment_preset/synth/survivor/teacher_synth, + /datum/equipment_preset/synth/survivor/surveyor_synth, /datum/equipment_preset/synth/survivor/freelancer_synth, /datum/equipment_preset/synth/survivor/trucker_synth, /datum/equipment_preset/synth/survivor/bartender_synth, - /datum/equipment_preset/synth/survivor/detective_synth, + /datum/equipment_preset/synth/survivor/atc_synth, /datum/equipment_preset/synth/survivor/cmb_synth, /datum/equipment_preset/synth/survivor/wy/security_synth, /datum/equipment_preset/synth/survivor/wy/protection_synth, /datum/equipment_preset/synth/survivor/wy/corporate_synth, + /datum/equipment_preset/synth/survivor/icc_synth, /datum/equipment_preset/synth/survivor/radiation_synth, ) diff --git a/code/datums/mob_hud.dm b/code/datums/mob_hud.dm index b7b5544777b3..5e57b8f5616c 100644 --- a/code/datums/mob_hud.dm +++ b/code/datums/mob_hud.dm @@ -185,7 +185,7 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list( //Factions /datum/mob_hud/faction - hud_icons = list(FACTION_HUD, ORDER_HUD) + hud_icons = list(FACTION_HUD, ORDER_HUD, HOLOCARD_HUD) var/faction_to_check = FACTION_MARINE /datum/mob_hud/faction/add_to_single_hud(mob/user, mob/target) @@ -209,7 +209,7 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list( faction_to_check = FACTION_PMC /datum/mob_hud/faction/observer - hud_icons = list(FACTION_HUD, ORDER_HUD, HUNTER_CLAN) + hud_icons = list(FACTION_HUD, ORDER_HUD, HUNTER_CLAN, HOLOCARD_HUD) ///////// MOB PROCS //////////////////////////////: @@ -753,7 +753,13 @@ GLOBAL_DATUM(hud_icon_hudfocus, /image) holder.overlays += GLOB.hud_icon_hudfocus hud_list[ORDER_HUD] = holder +/mob/proc/hud_set_holocard() + return +// HOLOCARD HUD +/mob/living/carbon/human/hud_set_holocard() + var/image/holder = hud_list[HOLOCARD_HUD] + holder.icon_state = holo_card_color ? "holo_card_[holo_card_color]" : "hudblank" // Xeno "hostile" HUD /mob/living/carbon/human/proc/update_xeno_hostile_hud() diff --git a/code/datums/skills/uscm.dm b/code/datums/skills/uscm.dm index 8a6d2fd2c8c2..1e0dedf5dd05 100644 --- a/code/datums/skills/uscm.dm +++ b/code/datums/skills/uscm.dm @@ -292,6 +292,7 @@ COMMAND STAFF SKILL_LEADERSHIP = SKILL_LEAD_EXPERT, SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, SKILL_MEDICAL = SKILL_MEDICAL_MEDIC, + SKILL_SURGERY = SKILL_SURGERY_NOVICE, SKILL_POLICE = SKILL_POLICE_FLASH, SKILL_FIREMAN = SKILL_FIREMAN_TRAINED, SKILL_VEHICLE = SKILL_VEHICLE_SMALL, diff --git a/code/datums/supply_packs/spec_ammo.dm b/code/datums/supply_packs/spec_ammo.dm index f0eb5ab9cea2..889d2e25b8af 100644 --- a/code/datums/supply_packs/spec_ammo.dm +++ b/code/datums/supply_packs/spec_ammo.dm @@ -109,8 +109,6 @@ containername = "M42A Incendiary Magazine Crate" group = "Weapons Specialist Ammo" -//XM43E1 - Disabled during testing per request. -/* /datum/supply_packs/ammo_amr_marksman name = "XM43E1 anti-materiel rifle marksman magazines crate (x5)" contains = list( @@ -122,9 +120,9 @@ ) cost = 30 containertype = /obj/structure/closet/crate/ammo - containername = "XM43E1 Anti-Materiel Magazine Crate" - group = "Specialist Ammo" -*/ + containername = "XM43E1 Marksman Magazine Crate" + group = "Weapons Specialist Ammo" + //M4RA /datum/supply_packs/ammo_scout_mix diff --git a/code/defines/procs/announcement.dm b/code/defines/procs/announcement.dm index 1963506431f3..2ebba6a774e8 100644 --- a/code/defines/procs/announcement.dm +++ b/code/defines/procs/announcement.dm @@ -162,5 +162,5 @@ to_chat_spaced(T, html = "[SPAN_ANNOUNCEMENT_HEADER(title)]

[SPAN_ANNOUNCEMENT_BODY(message)]", type = MESSAGE_TYPE_RADIO) if(isobserver(T) && !(T.client?.prefs?.toggles_sound & SOUND_OBSERVER_ANNOUNCEMENTS)) - return + continue playsound_client(T.client, sound_to_play, T, vol = 45) diff --git a/code/game/area/BigRed.dm b/code/game/area/BigRed.dm index 57e062195a3c..8675655fe949 100644 --- a/code/game/area/BigRed.dm +++ b/code/game/area/BigRed.dm @@ -1,4 +1,5 @@ //Areas for BigRed - Minijar +// old icon state no longer in use. ("hydro","heads_quarters") /area/bigred can_build_special = TRUE powernet_name = "ground" @@ -251,44 +252,50 @@ name = "\improper Corporate Saferoom" icon_state = "vault" -/area/bigred/uground/lambda_labs/ - minimap_color = MINIMAP_AREA_RESEARCH_CAVE -/area/bigred/uground/lambda_labs/airlock - name = "\improper Lambda Labs Airlock" - icon_state = "decontamination" - -/area/bigred/uground/lambda_labs/lobby - name = "\improper Lambda Labs Reception" - icon_state = "bluenew" - -/area/bigred/uground/lambda_labs/office - name = "\improper Lambda Labs Administration" - icon_state = "heads_quarters" +// Lambda areas below: -/area/bigred/uground/lambda_labs/laser_lab - name = "\improper Lambda Laser Laboratory" - icon_state = "toxmisc" +// Laboratory proper +/area/bigredv2/caves/lambda + ceiling = CEILING_UNDERGROUND_METAL_BLOCK_CAS + ceiling_muffle = FALSE + ambience_exterior = AMBIENCE_ALMAYER + sound_environment = SOUND_ENVIRONMENT_ROOM + soundscape_playlist = list() + minimap_color = MINIMAP_AREA_RESEARCH -/area/bigred/uground/lambda_labs/hydro_office - name = "\improper Lambda Labs Bio-Dome" - icon_state = "hydro" +/area/bigredv2/caves/lambda/virology + name = "\improper Lambda Virology" + icon_state = "lam_virology" -/area/bigred/uground/lambda_labs/hydro_lab - name = "\improper Lambda Labs Hydrophonics" - icon_state = "garden" +/area/bigredv2/caves/lambda/research + name = "\improper Lambda Research" + icon_state = "lam_research" -/area/bigred/uground/lambda_labs/fridge - name = "\improper Lambda Labs Refrigeration" - icon_state = "kitchen" +/area/bigredv2/caves/lambda/breakroom + name = "\improper Lambda Breakroom" + icon_state = "lam_break" -/area/bigred/uground/lambda_labs/maintenance - name = "\improper Unknown Area" - icon_state = "yellow" +/area/bigredv2/caves/lambda/xenobiology + name = "\improper Lambda Xenobiology" + icon_state = "lam_xeno" -/area/bigred/uground/lambda_labs/maintenance2 - name = "\improper Unknown Area" - icon_state = "blue" +// cave around the laboratory. +/area/bigredv2/caves_lambda + name = "\improper Lambda Lab Caves" + icon_state = "caves_lambda" + ceiling = CEILING_UNDERGROUND_BLOCK_CAS + sound_environment = SOUND_ENVIRONMENT_AUDITORIUM + ceiling_muffle = FALSE + ambience_exterior = AMBIENCE_CAVE + soundscape_playlist = SCAPE_PL_CAVE + base_muffle = MUFFLE_HIGH +// serve for the security checkpoint. +/area/bigredv2/outside/lambda_cave_cas + name = "\improper Lambda Lockdown Caves Entrance" + icon_state = "decontamination" + ceiling = CEILING_UNDERGROUND_ALLOW_CAS + minimap_color = MINIMAP_AREA_SEC //Big Red V2 /area/bigredv2 @@ -551,29 +558,6 @@ icon_state = "party" ceiling = CEILING_METAL -/area/bigredv2/caves/lambda - ceiling = CEILING_UNDERGROUND_METAL_BLOCK_CAS - ceiling_muffle = FALSE - ambience_exterior = AMBIENCE_ALMAYER - sound_environment = SOUND_ENVIRONMENT_ROOM - soundscape_playlist = list() - -/area/bigredv2/caves/lambda/virology - name = "\improper Lambda Virology" - icon_state = "lam_virology" - -/area/bigredv2/caves/lambda/research - name = "\improper Lambda Research" - icon_state = "lam_research" - -/area/bigredv2/caves/lambda/breakroom - name = "\improper Lambda Breakroom" - icon_state = "lam_break" - -/area/bigredv2/caves/lambda/xenobiology - name = "\improper Lambda Xenobiology" - icon_state = "lam_xeno" - /area/bigredv2/outside/general_offices name = "\improper General Offices" icon_state = "storage" @@ -630,16 +614,6 @@ soundscape_playlist = SCAPE_PL_CAVE base_muffle = MUFFLE_HIGH -/area/bigredv2/caves_lambda - name = "\improper Lambda Lab Caves" - icon_state = "caves_lambda" - ceiling = CEILING_UNDERGROUND_BLOCK_CAS - sound_environment = SOUND_ENVIRONMENT_AUDITORIUM - ceiling_muffle = FALSE - ambience_exterior = AMBIENCE_CAVE - soundscape_playlist = SCAPE_PL_CAVE - base_muffle = MUFFLE_HIGH - /area/bigredv2/caves_north name = "\improper Northern Caves" icon_state = "caves_north" @@ -688,8 +662,3 @@ name = "\improper Filtration Lockdown Caves Entrance" icon_state = "garden" ceiling = CEILING_UNDERGROUND_ALLOW_CAS - -/area/bigredv2/outside/lambda_cave_cas - name = "\improper Lambda Lockdown Caves Entrance" - icon_state = "garden" - ceiling = CEILING_UNDERGROUND_ALLOW_CAS diff --git a/code/game/area/LV624.dm b/code/game/area/LV624.dm index 613703a0be6e..464067e827d3 100644 --- a/code/game/area/LV624.dm +++ b/code/game/area/LV624.dm @@ -37,6 +37,7 @@ name ="\improper Western Jungle" icon_state = "west" //ambience = list('sound/ambience/jungle_amb1.ogg') + is_resin_allowed = FALSE /area/lv624/ground/jungle/west_jungle/ceiling ceiling = CEILING_GLASS diff --git a/code/game/area/admin_level.dm b/code/game/area/admin_level.dm index 1724f2fdeea3..49bbc43c0b9c 100644 --- a/code/game/area/admin_level.dm +++ b/code/game/area/admin_level.dm @@ -113,6 +113,10 @@ name = "UPP Station" icon_state = "green" +/area/adminlevel/ert_station/pizza_station + name = "Pizza Galaxy" + icon_state = "red" + /area/adminlevel/ert_station/clf_station name = "CLF Station" icon_state = "white" diff --git a/code/game/area/almayer.dm b/code/game/area/almayer.dm index c3898283cbbb..b75baccd7353 100644 --- a/code/game/area/almayer.dm +++ b/code/game/area/almayer.dm @@ -366,8 +366,12 @@ name = "\improper Upper Deck Aft Hallway" icon_state = "aft" -/area/almayer/hallways/upper/stern_hallway - name = "\improper Upper Deck Stern Hallway" +/area/almayer/hallways/upper/fore_hallway + name = "\improper Upper Deck Fore Hallway" + icon_state = "stern" + +/area/almayer/hallways/upper/midship_hallway + name = "\improper Upper Deck Midship Hallway" icon_state = "stern" /area/almayer/hallways/upper/port @@ -425,6 +429,18 @@ /area/almayer/maint/upper/u_m_s name = "\improper Upper Deck Starboard-Midship Maintenance" +/area/almayer/maint/upper/u_f_p + name = "\improper Upper Deck Port-Fore Maintenance" + +/area/almayer/maint/upper/u_f_s + name = "\improper Upper Deck Starboard-Fore Maintenance" + +/area/almayer/maint/upper/u_a_p + name = "\improper Upper Deck Port-Aft Maintenance" + +/area/almayer/maint/upper/u_a_s + name = "\improper Upper Deck Starboard-Aft Maintenance" + // hull areas /area/almayer/maint/hull diff --git a/code/game/gamemodes/cm_initialize.dm b/code/game/gamemodes/cm_initialize.dm index 30e179949be5..400acdcb122a 100644 --- a/code/game/gamemodes/cm_initialize.dm +++ b/code/game/gamemodes/cm_initialize.dm @@ -385,34 +385,49 @@ Additional game mode variables. available_xenos[larva_option] = list(hive) if(!available_xenos.len || (instant_join && !available_xenos_non_ssd.len)) - if(!xeno_candidate.client || !xeno_candidate.client.prefs || !(xeno_candidate.client.prefs.be_special & BE_ALIEN_AFTER_DEATH)) - to_chat(xeno_candidate, SPAN_WARNING("There aren't any available xenomorphs or burrowed larvae. You can try getting spawned as a chestburster larva by toggling your Xenomorph candidacy in Preferences -> Toggle SpecialRole Candidacy.")) + if(!xeno_candidate.client?.prefs || !(xeno_candidate.client.prefs.be_special & BE_ALIEN_AFTER_DEATH)) + to_chat(xeno_candidate, SPAN_WARNING("There aren't any available xenomorphs or burrowed larvae. \ + You can try getting spawned as a chestburster larva by toggling your Xenomorph candidacy in \ + Preferences -> Toggle SpecialRole Candidacy.")) return FALSE to_chat(xeno_candidate, SPAN_WARNING("There aren't any available xenomorphs or burrowed larvae.")) - // Give the player a cached message of their queue status if they are an observer + if(!isobserver(xeno_candidate)) + return FALSE var/mob/dead/observer/candidate_observer = xeno_candidate - if(istype(candidate_observer)) - if(candidate_observer.larva_queue_cached_message) - to_chat(xeno_candidate, SPAN_XENONOTICE(candidate_observer.larva_queue_cached_message)) - return FALSE - // No cache, lets check now then - message_alien_candidates(get_alien_candidates(), dequeued = 0, cache_only = TRUE) - if(candidate_observer.larva_queue_cached_message) - var/datum/hive_status/cur_hive - for(var/hive_num in GLOB.hive_datum) - cur_hive = GLOB.hive_datum[hive_num] - for(var/mob_name in cur_hive.banished_ckeys) - if(cur_hive.banished_ckeys[mob_name] == xeno_candidate.ckey) - candidate_observer.larva_queue_cached_message += "\nNOTE: You are banished from the [cur_hive] and you may not rejoin unless the Queen re-admits you or dies. Your queue number won't update until there is a hive you aren't banished from." - break - to_chat(xeno_candidate, SPAN_XENONOTICE(candidate_observer.larva_queue_cached_message)) - return FALSE + // If an observing mod wants to join as a xeno, disable their larva protection so that they can enter the queue. + if(check_client_rights(candidate_observer.client, R_MOD, FALSE)) + candidate_observer.admin_larva_protection = FALSE - // We aren't in queue yet, lets teach them about the queue then - candidate_observer.larva_queue_cached_message = "You are currently awaiting assignment in the larva queue. The ordering is based on your time of death or the time you joined. When you have been dead long enough and are not inactive, you will periodically receive messages where you are in the queue relative to other currently valid xeno candidates. Your current position will shift as others change their preferences or go inactive, but your relative position compared to all observers is the same. Note: Playing as a facehugger or in the thunderdome will not alter your time of death. This means you won't lose your relative place in queue if you step away, disconnect, play as a facehugger, or play in the thunderdome." - to_chat(xeno_candidate, SPAN_XENONOTICE(candidate_observer.larva_queue_cached_message)) + // Give the player a cached message of their queue status if they are an observer + if(candidate_observer.larva_queue_cached_message) + to_chat(candidate_observer, SPAN_XENONOTICE(candidate_observer.larva_queue_cached_message)) + return FALSE + + // No cache, lets check now then + message_alien_candidates(get_alien_candidates(), dequeued = 0, cache_only = TRUE) + + // If we aren't in the queue yet, let's teach them about the queue + if(!candidate_observer.larva_queue_cached_message) + candidate_observer.larva_queue_cached_message = "You are currently awaiting assignment in the larva queue. \ + The ordering is based on your time of death or the time you joined. When you have been dead long enough and are not inactive, \ + you will periodically receive messages where you are in the queue relative to other currently valid xeno candidates. \ + Your current position will shift as others change their preferences or go inactive, but your relative position compared to all observers is the same. \ + Note: Playing as a facehugger or in the thunderdome will not alter your time of death. \ + This means you won't lose your relative place in queue if you step away, disconnect, play as a facehugger, or play in the thunderdome." + to_chat(candidate_observer, SPAN_XENONOTICE(candidate_observer.larva_queue_cached_message)) + return FALSE + + var/datum/hive_status/cur_hive + for(var/hive_num in GLOB.hive_datum) + cur_hive = GLOB.hive_datum[hive_num] + for(var/mob_name in cur_hive.banished_ckeys) + if(cur_hive.banished_ckeys[mob_name] == candidate_observer.ckey) + candidate_observer.larva_queue_cached_message += "\nNOTE: You are banished from the [cur_hive] and you may not rejoin unless \ + the Queen re-admits you or dies. Your queue number won't update until there is a hive you aren't banished from." + break + to_chat(candidate_observer, SPAN_XENONOTICE(candidate_observer.larva_queue_cached_message)) return FALSE var/mob/living/carbon/xenomorph/new_xeno @@ -672,9 +687,9 @@ Additional game mode variables. return TRUE /// Pick and setup a queen spawn from landmarks, then spawns the player there alongside any required setup -/datum/game_mode/proc/pick_queen_spawn(datum/mind/ghost_mind, hivenumber = XENO_HIVE_NORMAL) +/datum/game_mode/proc/pick_queen_spawn(mob/player, hivenumber = XENO_HIVE_NORMAL) RETURN_TYPE(/turf) - + var/datum/mind/ghost_mind = player.mind var/mob/living/original = ghost_mind.current var/datum/hive_status/hive = GLOB.hive_datum[hivenumber] if(hive.living_xeno_queen || !original || !original.client) @@ -695,6 +710,9 @@ Additional game mode variables. spawn_list_map[spawn_name] = T var/selected_spawn = tgui_input_list(original, "Where do you want you and your hive to spawn?", "Queen Spawn", spawn_list_map, QUEEN_SPAWN_TIMEOUT, theme="hive_status") + if(hive.living_xeno_queen) + to_chat(original, SPAN_XENOANNOUNCE("You have taken too long to pick a spawn location, a queen has already evolved before you.")) + player.send_to_lobby() if(!selected_spawn) selected_spawn = pick(spawn_list_map) to_chat(original, SPAN_XENOANNOUNCE("You have taken too long to pick a spawn location, one has been chosen for you.")) @@ -1006,10 +1024,14 @@ Additional game mode variables. to_chat(joe_candidate, SPAN_WARNING("You are not whitelisted! You may apply on the forums to be whitelisted as a synth.")) return - if((joe_candidate.ckey in joes) && !MODE_HAS_TOGGLEABLE_FLAG(MODE_BYPASS_JOE)) - if(show_warning) - to_chat(joe_candidate, SPAN_WARNING("You already were a Working Joe this round!")) - return + if(MODE_HAS_TOGGLEABLE_FLAG(MODE_DISABLE_JOE_RESPAWN) && (joe_candidate.ckey in joes)) // No joe respawns if already a joe before + to_chat(joe_candidate, SPAN_WARNING("Working Joe respawns are disabled!")) + return FALSE + + var/deathtime = world.time - joe_candidate.timeofdeath + if((deathtime < JOE_JOIN_DEAD_TIME && (joe_candidate.ckey in joes)) && !MODE_HAS_TOGGLEABLE_FLAG(MODE_BYPASS_JOE)) + to_chat(joe_candidate, SPAN_WARNING("You have been dead for [DisplayTimeText(deathtime)]. You need to wait [DisplayTimeText(JOE_JOIN_DEAD_TIME - deathtime)] before rejoining as a Working Joe!")) + return FALSE // council doesn't count towards this conditional. if(joe_job.get_whitelist_status(joe_candidate.client) == WHITELIST_NORMAL) diff --git a/code/game/gamemodes/colonialmarines/colonialmarines.dm b/code/game/gamemodes/colonialmarines/colonialmarines.dm index ca0f34e64a7b..a66403fc00f5 100644 --- a/code/game/gamemodes/colonialmarines/colonialmarines.dm +++ b/code/game/gamemodes/colonialmarines/colonialmarines.dm @@ -332,7 +332,7 @@ if(HS.living_xeno_queen && !should_block_game_interaction(HS.living_xeno_queen.loc)) //Some Queen is alive, we shouldn't end the game yet return - if (HS.totalXenos <= 3) + if(length(HS.totalXenos) <= 3) round_finished = MODE_INFESTATION_M_MAJOR else round_finished = MODE_INFESTATION_M_MINOR diff --git a/code/game/gamemodes/colonialmarines/whiskey_outpost.dm b/code/game/gamemodes/colonialmarines/whiskey_outpost.dm index d216ba762a3e..c5b25d3e1538 100644 --- a/code/game/gamemodes/colonialmarines/whiskey_outpost.dm +++ b/code/game/gamemodes/colonialmarines/whiskey_outpost.dm @@ -20,7 +20,7 @@ /datum/job/command/bridge/whiskey = JOB_SO, /datum/job/command/tank_crew/whiskey = JOB_CREWMAN, /datum/job/command/police/whiskey = JOB_POLICE, - /datum/job/command/pilot/whiskey = JOB_PILOT, + /datum/job/command/pilot/whiskey = JOB_CAS_PILOT, /datum/job/logistics/requisition/whiskey = JOB_CHIEF_REQUISITION, /datum/job/civilian/professor/whiskey = JOB_CMO, /datum/job/civilian/doctor/whiskey = JOB_DOCTOR, diff --git a/code/game/gamemodes/colonialmarines/xenovsxeno.dm b/code/game/gamemodes/colonialmarines/xenovsxeno.dm index 79754a6fff84..d287709d5516 100644 --- a/code/game/gamemodes/colonialmarines/xenovsxeno.dm +++ b/code/game/gamemodes/colonialmarines/xenovsxeno.dm @@ -154,7 +154,7 @@ var/mob/living/carbon/xenomorph/larva/L = new(xeno_turf, null, hivenumber) ghost_mind.transfer_to(L) -/datum/game_mode/xenovs/pick_queen_spawn(datum/mind/ghost_mind, hivenumber = XENO_HIVE_NORMAL) +/datum/game_mode/xenovs/pick_queen_spawn(mob/player, hivenumber = XENO_HIVE_NORMAL) . = ..() if(!.) return // Spawn additional hive structures diff --git a/code/game/jobs/job/antag/xeno/queen.dm b/code/game/jobs/job/antag/xeno/queen.dm index 5702f9b1a671..144f8e42e6ad 100644 --- a/code/game/jobs/job/antag/xeno/queen.dm +++ b/code/game/jobs/job/antag/xeno/queen.dm @@ -9,8 +9,8 @@ /datum/job/antag/xenos/queen/set_spawn_positions(count) return spawn_positions -/datum/job/antag/xenos/queen/transform_to_xeno(mob/new_player/NP, hive_index) - SSticker.mode.pick_queen_spawn(NP.mind, hive_index) +/datum/job/antag/xenos/queen/transform_to_xeno(mob/living/carbon/human/human_to_transform, hive_index) + SSticker.mode.pick_queen_spawn(human_to_transform, hive_index) /datum/job/antag/xenos/queen/announce_entry_message(mob/new_queen, account, whitelist_status) to_chat(new_queen, "You are now the alien queen!") diff --git a/code/game/jobs/job/command/auxiliary/cas_pilot.dm b/code/game/jobs/job/command/auxiliary/cas_pilot.dm new file mode 100644 index 000000000000..083766576ad4 --- /dev/null +++ b/code/game/jobs/job/command/auxiliary/cas_pilot.dm @@ -0,0 +1,24 @@ +/datum/job/command/pilot/cas_pilot + title = JOB_CAS_PILOT + total_positions = 1 + spawn_positions = 1 + allow_additional = TRUE + scaled = TRUE + supervisors = "the auxiliary support officer" + flags_startup_parameters = ROLE_ADD_TO_DEFAULT + gear_preset = /datum/equipment_preset/uscm_ship/gp + entry_message_body = "Your job is to fly, protect, and maintain the ship's gunship. While you are an officer, your authority is limited to the dropship, where you have authority over the enlisted personnel." + +/datum/job/command/pilot/whiskey + total_positions = 2 + spawn_positions = 2 + +// Dropship Roles is both DP, GP and DCC combined to not force people to backtrack +AddTimelock(/datum/job/command/pilot/cas_pilot, list( + JOB_DROPSHIP_ROLES = 2 HOURS +)) + +/obj/effect/landmark/start/pilot/cas_pilot + name = JOB_CAS_PILOT + icon_state = "po_spawn" + job = /datum/job/command/pilot/cas_pilot diff --git a/code/game/jobs/job/command/auxiliary/crew_chief.dm b/code/game/jobs/job/command/auxiliary/crew_chief.dm index 0770bcd60ffa..2608d8847966 100644 --- a/code/game/jobs/job/command/auxiliary/crew_chief.dm +++ b/code/game/jobs/job/command/auxiliary/crew_chief.dm @@ -10,7 +10,8 @@ entry_message_body = "Your job is to assist the pilot officer maintain the ship's dropship. You have authority only on the dropship, but you are expected to maintain order, as not to disrupt the pilot." AddTimelock(/datum/job/command/crew_chief, list( - JOB_SQUAD_ROLES = 5 HOURS + JOB_SQUAD_ROLES = 5 HOURS, + JOB_MEDIC_ROLES = 1 HOURS )) /obj/effect/landmark/start/crew_chief diff --git a/code/game/jobs/job/command/auxiliary/dropship_pilot.dm b/code/game/jobs/job/command/auxiliary/dropship_pilot.dm new file mode 100644 index 000000000000..2fda9a680094 --- /dev/null +++ b/code/game/jobs/job/command/auxiliary/dropship_pilot.dm @@ -0,0 +1,20 @@ +/datum/job/command/pilot/dropship_pilot + title = JOB_DROPSHIP_PILOT + total_positions = 1 + spawn_positions = 1 + allow_additional = TRUE + scaled = TRUE + supervisors = "the auxiliary support officer" + flags_startup_parameters = ROLE_ADD_TO_DEFAULT + gear_preset = /datum/equipment_preset/uscm_ship/dp + entry_message_body = "Your job is to fly, protect, and maintain the ship's transport dropship. While you are an officer, your authority is limited to the dropship, where you have authority over the enlisted personnel. If you are not piloting, there is an autopilot fallback for command, but don't leave the dropship without reason." + +// Dropship Roles is both DP, GP and DCC combined to not force people to backtrack +AddTimelock(/datum/job/command/pilot/dropship_pilot, list( + JOB_DROPSHIP_ROLES = 2 HOURS +)) + +/obj/effect/landmark/start/pilot/dropship_pilot + name = JOB_DROPSHIP_PILOT + icon_state = "po_spawn" + job = /datum/job/command/pilot/dropship_pilot diff --git a/code/game/jobs/job/command/auxiliary/pilot.dm b/code/game/jobs/job/command/auxiliary/pilot.dm deleted file mode 100644 index 1a7a7c21d5a0..000000000000 --- a/code/game/jobs/job/command/auxiliary/pilot.dm +++ /dev/null @@ -1,20 +0,0 @@ -/datum/job/command/pilot - title = JOB_PILOT - total_positions = 2 - spawn_positions = 2 - allow_additional = TRUE - scaled = TRUE - supervisors = "the auxiliary support officer" - flags_startup_parameters = ROLE_ADD_TO_DEFAULT - gear_preset = /datum/equipment_preset/uscm_ship/po - entry_message_body = "Your job is to fly, protect, and maintain the ship's dropship. While you are an officer, your authority is limited to the dropship, where you have authority over the enlisted personnel. If you are not piloting, there is an autopilot fallback for command, but don't leave the dropship without reason." - -// Dropship Roles is both PO and DCC combined to not force people to backtrack -AddTimelock(/datum/job/command/pilot, list( - JOB_DROPSHIP_ROLES = 2 HOURS -)) - -/obj/effect/landmark/start/pilot - name = JOB_PILOT - icon_state = "po_spawn" - job = /datum/job/command/pilot diff --git a/code/game/machinery/ARES/ARES_interface.dm b/code/game/machinery/ARES/ARES_interface.dm index dd99240b2550..6cc7c220fd04 100644 --- a/code/game/machinery/ARES/ARES_interface.dm +++ b/code/game/machinery/ARES/ARES_interface.dm @@ -183,6 +183,17 @@ logged_orders += list(current_order) data["records_requisition"] = logged_orders + var/list/logged_techs = list() + for(var/datum/ares_record/tech/tech_unlock as anything in datacore.records_tech) + var/list/current_tech = list() + current_tech["time"] = tech_unlock.time + current_tech["details"] = tech_unlock.details + current_tech["user"] = tech_unlock.user + current_tech["tier_changer"] = tech_unlock.is_tier + current_tech["ref"] = "\ref[tech_unlock]" + logged_techs += list(current_tech) + data["records_tech"] = logged_techs + var/list/logged_convos = list() var/list/active_convo = list() var/active_ref @@ -203,6 +214,8 @@ data["active_ref"] = active_ref data["conversations"] = logged_convos + data["security_vents"] = link.get_ares_vents() + return data /obj/structure/machinery/computer/ares_console/ui_status(mob/user, datum/ui_state/state) @@ -216,19 +229,19 @@ . = ..() if(.) return - - playsound(src, "keyboard_alt", 15, 1) - var/mob/living/carbon/human/operator = ui.user + var/mob/user = ui.user + var/playsound = TRUE switch (action) if("go_back") if(!last_menu) - return to_chat(operator, SPAN_WARNING("Error, no previous page detected.")) + return to_chat(user, SPAN_WARNING("Error, no previous page detected.")) var/temp_holder = current_menu current_menu = last_menu last_menu = temp_holder if("login") + var/mob/living/carbon/human/operator = user var/obj/item/card/id/idcard = operator.get_active_hand() if(istype(idcard)) authentication = get_ares_access(idcard) @@ -239,7 +252,7 @@ authentication = get_ares_access(idcard) last_login = idcard.registered_name else - to_chat(operator, SPAN_WARNING("You require an ID card to access this terminal!")) + to_chat(user, SPAN_WARNING("You require an ID card to access this terminal!")) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE if(authentication) @@ -247,14 +260,14 @@ current_menu = "main" if("sudo") - var/new_user = tgui_input_text(operator, "Enter Sudo Username", "Sudo User", encode = FALSE) + var/new_user = tgui_input_text(user, "Enter Sudo Username", "Sudo User", encode = FALSE) if(new_user) if(new_user == sudo_holder) last_login = sudo_holder sudo_holder = null return FALSE if(new_user == last_login) - to_chat(operator, SPAN_WARNING("Already remote logged in as this user.")) + to_chat(user, SPAN_WARNING("Already remote logged in as this user.")) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE sudo_holder = last_login @@ -317,6 +330,12 @@ if("page_deleted_1to1") last_menu = current_menu current_menu = "deleted_talks" + if("page_tech") + last_menu = current_menu + current_menu = "tech_log" + if("page_core_sec") + last_menu = current_menu + current_menu = "core_security" // -- Delete Button -- // if("delete_record") @@ -345,6 +364,10 @@ new_title = "[record.title] at [record.time]" new_details = "[record.details] Launched by [record.user]." datacore.records_bombardment -= record + if(ARES_RECORD_TECH) + new_title = "[record.title] at [record.time]" + new_details = record.details + datacore.records_tech -= record new_delete.details = new_details new_delete.user = last_login @@ -370,9 +393,9 @@ datacore.records_talking -= conversation if("message_ares") - var/message = tgui_input_text(operator, "What do you wish to say to ARES?", "ARES Message", encode = FALSE) + var/message = tgui_input_text(user, "What do you wish to say to ARES?", "ARES Message", encode = FALSE) if(message) - message_ares(message, operator, params["active_convo"]) + message_ares(message, user, params["active_convo"]) if("read_record") var/datum/ares_record/deleted_talk/conversation = locate(params["record"]) @@ -385,36 +408,36 @@ // -- Emergency Buttons -- // if("general_quarters") if(!COOLDOWN_FINISHED(datacore, ares_quarters_cooldown)) - to_chat(operator, SPAN_WARNING("It has not been long enough since the last General Quarters call!")) + to_chat(user, SPAN_WARNING("It has not been long enough since the last General Quarters call!")) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE if(GLOB.security_level < SEC_LEVEL_RED) set_security_level(SEC_LEVEL_RED, no_sound = TRUE, announce = FALSE) shipwide_ai_announcement("ATTENTION! GENERAL QUARTERS. ALL HANDS, MAN YOUR BATTLESTATIONS.", MAIN_AI_SYSTEM, 'sound/effects/GQfullcall.ogg') - log_game("[key_name(operator)] has called for general quarters via ARES.") - message_admins("[key_name_admin(operator)] has called for general quarters via ARES.") + log_game("[key_name(user)] has called for general quarters via ARES.") + message_admins("[key_name_admin(user)] has called for general quarters via ARES.") log_ares_security("General Quarters", "[last_login] has called for general quarters via ARES.") COOLDOWN_START(datacore, ares_quarters_cooldown, 10 MINUTES) . = TRUE if("evacuation_start") if(GLOB.security_level < SEC_LEVEL_RED) - to_chat(operator, SPAN_WARNING("The ship must be under red alert in order to enact evacuation procedures.")) + to_chat(user, SPAN_WARNING("The ship must be under red alert in order to enact evacuation procedures.")) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE if(SShijack.evac_admin_denied) - to_chat(operator, SPAN_WARNING("The USCM has placed a lock on deploying the evacuation pods.")) + to_chat(user, SPAN_WARNING("The USCM has placed a lock on deploying the evacuation pods.")) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE if(!SShijack.initiate_evacuation()) - to_chat(operator, SPAN_WARNING("You are unable to initiate an evacuation procedure right now!")) + to_chat(user, SPAN_WARNING("You are unable to initiate an evacuation procedure right now!")) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE - log_game("[key_name(operator)] has called for an emergency evacuation via ARES.") - message_admins("[key_name_admin(operator)] has called for an emergency evacuation via ARES.") + log_game("[key_name(user)] has called for an emergency evacuation via ARES.") + message_admins("[key_name_admin(user)] has called for an emergency evacuation via ARES.") log_ares_security("Initiate Evacuation", "[last_login] has called for an emergency evacuation via ARES.") . = TRUE @@ -422,27 +445,27 @@ if(!SSticker.mode) return FALSE //Not a game mode? if(world.time < DISTRESS_TIME_LOCK) - to_chat(operator, SPAN_WARNING("You have been here for less than six minutes... what could you possibly have done!")) + to_chat(user, SPAN_WARNING("You have been here for less than six minutes... what could you possibly have done!")) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE if(!COOLDOWN_FINISHED(datacore, ares_distress_cooldown)) - to_chat(operator, SPAN_WARNING("The distress launcher is cooling down!")) + to_chat(user, SPAN_WARNING("The distress launcher is cooling down!")) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE if(GLOB.security_level == SEC_LEVEL_DELTA) - to_chat(operator, SPAN_WARNING("The ship is already undergoing self destruct procedures!")) + to_chat(user, SPAN_WARNING("The ship is already undergoing self destruct procedures!")) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE if(GLOB.security_level < SEC_LEVEL_RED) - to_chat(operator, SPAN_WARNING("The ship must be under red alert to launch a distress beacon!")) + to_chat(user, SPAN_WARNING("The ship must be under red alert to launch a distress beacon!")) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE for(var/client/admin in GLOB.admins) if((R_ADMIN|R_MOD) & admin.admin_holder.rights) playsound_client(admin,'sound/effects/sos-morse-code.ogg',10) - SSticker.mode.request_ert(operator, TRUE) - to_chat(operator, SPAN_NOTICE("A distress beacon request has been sent to USCM High Command.")) + SSticker.mode.request_ert(user, TRUE) + to_chat(user, SPAN_NOTICE("A distress beacon request has been sent to USCM High Command.")) COOLDOWN_START(datacore, ares_distress_cooldown, COOLDOWN_COMM_REQUEST) return TRUE @@ -450,28 +473,50 @@ if(!SSticker.mode) return FALSE //Not a game mode? if(world.time < NUCLEAR_TIME_LOCK) - to_chat(operator, SPAN_WARNING("It is too soon to request Nuclear Ordnance!")) + to_chat(user, SPAN_WARNING("It is too soon to request Nuclear Ordnance!")) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE if(!COOLDOWN_FINISHED(datacore, ares_nuclear_cooldown)) - to_chat(operator, SPAN_WARNING("The ordnance request frequency is garbled, wait for reset!")) + to_chat(user, SPAN_WARNING("The ordnance request frequency is garbled, wait for reset!")) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE if(GLOB.security_level == SEC_LEVEL_DELTA || SSticker.mode.is_in_endgame) - to_chat(operator, SPAN_WARNING("The mission has failed catastrophically, what do you want a nuke for?!")) + to_chat(user, SPAN_WARNING("The mission has failed catastrophically, what do you want a nuke for?!")) playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) return FALSE - var/reason = tgui_input_text(operator, "Please enter reason nuclear ordnance is required.", "Reason for Nuclear Ordnance") + var/reason = tgui_input_text(user, "Please enter reason nuclear ordnance is required.", "Reason for Nuclear Ordnance") if(!reason) return FALSE for(var/client/admin in GLOB.admins) if((R_ADMIN|R_MOD) & admin.admin_holder.rights) playsound_client(admin,'sound/effects/sos-morse-code.ogg',10) - message_admins("[key_name(operator)] has requested use of Nuclear Ordnance (via ARES)! Reason: [reason] [CC_MARK(operator)] (APPROVE) (DENY) [ADMIN_JMP_USER(operator)] [CC_REPLY(operator)]") - to_chat(operator, SPAN_NOTICE("A nuclear ordnance request has been sent to USCM High Command for the following reason: [reason]")) + message_admins("[key_name(user)] has requested use of Nuclear Ordnance (via ARES)! Reason: [reason] [CC_MARK(user)] (APPROVE) (DENY) [ADMIN_JMP_USER(user)] [CC_REPLY(user)]") + to_chat(user, SPAN_NOTICE("A nuclear ordnance request has been sent to USCM High Command for the following reason: [reason]")) log_ares_security("Nuclear Ordnance Request", "[last_login] has sent a request for nuclear ordnance for the following reason: [reason]") if(ares_can_interface()) ai_silent_announcement("[last_login] has sent a request for nuclear ordnance to USCM High Command.", ".V") ai_silent_announcement("Reason given: [reason].", ".V") COOLDOWN_START(datacore, ares_nuclear_cooldown, COOLDOWN_COMM_DESTRUCT) return TRUE + + if("trigger_vent") + playsound = FALSE + var/obj/structure/pipes/vents/pump/no_boom/gas/sec_vent = locate(params["vent"]) + if(!istype(sec_vent) || sec_vent.welded) + to_chat(user, SPAN_WARNING("ERROR: Gas release failure.")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + if(!COOLDOWN_FINISHED(sec_vent, vent_trigger_cooldown)) + to_chat(user, SPAN_WARNING("ERROR: Insufficient gas reserve for this vent.")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + to_chat(user, SPAN_WARNING("Initiating gas release from [sec_vent.vent_tag].")) + playsound(src, 'sound/machines/chime.ogg', 15, 1) + COOLDOWN_START(sec_vent, vent_trigger_cooldown, COOLDOWN_ARES_VENT) + ares_apollo_talk("Nerve Gas release imminent from [sec_vent.vent_tag].") + log_ares_security("Nerve Gas Release", "[last_login] released Nerve Gas from Vent '[sec_vent.vent_tag]'.") + sec_vent.create_gas(VENT_GAS_CN20_XENO, 6, 5 SECONDS) + log_admin("[key_name(user)] released nerve gas from Vent '[sec_vent.vent_tag]' via ARES.") + + if(playsound) + playsound(src, "keyboard_alt", 15, 1) diff --git a/code/game/machinery/ARES/ARES_interface_admin.dm b/code/game/machinery/ARES/ARES_interface_admin.dm index e388c0eb453d..586b01a51af9 100644 --- a/code/game/machinery/ARES/ARES_interface_admin.dm +++ b/code/game/machinery/ARES/ARES_interface_admin.dm @@ -160,6 +160,17 @@ logged_orders += list(current_order) data["records_requisition"] = logged_orders + var/list/logged_techs = list() + for(var/datum/ares_record/tech/tech_unlock as anything in datacore.records_tech) + var/list/current_tech = list() + current_tech["time"] = tech_unlock.time + current_tech["details"] = tech_unlock.details + current_tech["user"] = tech_unlock.user + current_tech["tier_changer"] = tech_unlock.is_tier + current_tech["ref"] = "\ref[tech_unlock]" + logged_techs += list(current_tech) + data["records_tech"] = logged_techs + var/list/logged_convos = list() var/list/active_convo = list() var/active_ref @@ -220,6 +231,8 @@ logged_access += list(current_ticket) data["access_tickets"] = logged_access + data["security_vents"] = get_ares_vents() + return data @@ -307,6 +320,12 @@ if("page_deleted_1to1") admin_interface.last_menu = admin_interface.current_menu admin_interface.current_menu = "deleted_talks" + if("page_tech") + admin_interface.last_menu = admin_interface.current_menu + admin_interface.current_menu = "tech_log" + if("page_core_sec") + admin_interface.last_menu = admin_interface.current_menu + admin_interface.current_menu = "core_security" if("page_access_management") admin_interface.last_menu = admin_interface.current_menu admin_interface.current_menu = "access_management" @@ -477,3 +496,21 @@ ares_apollo_talk("Priority [ticket.ticket_type] [ticket.ticket_id] has been [choice] by [MAIN_AI_SYSTEM].") to_chat(user, SPAN_NOTICE("[ticket.ticket_type] [ticket.ticket_id] marked as [choice].")) return TRUE + + if("trigger_vent") + var/obj/structure/pipes/vents/pump/no_boom/gas/sec_vent = locate(params["vent"]) + if(!istype(sec_vent) || sec_vent.welded) + to_chat(user, SPAN_WARNING("ERROR: Gas release failure.")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + if(!COOLDOWN_FINISHED(sec_vent, vent_trigger_cooldown)) + to_chat(user, SPAN_WARNING("ERROR: Insufficient gas reserve for this vent.")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + to_chat(user, SPAN_WARNING("Initiating gas release from [sec_vent.vent_tag].")) + playsound(src, 'sound/machines/chime.ogg', 15, 1) + COOLDOWN_START(sec_vent, vent_trigger_cooldown, COOLDOWN_ARES_VENT) + ares_apollo_talk("Nerve Gas release imminent from [sec_vent.vent_tag].") + log_ares_security("Nerve Gas Release", "[MAIN_AI_SYSTEM] released Nerve Gas from Vent '[sec_vent.vent_tag]'.") + sec_vent.create_gas(VENT_GAS_CN20_XENO, 6, 5 SECONDS) + log_admin("[key_name(user)] released nerve gas from Vent '[sec_vent.vent_tag]' via ARES.") diff --git a/code/game/machinery/ARES/ARES_interface_apollo.dm b/code/game/machinery/ARES/ARES_interface_apollo.dm index c1c936676dc5..48fcad588574 100644 --- a/code/game/machinery/ARES/ARES_interface_apollo.dm +++ b/code/game/machinery/ARES/ARES_interface_apollo.dm @@ -141,6 +141,8 @@ requesting_access += access_ticket.ticket_name data["access_tickets"] = logged_access + data["security_vents"] = link.get_ares_vents() + return data /obj/structure/machinery/computer/working_joe/ui_status(mob/user, datum/ui_state/state) @@ -211,6 +213,9 @@ if("page_maintenance") last_menu = current_menu current_menu = "maint_claim" + if("page_core_gas") + last_menu = current_menu + current_menu = "core_security_gas" if("toggle_sound") notify_sounds = !notify_sounds @@ -413,6 +418,25 @@ playsound_client(id_owner?.client, 'sound/machines/pda_ping.ogg', src, 25, 0) return TRUE + if("trigger_vent") + playsound = FALSE + var/obj/structure/pipes/vents/pump/no_boom/gas/sec_vent = locate(params["vent"]) + if(!istype(sec_vent) || sec_vent.welded) + to_chat(operator, SPAN_WARNING("ERROR: Gas release failure.")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + if(!COOLDOWN_FINISHED(sec_vent, vent_trigger_cooldown)) + to_chat(operator, SPAN_WARNING("ERROR: Insufficient gas reserve for this vent.")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + to_chat(operator, SPAN_WARNING("Initiating gas release from [sec_vent.vent_tag].")) + playsound(src, 'sound/machines/chime.ogg', 15, 1) + COOLDOWN_START(sec_vent, vent_trigger_cooldown, COOLDOWN_ARES_VENT) + ares_apollo_talk("Nerve Gas release imminent from [sec_vent.vent_tag].") + log_ares_security("Nerve Gas Release", "[last_login] released Nerve Gas from Vent '[sec_vent.vent_tag]'.") + sec_vent.create_gas(VENT_GAS_CN20_XENO, 6, 5 SECONDS) + log_admin("[key_name(operator)] released nerve gas from Vent '[sec_vent.vent_tag]' via ARES.") + if(playsound) playsound(src, "keyboard_alt", 15, 1) diff --git a/code/game/machinery/ARES/ARES_procs.dm b/code/game/machinery/ARES/ARES_procs.dm index 90616add6d25..05f110ec1a0c 100644 --- a/code/game/machinery/ARES/ARES_procs.dm +++ b/code/game/machinery/ARES/ARES_procs.dm @@ -29,6 +29,10 @@ GLOBAL_LIST_INIT(maintenance_categories, list( var/datum/ares_datacore/datacore var/list/obj/structure/machinery/computer/working_joe/ticket_computers = list() + /// Linked security gas vents. + var/list/linked_vents = list() + /// The tag number for generated vent labels, if none is manually set. + var/tag_num = 1 /// Working Joe stuff var/list/tickets_maintenance = list() @@ -50,6 +54,23 @@ GLOBAL_LIST_INIT(maintenance_categories, list( alert.delink() ..() +/datum/ares_link/proc/get_ares_vents() + var/list/security_vents = list() + var/datum/ares_link/link = GLOB.ares_link + for(var/obj/structure/pipes/vents/pump/no_boom/gas/vent in link.linked_vents) + if(!vent.vent_tag) + vent.vent_tag = "Security Vent #[link.tag_num]" + link.tag_num++ + + var/list/current_vent = list() + var/is_available = COOLDOWN_FINISHED(vent, vent_trigger_cooldown) + current_vent["vent_tag"] = vent.vent_tag + current_vent["ref"] = "\ref[vent]" + current_vent["available"] = is_available + security_vents += list(current_vent) + return security_vents + + /* BELOW ARE IN AdminAres.dm /datum/ares_link/tgui_interact(mob/user, datum/tgui/ui) /datum/ares_link/ui_data(mob/user) @@ -80,6 +101,8 @@ GLOBAL_LIST_INIT(maintenance_categories, list( var/list/records_security = list() /// Holds all (/datum/ares_record/flight)s var/list/records_flight = list() + /// Holds all (/datum/ares_record/tech)s + var/list/records_tech = list() /// Is nuke request usable or not? var/nuke_available = TRUE @@ -142,11 +165,11 @@ GLOBAL_LIST_INIT(maintenance_categories, list( var/datum/ares_datacore/datacore = GLOB.ares_datacore datacore.records_bioscan.Add(new /datum/ares_record/bioscan(title, input)) -/proc/log_ares_bombardment(user_name, ob_name, coordinates) +/proc/log_ares_bombardment(user_name, ob_name, message) if(!ares_can_log()) return FALSE var/datum/ares_datacore/datacore = GLOB.ares_datacore - datacore.records_bombardment.Add(new /datum/ares_record/bombardment(ob_name, "Bombardment fired at [coordinates].", user_name)) + datacore.records_bombardment.Add(new /datum/ares_record/bombardment(ob_name, message, user_name)) /proc/log_ares_announcement(title, message) if(!ares_can_log()) @@ -177,6 +200,16 @@ GLOBAL_LIST_INIT(maintenance_categories, list( return FALSE var/datum/ares_datacore/datacore = GLOB.ares_datacore datacore.records_flight.Add(new /datum/ares_record/flight(details, user_name)) + +/proc/log_ares_tech(user_name, tier_tech = FALSE, title, details, point_cost, current_points) + if(!ares_can_log()) + return FALSE + var/new_details = "[title] - [details]" + if(point_cost) + new_details += " - Used [point_cost] INT of [current_points]." + var/datum/ares_datacore/datacore = GLOB.ares_datacore + datacore.records_tech.Add(new /datum/ares_record/tech(title, new_details, user_name, tier_tech)) + // ------ End ARES Logging Procs ------ // // ------ ARES Interface Procs ------ // diff --git a/code/game/machinery/ARES/ARES_records.dm b/code/game/machinery/ARES/ARES_records.dm index e8dc11fa3995..5bfe50dce068 100644 --- a/code/game/machinery/ARES/ARES_records.dm +++ b/code/game/machinery/ARES/ARES_records.dm @@ -58,6 +58,18 @@ src.details = details src.user = user +/datum/ares_record/tech + record_name = ARES_RECORD_TECH + /// If this tech unlock changed the tier. + var/is_tier = FALSE + +/datum/ares_record/tech/New(title, details, user, tier_tech) + time = worldtime2text() + src.title = title + src.details = details + src.user = user + is_tier = tier_tech + /datum/ares_record/deletion record_name = ARES_RECORD_DELETED diff --git a/code/game/machinery/ARES/apollo_pda.dm b/code/game/machinery/ARES/apollo_pda.dm index 69e774cf0da3..e447bb6f7ee7 100644 --- a/code/game/machinery/ARES/apollo_pda.dm +++ b/code/game/machinery/ARES/apollo_pda.dm @@ -166,6 +166,8 @@ requesting_access += access_ticket.ticket_name data["access_tickets"] = logged_access + data["security_vents"] = link.get_ares_vents() + return data /obj/item/device/working_joe_pda/ui_status(mob/user, datum/ui_state/state) @@ -237,6 +239,9 @@ if("page_maintenance") last_menu = current_menu current_menu = "maint_claim" + if("page_core_gas") + last_menu = current_menu + current_menu = "core_security_gas" if("toggle_sound") notify_sounds = !notify_sounds @@ -439,6 +444,25 @@ playsound_client(id_owner?.client, 'sound/machines/pda_ping.ogg', src, 25, 0) return TRUE + if("trigger_vent") + playsound = FALSE + var/obj/structure/pipes/vents/pump/no_boom/gas/sec_vent = locate(params["vent"]) + if(!istype(sec_vent) || sec_vent.welded) + to_chat(operator, SPAN_WARNING("ERROR: Gas release failure.")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + if(!COOLDOWN_FINISHED(sec_vent, vent_trigger_cooldown)) + to_chat(operator, SPAN_WARNING("ERROR: Insufficient gas reserve for this vent.")) + playsound(src, 'sound/machines/buzz-two.ogg', 15, 1) + return FALSE + to_chat(operator, SPAN_WARNING("Initiating gas release from [sec_vent.vent_tag].")) + playsound(src, 'sound/machines/chime.ogg', 15, 1) + COOLDOWN_START(sec_vent, vent_trigger_cooldown, COOLDOWN_ARES_VENT) + ares_apollo_talk("Nerve Gas release imminent from [sec_vent.vent_tag].") + log_ares_security("Nerve Gas Release", "[last_login] released Nerve Gas from Vent '[sec_vent.vent_tag]'.") + sec_vent.create_gas(VENT_GAS_CN20_XENO, 6, 5 SECONDS) + log_admin("[key_name(operator)] released nerve gas from Vent '[sec_vent.vent_tag]' via ARES.") + if(playsound) var/sound = pick('sound/machines/pda_button1.ogg', 'sound/machines/pda_button2.ogg') playsound(src, sound, 15, TRUE) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index cf7a0a6bc1a8..97a25bf7d20a 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -79,7 +79,7 @@ recipe.resources[material] = I.matter[material] //Doesn't take more if it's just a sheet or something. Get what you put in. else recipe.resources[material] = round(I.matter[material]*1.25) // More expensive to produce than they are to recycle. - qdel(I) + QDEL_NULL(I) //Create parts for lathe. for(var/component in components) diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm index 46050d2705b3..1f82d28dbbf8 100644 --- a/code/game/machinery/bots/bots.dm +++ b/code/game/machinery/bots/bots.dm @@ -84,9 +84,9 @@ if(hasvar(W,"force") && hasvar(W,"damtype")) switch(W.damtype) if("fire") - src.health -= W.force * fire_dam_coeff + health -= W.force * W.demolition_mod * fire_dam_coeff if("brute") - src.health -= W.force * brute_dam_coeff + health -= W.force * W.demolition_mod * brute_dam_coeff ..() healthcheck() else diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index d8919967dd65..948d83e76148 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -10,7 +10,6 @@ var/list/network = list(CAMERA_NET_MILITARY) var/c_tag = null - var/c_tag_order = 999 var/status = 1 anchored = TRUE var/panel_open = FALSE // 0 = Closed / 1 = Open @@ -70,7 +69,7 @@ GLOBAL_LIST_EMPTY_TYPED(all_cameras, /obj/structure/machinery/camera) var/area/my_area = get_area(src) if(my_area) for(var/obj/structure/machinery/camera/autoname/current_camera in GLOB.machines) - if(current_camera == src) + if(current_camera == src) continue var/area/current_camera_area = get_area(current_camera) if(current_camera_area.type != my_area.type) @@ -300,6 +299,22 @@ GLOBAL_LIST_EMPTY_TYPED(all_cameras, /obj/structure/machinery/camera) return 1 return 0 +/obj/structure/machinery/camera/correspondent + network = list(CAMERA_NET_CORRESPONDENT) + invisibility = INVISIBILITY_ABSTRACT + invuln = TRUE + unslashable = TRUE + unacidable = TRUE + colony_camera_mapload = FALSE + var/obj/item/device/camera/broadcasting/linked_broadcasting + +/obj/structure/machinery/camera/correspondent/Initialize(mapload, obj/item/device/camera/broadcasting/camera_item) + . = ..() + if(!camera_item) + return INITIALIZE_HINT_QDEL + c_tag = camera_item.get_broadcast_name() + linked_broadcasting = camera_item + /obj/structure/machinery/camera/mortar alpha = 0 mouse_opacity = MOUSE_OPACITY_TRANSPARENT diff --git a/code/game/machinery/camera/presets.dm b/code/game/machinery/camera/presets.dm index 103e3f709afe..a1d7f00cf94a 100644 --- a/code/game/machinery/camera/presets.dm +++ b/code/game/machinery/camera/presets.dm @@ -97,7 +97,7 @@ /obj/structure/machinery/camera/autoname/almayer/containment/ares name = "ares core camera" - network = list(CAMERA_NET_ALMAYER, CAMERA_NET_ARES) + network = list(CAMERA_NET_ARES) //used by the landing camera dropship equipment. Do not place them right under where the dropship lands. //Should place them near each corner of your LZs. diff --git a/code/game/machinery/colony_floodlights.dm b/code/game/machinery/colony_floodlights.dm index 13478381e38e..0267c7e95487 100644 --- a/code/game/machinery/colony_floodlights.dm +++ b/code/game/machinery/colony_floodlights.dm @@ -281,6 +281,27 @@ else if(!is_lit) . += SPAN_INFO("It doesn't seem powered.") +/obj/structure/machinery/colony_floodlight/ex_act(severity) + switch(severity) + if(0 to EXPLOSION_THRESHOLD_LOW) + if(prob(25)) + set_damaged() + return + if(EXPLOSION_THRESHOLD_LOW to EXPLOSION_THRESHOLD_MEDIUM) + if(prob(50)) + set_damaged() + return + if(EXPLOSION_THRESHOLD_MEDIUM to INFINITY) + set_damaged() + return + +/obj/structure/machinery/colony_floodlight/proc/set_damaged() + playsound(src, "glassbreak", 70, 1) + damaged = TRUE + if(is_lit) + set_light(0) + update_icon() + /obj/structure/machinery/colony_floodlight/proc/toggle_light() is_lit = !is_lit if(!damaged) diff --git a/code/game/machinery/computer/camera_console.dm b/code/game/machinery/computer/camera_console.dm index f36719a8453e..cd0ee780f478 100644 --- a/code/game/machinery/computer/camera_console.dm +++ b/code/game/machinery/computer/camera_console.dm @@ -202,10 +202,48 @@ name = "Ship Security Cameras" network = list(CAMERA_NET_ALMAYER) -/obj/structure/machinery/computer/cameras/wooden_tv/prop +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast name = "Television Set" desc = "An old TV hooked up to a video cassette recorder, you can even use it to time shift WOW." - network = null + network = list(CAMERA_NET_CORRESPONDENT) + var/obj/item/device/camera/broadcasting/broadcastingcamera = null + +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast/Destroy() + broadcastingcamera = null + return ..() + +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast/ui_state(mob/user) + return GLOB.default_state + +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast/ui_act(action, params) + . = ..() + if(action != "switch_camera") + return + broadcastingcamera = null + if (!istype(current, /obj/structure/machinery/camera/correspondent)) + return + var/obj/structure/machinery/camera/correspondent/corr_cam = current + if (!corr_cam.linked_broadcasting) + return + broadcastingcamera = corr_cam.linked_broadcasting + RegisterSignal(broadcastingcamera, COMSIG_BROADCAST_GO_LIVE, PROC_REF(go_back_live)) + RegisterSignal(broadcastingcamera, COMSIG_PARENT_QDELETING, PROC_REF(clear_camera)) + +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast/ui_close(mob/user) + . = ..() + if (!current && broadcastingcamera) + clear_camera() + +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast/proc/clear_camera() + SIGNAL_HANDLER + UnregisterSignal(broadcastingcamera, list(COMSIG_BROADCAST_GO_LIVE, COMSIG_PARENT_QDELETING)) + broadcastingcamera = null + +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast/proc/go_back_live(obj/item/device/camera/broadcasting/broadcastingcamera) + SIGNAL_HANDLER + if (current.c_tag == broadcastingcamera.get_broadcast_name()) + current = broadcastingcamera.linked_cam + SEND_SIGNAL(src, COMSIG_CAMERA_SET_TARGET, broadcastingcamera.linked_cam, broadcastingcamera.linked_cam.view_range, broadcastingcamera.linked_cam.view_range) /obj/structure/machinery/computer/cameras/wooden_tv/ot name = "Mortar Monitoring Set" diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index afcc9686cff5..5a328386c95d 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -1,4 +1,8 @@ #define HEAT_CAPACITY_HUMAN 100 //249840 J/K, for a 72 kg person. +#define DEATH_STAGE_NONE 0 +#define DEATH_STAGE_EARLY 1 +#define DEATH_STAGE_WARNING 2 +#define DEATH_STAGE_CRITICAL 3 /obj/structure/machinery/cryo_cell name = "cryo cell" @@ -19,6 +23,7 @@ var/mob/living/carbon/occupant = null var/obj/item/reagent_container/glass/beaker = null + var/occupant_death_stage = DEATH_STAGE_NONE /obj/structure/machinery/cryo_cell/Initialize() . = ..() @@ -28,19 +33,18 @@ QDEL_NULL(beaker) . = ..() - /obj/structure/machinery/cryo_cell/process() if(!on) updateUsrDialog() return if(occupant) - if(occupant.stat != DEAD) - process_occupant() - else + var/mob/living/carbon/human/human_occupant = occupant + if(occupant.stat == DEAD && (!istype(human_occupant) || human_occupant.undefibbable)) go_out(TRUE, TRUE) //Whether auto-eject is on or not, we don't permit literal deadbeats to hang around. - playsound(src.loc, 'sound/machines/ping.ogg', 25, 1) - visible_message("[icon2html(src, viewers(src))] [SPAN_WARNING("\The [src] pings: Patient is dead!")]") + display_message("Patient is dead!", warning = TRUE) + else + process_occupant() updateUsrDialog() return TRUE @@ -116,13 +120,14 @@ data["beakerContents"] = beakerContents return data -/obj/structure/machinery/cryo_cell/ui_act(action, list/params) +/obj/structure/machinery/cryo_cell/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return switch(action) if("power") on = !on + update_use_power(on ? USE_POWER_ACTIVE : USE_POWER_IDLE) update_icon() . = TRUE if("eject") @@ -143,7 +148,8 @@ if("notice") release_notice = !release_notice . = TRUE - updateUsrDialog() + + updateUsrDialog(ui.user) /obj/structure/machinery/cryo_cell/attackby(obj/item/W, mob/living/user) if(istype(W, /obj/item/reagent_container/glass)) @@ -158,34 +164,59 @@ beaker = W var/reagentnames = "" - for(var/datum/reagent/R in beaker.reagents.reagent_list) - reagentnames += ";[R.name]" + for(var/datum/reagent/cur_reagent in beaker.reagents.reagent_list) + reagentnames += ";[cur_reagent.name]" - msg_admin_niche("[key_name(user)] put \a [beaker] into \the [src], containing [reagentnames] at ([src.loc.x],[src.loc.y],[src.loc.z]) [ADMIN_JMP(src.loc)].", 1) + msg_admin_niche("[key_name(user)] put \a [beaker] into [src], containing [reagentnames] at ([src.loc.x],[src.loc.y],[src.loc.z]) [ADMIN_JMP(src.loc)].", 1) if(user.drop_inv_item_to_loc(W, src)) - user.visible_message("[user] adds \a [W] to \the [src]!", "You add \a [W] to \the [src]!") + user.visible_message("[user] adds \a [W] to [src]!", "You add \a [W] to [src]!") else if(istype(W, /obj/item/grab)) - if(isxeno(user)) return - var/obj/item/grab/G = W - if(!ismob(G.grabbed_thing)) + if(isxeno(user)) + return + var/obj/item/grab/grabber = W + if(!ismob(grabber.grabbed_thing)) return - var/mob/M = G.grabbed_thing - put_mob(M) + var/mob/grabbed_mob = grabber.grabbed_thing + put_mob(grabbed_mob) - updateUsrDialog() + updateUsrDialog(user) +/obj/structure/machinery/cryo_cell/power_change(area/master_area) + . = ..() + if((occupant || on) && operable()) + update_use_power(USE_POWER_ACTIVE) + update_icon() /obj/structure/machinery/cryo_cell/update_icon() icon_state = initial(icon_state) - icon_state = "[icon_state]-[on ? "on" : "off"]-[occupant ? "occupied" : "empty"]" + var/is_on = on && operable() + icon_state = "[icon_state]-[is_on ? "on" : "off"]-[occupant ? "occupied" : "empty"]" /obj/structure/machinery/cryo_cell/proc/process_occupant() - if(occupant) - if(occupant.stat == DEAD) - return - occupant.bodytemperature += 2*(temperature - occupant.bodytemperature) - occupant.bodytemperature = max(occupant.bodytemperature, temperature) // this is so ugly i'm sorry for doing it i'll fix it later i promise + if(!occupant) + return + if(!operable()) + return + + occupant.bodytemperature += 2*(temperature - occupant.bodytemperature) + occupant.bodytemperature = max(occupant.bodytemperature, temperature) // this is so ugly i'm sorry for doing it i'll fix it later i promise + + // Warnings if dead + if(occupant.stat == DEAD && ishuman(occupant)) + var/mob/living/carbon/human/human_occupant = occupant + var/old_state = occupant_death_stage + if(world.time > occupant.timeofdeath + human_occupant.revive_grace_period - 1 MINUTES) + occupant_death_stage = DEATH_STAGE_CRITICAL + else if(world.time > occupant.timeofdeath + human_occupant.revive_grace_period - 2.5 MINUTES) + occupant_death_stage = DEATH_STAGE_WARNING + else + occupant_death_stage = DEATH_STAGE_EARLY + if(old_state != occupant_death_stage) + display_message("Patient is critical!", warning = TRUE) + + // Passive healing if alive and cold enough + if(occupant.stat != DEAD) occupant.recalculate_move_delay = TRUE occupant.set_stat(UNCONSCIOUS) if(occupant.bodytemperature < T0C) @@ -202,22 +233,39 @@ var/heal_brute = occupant.getBruteLoss() ? min(1, 20/occupant.getBruteLoss()) : 0 var/heal_fire = occupant.getFireLoss() ? min(1, 20/occupant.getFireLoss()) : 0 occupant.heal_limb_damage(heal_brute,heal_fire) - var/has_cryo = occupant.reagents.get_reagent_amount("cryoxadone") >= 1 - var/has_clonexa = occupant.reagents.get_reagent_amount("clonexadone") >= 1 - var/has_cryo_medicine = has_cryo || has_clonexa - if(beaker && !has_cryo_medicine) - beaker.reagents.trans_to(occupant, 1, 10) - beaker.reagents.reaction(occupant) - if(!occupant.getBruteLoss(TRUE) && !occupant.getFireLoss(TRUE) && !occupant.getCloneLoss() && autoeject) //release the patient automatically when brute and burn are handled on non-robotic limbs - display_message("external wounds are") + + // Chemical healing if cryo meds are involved + if(beaker && occupant.reagents && beaker.reagents) + var/occupant_has_cryo_meds = occupant.reagents.get_reagent_amount("cryoxadone") >= 1 || occupant.reagents.get_reagent_amount("clonexadone") >= 1 + var/beaker_has_cryo_meds = beaker.reagents.get_reagent_amount("cryoxadone") >= 1 || beaker.reagents.get_reagent_amount("clonexadone") >= 1 + + // To administer, either the occupant has cryo meds and the beaker doesn't or vice versa (not both) + var/can_administer = (occupant_has_cryo_meds ^ beaker_has_cryo_meds) && length(beaker.reagents.reagent_list) + if(can_administer && occupant_has_cryo_meds) + // If its the case of the occupant has cryo meds and not the beaker, we need to pace out the dosage + // So lets make sure they don't already have some of the beaker drugs + for(var/datum/reagent/cur_beaker_reagent in beaker.reagents.reagent_list) + for(var/datum/reagent/cur_occupant_reagent in occupant.reagents.reagent_list) + if(cur_beaker_reagent.id == cur_occupant_reagent.id) + can_administer = FALSE + break + + if(can_administer) + beaker.reagents.trans_to(occupant, 5) + beaker.reagents.reaction(occupant, permeable_in_mobs = FALSE) + + if(autoeject) + //release the patient automatically when brute and burn are handled on non-robotic limbs + if(!occupant.getBruteLoss(TRUE) && !occupant.getFireLoss(TRUE) && !occupant.getCloneLoss()) + display_message("Patient's external wounds are healed.") go_out(TRUE) return - if(occupant.health >= 100 && autoeject) - display_message("external wounds are") + if(occupant.health >= occupant.maxHealth) + display_message("Patient's external wounds are healed.") go_out(TRUE) return -/obj/structure/machinery/cryo_cell/proc/go_out(auto_eject = null, dead = null) +/obj/structure/machinery/cryo_cell/proc/go_out(auto_eject = FALSE, dead = FALSE) if(!(occupant)) return if(occupant.client) @@ -235,66 +283,72 @@ if(occupant.bodytemperature < 261 && occupant.bodytemperature >= 70) occupant.bodytemperature = 261 occupant.recalculate_move_delay = TRUE - occupant = null if(auto_eject) //Turn off and announce if auto-ejected because patient is recovered or dead. on = FALSE if(release_notice) //If auto-release notices are on as it should be, let the doctors know what's up - playsound(src.loc, 'sound/machines/ping.ogg', 100, 14) - var/reason = "Reason for release: Patient recovery." + var/reason = "Reason for release: Patient recovery." if(dead) - reason = "Reason for release: Patient death." - ai_silent_announcement("Patient [occupant] has been automatically released from \the [src] at: [get_area(occupant)]. [reason]", MED_FREQ) + reason = "Reason for release: Patient death." + ai_silent_announcement("Patient [occupant] has been automatically released from [src] at: [sanitize_area((get_area(occupant))?.name)]. [reason]", ":m") + occupant = null update_use_power(USE_POWER_IDLE) update_icon() return -/obj/structure/machinery/cryo_cell/proc/put_mob(mob/living/carbon/M as mob) +/obj/structure/machinery/cryo_cell/proc/put_mob(mob/living/carbon/cur_mob) if(inoperable()) to_chat(usr, SPAN_DANGER("The cryo cell is not functioning.")) return - if(!istype(M) || isxeno(M)) - to_chat(usr, SPAN_DANGER("The cryo cell cannot handle such a lifeform!")) + if(!istype(cur_mob) || isxeno(cur_mob)) + to_chat(usr, SPAN_DANGER("The cryo cell cannot handle such a lifeform!")) return if(occupant) - to_chat(usr, SPAN_DANGER("The cryo cell is already occupied!")) + to_chat(usr, SPAN_DANGER("The cryo cell is already occupied!")) return - if(M.abiotic()) + if(cur_mob.abiotic()) to_chat(usr, SPAN_DANGER("Subject may not have abiotic items on.")) return - if(do_after(usr, 20, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC)) - to_chat(usr, SPAN_NOTICE("You move [M.name] inside the cryo cell.")) - M.forceMove(src) - if(M.health >= -100 && (M.health <= 0 || M.sleeping)) - to_chat(M, SPAN_NOTICE("You feel cold liquid surround you. Your skin starts to freeze up.")) - occupant = M + if(do_after(usr, 2 SECONDS, INTERRUPT_NO_NEEDHAND, BUSY_ICON_GENERIC)) + visible_message(SPAN_NOTICE("[usr] moves [usr == cur_mob ? "" : "[cur_mob] "]inside the cryo cell.")) + cur_mob.forceMove(src) + if(cur_mob.health >= HEALTH_THRESHOLD_DEAD && (cur_mob.health <= 0 || cur_mob.sleeping)) + to_chat(cur_mob, SPAN_NOTICE("You feel cold liquid surround you. Your skin starts to freeze up.")) + occupant = cur_mob + occupant_death_stage = DEATH_STAGE_NONE update_use_power(USE_POWER_ACTIVE) update_icon() return TRUE -/obj/structure/machinery/cryo_cell/proc/display_message(msg) - playsound(src.loc, 'sound/machines/ping.ogg', 25, 1) - visible_message("[icon2html(src, viewers(src))] [SPAN_NOTICE("\The [src] pings: Patient's " + msg + " healed.")]") +/obj/structure/machinery/cryo_cell/proc/display_message(msg, silent = FALSE, warning = FALSE) + if(!silent) + if(warning) + playsound(loc, 'sound/machines/twobeep.ogg', 40) + else + playsound(loc, 'sound/machines/ping.ogg', 25, 1) + visible_message("[icon2html(src, viewers(src))] [SPAN_NOTICE("[src] [warning ? "beeps" : "pings"]: [msg]")]") /obj/structure/machinery/cryo_cell/verb/move_eject() set name = "Eject occupant" set category = "Object" set src in oview(1) if(usr == occupant)//If the user is inside the tube... - if(usr.stat == 2)//and he's not dead.... + if(usr.stat == DEAD)//and he's not dead.... return - if(alert(usr, "Would you like to activate the ejection sequence of the cryo cell? Healing may be in progress.", "Confirm", "Yes", "No") == "Yes") + if(tgui_alert(usr, "Would you like to activate the ejection sequence of the cryo cell? Healing may be in progress.", "Confirm", list("Yes", "No")) == "Yes") to_chat(usr, SPAN_NOTICE("Cryo cell release sequence activated. This will take thirty seconds.")) - visible_message(SPAN_WARNING ("The cryo cell's tank starts draining as its ejection lights blare!")) - sleep(300) - if(!src || !usr || !occupant || (occupant != usr)) //Check if someone's released/replaced/bombed him already - return - go_out()//and release him from the eternal prison. - else - if(usr.stat != 0) - return - go_out() - return + visible_message(SPAN_WARNING("The cryo cell's tank starts draining as its ejection lights blare!")) + addtimer(CALLBACK(src, PROC_REF(finish_eject), usr), 30 SECONDS, TIMER_UNIQUE|TIMER_NO_HASH_WAIT) + else + if(usr.stat != CONSCIOUS) + return + go_out() + +/obj/structure/machinery/cryo_cell/proc/finish_eject(mob/original) + //Check if someone's released/replaced/bombed him already + if(QDELETED(src) || QDELETED(original) || !occupant || occupant != original) + return + go_out()//and release him from the eternal prison. /obj/structure/machinery/cryo_cell/verb/move_inside() set name = "Move Inside" @@ -309,8 +363,8 @@ //clickdrag code - "resist to get out" code is in living_verbs.dm /obj/structure/machinery/cryo_cell/MouseDrop_T(mob/target, mob/user) . = ..() - var/mob/living/H = user - if(!istype(H) || target != user) //cant make others get in. grab-click for this + var/mob/living/living_mob = user + if(!istype(living_mob) || target != user) //cant make others get in. grab-click for this return put_mob(target) @@ -324,3 +378,8 @@ /datum/data/function/proc/display() return + +#undef DEATH_STAGE_NONE +#undef DEATH_STAGE_EARLY +#undef DEATH_STAGE_WARNING +#undef DEATH_STAGE_CRITICAL diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 69c2c897e276..1793b87c72ae 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -342,6 +342,7 @@ GLOBAL_LIST_INIT(frozen_items, list(SQUAD_MARINE_1 = list(), SQUAD_MARINE_2 = li set_name = "Scout Set" if(SKILL_SPEC_SNIPER) set_name = "Sniper Set" + GLOB.available_specialist_sets += "Anti-materiel Sniper Set" if(set_name && !GLOB.available_specialist_sets.Find(set_name)) GLOB.available_specialist_sets += set_name diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index 687882d9d7ae..7907c9f28985 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -51,11 +51,11 @@ else switch(W.damtype) if("fire") - src.health -= W.force * 0.75 + health -= W.force * W.demolition_mod * 0.75 if("brute") - src.health -= W.force * 0.5 - if (src.health <= 0) - src.explode() + health -= W.force * W.demolition_mod * 0.5 + if (health <= 0) + explode() ..() /obj/structure/machinery/deployable/barrier/ex_act(severity) diff --git a/code/game/machinery/doors/multi_tile.dm b/code/game/machinery/doors/multi_tile.dm index 0de099801b49..1e7fcbf40155 100644 --- a/code/game/machinery/doors/multi_tile.dm +++ b/code/game/machinery/doors/multi_tile.dm @@ -262,14 +262,14 @@ var/datum/door_controller/single/control = linked_dropship.door_control.door_controllers[direction] if (control.status != SHUTTLE_DOOR_BROKEN) return ..() - if(!skillcheck(user, SKILL_ENGINEER, SKILL_ENGINEER_ENGI)) + if(!skillcheck(user, SKILL_ENGINEER, SKILL_ENGINEER_ENGI) && !skillcheck(user, SKILL_PILOT, SKILL_PILOT_TRAINED)) to_chat(user, SPAN_WARNING("You don't seem to understand how to restore a remote connection to [src].")) return if(user.action_busy) return to_chat(user, SPAN_WARNING("You begin to restore the remote connection to [src].")) - if(!do_after(user, 5 SECONDS, INTERRUPT_ALL, BUSY_ICON_BUILD)) + if(!do_after(user, (skillcheck(user, SKILL_ENGINEER, SKILL_ENGINEER_ENGI) ? 5 SECONDS : 8 SECONDS), INTERRUPT_ALL, BUSY_ICON_BUILD)) to_chat(user, SPAN_WARNING("You fail to restore a remote connection to [src].")) return unlock(TRUE) diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm deleted file mode 100644 index df6be1a44b14..000000000000 --- a/code/game/machinery/doors/poddoor.dm +++ /dev/null @@ -1,341 +0,0 @@ - -/obj/structure/machinery/door/poddoor - name = "\improper Podlock" - desc = "That looks like it doesn't open easily." - icon = 'icons/obj/structures/doors/rapid_pdoor.dmi' - icon_state = "pdoor1" - var/base_icon_state = "pdoor" - id = 1 - dir = NORTH - unslashable = TRUE - health = 0 - layer = PODDOOR_CLOSED_LAYER - open_layer = PODDOOR_OPEN_LAYER - closed_layer = PODDOOR_CLOSED_LAYER - -/obj/structure/machinery/door/poddoor/Initialize() - . = ..() - if(density) - set_opacity(1) - else - set_opacity(0) - update_icon() - -/obj/structure/machinery/door/poddoor/update_icon() - if(density) - icon_state = "[base_icon_state]1" - else - icon_state = "[base_icon_state]0" - -/obj/structure/machinery/door/poddoor/Collided(atom/movable/AM) - if(!density) - return ..() - else - return 0 - -/obj/structure/machinery/door/poddoor/attackby(obj/item/W, mob/user) - add_fingerprint(user) - if(!W.pry_capable) - return - if(density && (stat & NOPOWER) && !operating && !unacidable) - spawn(0) - operating = 1 - flick("[base_icon_state]c0", src) - icon_state = "[base_icon_state]0" - set_opacity(0) - sleep(15) - density = FALSE - operating = 0 - -/obj/structure/machinery/door/poddoor/attack_alien(mob/living/carbon/xenomorph/X) - if((stat & NOPOWER) && density && !operating && !unacidable) - INVOKE_ASYNC(src, PROC_REF(pry_open), X) - return XENO_ATTACK_ACTION - -/obj/structure/machinery/door/poddoor/proc/pry_open(mob/living/carbon/xenomorph/X, time = 4 SECONDS) - X.visible_message(SPAN_DANGER("[X] begins prying [src] open."),\ - SPAN_XENONOTICE("You start prying [src] open."), max_distance = 3) - - playsound(loc, 'sound/effects/metal_creaking.ogg', 25, TRUE) - - if(!do_after(X, time, INTERRUPT_ALL, BUSY_ICON_HOSTILE, src, INTERRUPT_ALL)) - to_chat(X, "You stop prying [src] open.") - return - - X.visible_message(SPAN_DANGER("[X] pries open [src]."), \ - SPAN_XENONOTICE("You pry open [src]."), max_distance = 3) - - open() - return TRUE - - -/obj/structure/machinery/door/poddoor/try_to_activate_door(mob/user) - return - -/obj/structure/machinery/door/poddoor/open() - if(operating) //doors can still open when emag-disabled - return - - if(!opacity) - return TRUE - - operating = TRUE - - playsound(loc, 'sound/machines/blastdoor.ogg', 20, 0) - flick("[base_icon_state]c0", src) - icon_state = "[base_icon_state]0" - set_opacity(0) - - addtimer(CALLBACK(src, PROC_REF(finish_open)), openspeed) - return TRUE - -/obj/structure/machinery/door/poddoor/close() - if(operating) - return - if(opacity == initial(opacity)) - return - - operating = TRUE - playsound(loc, 'sound/machines/blastdoor.ogg', 20, 0) - - layer = closed_layer - flick("[base_icon_state]c1", src) - icon_state = "[base_icon_state]1" - density = TRUE - set_opacity(initial(opacity)) - - addtimer(CALLBACK(src, PROC_REF(finish_close)), openspeed) - return - -/obj/structure/machinery/door/poddoor/finish_close() - operating = FALSE - -/obj/structure/machinery/door/poddoor/two_tile/open() - if(operating) //doors can still open when emag-disabled - return - - operating = TRUE - start_opening() - - addtimer(CALLBACK(src, PROC_REF(open_fully)), openspeed) - return TRUE - -/obj/structure/machinery/door/poddoor/two_tile/proc/start_opening() - flick("[base_icon_state]c0", src) - icon_state = "[base_icon_state]0" - set_opacity(0) - f1.set_opacity(0) - f2.set_opacity(0) - -/obj/structure/machinery/door/poddoor/two_tile/four_tile/start_opening() - f3.set_opacity(0) - f4.set_opacity(0) - ..() - -/obj/structure/machinery/door/poddoor/two_tile/proc/open_fully() - density = FALSE - f1.density = FALSE - f2.density = FALSE - - if(operating == 1) //emag again - operating = 0 - if(autoclose) - addtimer(CALLBACK(src, PROC_REF(autoclose)), 15 SECONDS) - -/obj/structure/machinery/door/poddoor/two_tile/four_tile/open_fully() - f3.density = FALSE - f4.density = FALSE - ..() - -/obj/structure/machinery/door/poddoor/two_tile/close() - if(operating) - return - start_closing() - addtimer(CALLBACK(src, PROC_REF(close_fully)), openspeed) - return - -/obj/structure/machinery/door/poddoor/two_tile/proc/start_closing() - operating = 1 - flick("[base_icon_state]c1", src) - icon_state = "[base_icon_state]1" - - density = TRUE - f1.density = TRUE - f2.density = TRUE - -/obj/structure/machinery/door/poddoor/two_tile/four_tile/start_closing() - f3.density = TRUE - f4.density = TRUE - ..() - -/obj/structure/machinery/door/poddoor/two_tile/proc/close_fully() - set_opacity(initial(opacity)) - f1.set_opacity(initial(opacity)) - f2.set_opacity(initial(opacity)) - operating = 0 - -/obj/structure/machinery/door/poddoor/two_tile/four_tile/close_fully() - f3.set_opacity(initial(opacity)) - f4.set_opacity(initial(opacity)) - ..() - -/obj/structure/machinery/door/poddoor/two_tile - dir = EAST - icon = 'icons/obj/structures/doors/1x2blast_hor.dmi' - var/obj/structure/machinery/door/poddoor/filler_object/f1 - var/obj/structure/machinery/door/poddoor/filler_object/f2 - -/obj/structure/machinery/door/poddoor/two_tile/opened - density = FALSE - -/obj/structure/machinery/door/poddoor/two_tile/Initialize() - . = ..() - f1 = new/obj/structure/machinery/door/poddoor/filler_object (loc) - f2 = new/obj/structure/machinery/door/poddoor/filler_object (get_step(src,dir)) - f1.density = density - f2.density = density - f1.set_opacity(opacity) - f2.set_opacity(opacity) - -/obj/structure/machinery/door/poddoor/two_tile/Destroy() - QDEL_NULL(f1) - QDEL_NULL(f2) - return ..() - -/obj/structure/machinery/door/poddoor/two_tile/vertical - dir = NORTH - icon = 'icons/obj/structures/doors/1x2blast_vert.dmi' - -/obj/structure/machinery/door/poddoor/two_tile/vertical/open - density = FALSE - -/obj/structure/machinery/door/poddoor/two_tile/four_tile - icon = 'icons/obj/structures/doors/1x4blast_hor.dmi' - var/obj/structure/machinery/door/poddoor/filler_object/f3 - var/obj/structure/machinery/door/poddoor/filler_object/f4 - -/obj/structure/machinery/door/poddoor/two_tile/four_tile/open - density = FALSE - -/obj/structure/machinery/door/poddoor/two_tile/four_tile/Initialize() - . = ..() - f3 = new/obj/structure/machinery/door/poddoor/filler_object (get_step(f2,dir)) - f4 = new/obj/structure/machinery/door/poddoor/filler_object (get_step(f3,dir)) - f3.density = density - f4.density = density - f3.set_opacity(opacity) - f4.set_opacity(opacity) - -/obj/structure/machinery/door/poddoor/two_tile/four_tile/Destroy() - QDEL_NULL(f3) - QDEL_NULL(f4) - return ..() - -/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical - dir = NORTH - icon = 'icons/obj/structures/doors/1x4blast_vert.dmi' - -/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical/opened - density = FALSE - -/obj/structure/machinery/door/poddoor/filler_object - name = "" - icon = null - icon_state = "" - unslashable = TRUE - unacidable = TRUE - -/obj/structure/machinery/door/poddoor/two_tile/four_tile/secure - icon = 'icons/obj/structures/doors/1x4blast_hor_secure.dmi' - openspeed = 17 - unslashable = TRUE - unacidable = TRUE - -/obj/structure/machinery/door/poddoor/two_tile/four_tile/secure/opened - density = FALSE - -/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical/secure - icon = 'icons/obj/structures/doors/1x4blast_vert_secure.dmi' - openspeed = 17 - unslashable = TRUE - unacidable = TRUE - -/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical/secure/open - density = FALSE - -/obj/structure/machinery/door/poddoor/two_tile/secure - icon = 'icons/obj/structures/doors/1x2blast_hor.dmi' - openspeed = 17 - unslashable = TRUE - unacidable = TRUE - -/obj/structure/machinery/door/poddoor/two_tile/vertical/secure - icon = 'icons/obj/structures/doors/1x2blast_vert.dmi' - openspeed = 17 - unacidable = TRUE - -/obj/structure/machinery/door/poddoor/almayer - icon = 'icons/obj/structures/doors/blastdoors_shutters.dmi' - openspeed = 4 //shorter open animation. - var/vehicle_resistant = FALSE - tiles_with = list( - /obj/structure/window/framed/almayer, - /obj/structure/machinery/door/airlock, - ) - -/obj/structure/machinery/door/poddoor/almayer/Initialize() - . = ..() - return INITIALIZE_HINT_LATELOAD - -/obj/structure/machinery/door/poddoor/almayer/LateInitialize() - . = ..() - relativewall_neighbours() - -/obj/structure/machinery/door/poddoor/almayer/open - density = FALSE - -/obj/structure/machinery/door/poddoor/almayer/blended - icon_state = "almayer_pdoor1" - base_icon_state = "almayer_pdoor" - -/obj/structure/machinery/door/poddoor/almayer/blended/open - density = FALSE - -/obj/structure/machinery/door/poddoor/almayer/blended/white - icon_state = "w_almayer_pdoor1" - base_icon_state = "w_almayer_pdoor" - -/obj/structure/machinery/door/poddoor/almayer/blended/white/open - density = FALSE - -/obj/structure/machinery/door/poddoor/almayer/blended/aicore - icon_state = "aidoor1" - base_icon_state = "aidoor" - -/obj/structure/machinery/door/poddoor/almayer/blended/aicore/open - density = FALSE - -/obj/structure/machinery/door/poddoor/almayer/blended/white_aicore - icon_state = "w_aidoor1" - base_icon_state = "w_aidoor" - -/obj/structure/machinery/door/poddoor/almayer/blended/white_aicore/open - density = FALSE - -/obj/structure/machinery/door/poddoor/almayer/locked - unslashable = TRUE - unacidable = TRUE - -/obj/structure/machinery/door/poddoor/almayer/locked/attackby(obj/item/C as obj, mob/user as mob) - if(HAS_TRAIT(C, TRAIT_TOOL_CROWBAR)) - return - ..() - -/obj/structure/machinery/door/poddoor/almayer/closed - density = TRUE - opacity = TRUE - -/obj/structure/machinery/door/poddoor/almayer/planet_side_blastdoor - density = TRUE - opacity = TRUE - vehicle_resistant = TRUE diff --git a/code/game/machinery/doors/poddoor/almayer.dm b/code/game/machinery/doors/poddoor/almayer.dm new file mode 100644 index 000000000000..2b296412df7d --- /dev/null +++ b/code/game/machinery/doors/poddoor/almayer.dm @@ -0,0 +1,65 @@ +/obj/structure/machinery/door/poddoor/almayer + icon = 'icons/obj/structures/doors/blastdoors_shutters.dmi' + openspeed = 4 //shorter open animation. + var/vehicle_resistant = FALSE + tiles_with = list( + /obj/structure/window/framed/almayer, + /obj/structure/machinery/door/airlock, + ) + +/obj/structure/machinery/door/poddoor/almayer/Initialize() + . = ..() + return INITIALIZE_HINT_LATELOAD + +/obj/structure/machinery/door/poddoor/almayer/LateInitialize() + . = ..() + relativewall_neighbours() + +/obj/structure/machinery/door/poddoor/almayer/open + density = FALSE + +/obj/structure/machinery/door/poddoor/almayer/blended + icon_state = "almayer_pdoor1" + base_icon_state = "almayer_pdoor" + +/obj/structure/machinery/door/poddoor/almayer/blended/open + density = FALSE + +/obj/structure/machinery/door/poddoor/almayer/blended/white + icon_state = "w_almayer_pdoor1" + base_icon_state = "w_almayer_pdoor" + +/obj/structure/machinery/door/poddoor/almayer/blended/white/open + density = FALSE + +/obj/structure/machinery/door/poddoor/almayer/blended/aicore + icon_state = "aidoor1" + base_icon_state = "aidoor" + +/obj/structure/machinery/door/poddoor/almayer/blended/aicore/open + density = FALSE + +/obj/structure/machinery/door/poddoor/almayer/blended/white_aicore + icon_state = "w_aidoor1" + base_icon_state = "w_aidoor" + +/obj/structure/machinery/door/poddoor/almayer/blended/white_aicore/open + density = FALSE + +/obj/structure/machinery/door/poddoor/almayer/locked + unslashable = TRUE + unacidable = TRUE + +/obj/structure/machinery/door/poddoor/almayer/locked/attackby(obj/item/C as obj, mob/user as mob) + if(HAS_TRAIT(C, TRAIT_TOOL_CROWBAR)) + return + ..() + +/obj/structure/machinery/door/poddoor/almayer/closed + density = TRUE + opacity = TRUE + +/obj/structure/machinery/door/poddoor/almayer/planet_side_blastdoor + density = TRUE + opacity = TRUE + vehicle_resistant = TRUE diff --git a/code/game/machinery/doors/poddoor/poddoor.dm b/code/game/machinery/doors/poddoor/poddoor.dm new file mode 100644 index 000000000000..84bc8d91cd69 --- /dev/null +++ b/code/game/machinery/doors/poddoor/poddoor.dm @@ -0,0 +1,117 @@ +/obj/structure/machinery/door/poddoor + name = "\improper Podlock" + desc = "That looks like it doesn't open easily." + icon = 'icons/obj/structures/doors/rapid_pdoor.dmi' + icon_state = "pdoor1" + var/base_icon_state = "pdoor" + id = 1 + dir = NORTH + unslashable = TRUE + health = 0 + layer = PODDOOR_CLOSED_LAYER + open_layer = PODDOOR_OPEN_LAYER + closed_layer = PODDOOR_CLOSED_LAYER + +/obj/structure/machinery/door/poddoor/Initialize() + . = ..() + if(density) + set_opacity(1) + else + set_opacity(0) + update_icon() + +/obj/structure/machinery/door/poddoor/update_icon() + if(density) + icon_state = "[base_icon_state]1" + else + icon_state = "[base_icon_state]0" + +/obj/structure/machinery/door/poddoor/Collided(atom/movable/AM) + if(!density) + return ..() + else + return 0 + +/obj/structure/machinery/door/poddoor/attackby(obj/item/W, mob/user) + add_fingerprint(user) + if(!W.pry_capable) + return + if(density && (stat & NOPOWER) && !operating && !unacidable) + spawn(0) + operating = 1 + flick("[base_icon_state]c0", src) + icon_state = "[base_icon_state]0" + set_opacity(0) + sleep(15) + density = FALSE + operating = 0 + +/obj/structure/machinery/door/poddoor/attack_alien(mob/living/carbon/xenomorph/X) + if((stat & NOPOWER) && density && !operating && !unacidable) + INVOKE_ASYNC(src, PROC_REF(pry_open), X) + return XENO_ATTACK_ACTION + +/obj/structure/machinery/door/poddoor/proc/pry_open(mob/living/carbon/xenomorph/X, time = 4 SECONDS) + X.visible_message(SPAN_DANGER("[X] begins prying [src] open."),\ + SPAN_XENONOTICE("You start prying [src] open."), max_distance = 3) + + playsound(loc, 'sound/effects/metal_creaking.ogg', 25, TRUE) + + if(!do_after(X, time, INTERRUPT_ALL, BUSY_ICON_HOSTILE, src, INTERRUPT_ALL)) + to_chat(X, "You stop prying [src] open.") + return + + X.visible_message(SPAN_DANGER("[X] pries open [src]."), \ + SPAN_XENONOTICE("You pry open [src]."), max_distance = 3) + + open() + return TRUE + + +/obj/structure/machinery/door/poddoor/try_to_activate_door(mob/user) + return + +/obj/structure/machinery/door/poddoor/open() + if(operating) //doors can still open when emag-disabled + return + + if(!opacity) + return TRUE + + operating = TRUE + + playsound(loc, 'sound/machines/blastdoor.ogg', 20, 0) + flick("[base_icon_state]c0", src) + icon_state = "[base_icon_state]0" + set_opacity(0) + + addtimer(CALLBACK(src, PROC_REF(finish_open)), openspeed) + return TRUE + +/obj/structure/machinery/door/poddoor/close() + if(operating) + return + if(opacity == initial(opacity)) + return + + operating = TRUE + playsound(loc, 'sound/machines/blastdoor.ogg', 20, 0) + + layer = closed_layer + flick("[base_icon_state]c1", src) + icon_state = "[base_icon_state]1" + density = TRUE + set_opacity(initial(opacity)) + + addtimer(CALLBACK(src, PROC_REF(finish_close)), openspeed) + return + +/obj/structure/machinery/door/poddoor/finish_close() + operating = FALSE + +/obj/structure/machinery/door/poddoor/filler_object + name = "" + icon = null + icon_state = "" + unslashable = TRUE + unacidable = TRUE diff --git a/code/game/machinery/doors/shutters.dm b/code/game/machinery/doors/poddoor/shutters/shutters.dm similarity index 100% rename from code/game/machinery/doors/shutters.dm rename to code/game/machinery/doors/poddoor/shutters/shutters.dm diff --git a/code/game/machinery/doors/poddoor/two_tile.dm b/code/game/machinery/doors/poddoor/two_tile.dm new file mode 100644 index 000000000000..f04435bbe2ae --- /dev/null +++ b/code/game/machinery/doors/poddoor/two_tile.dm @@ -0,0 +1,156 @@ +/obj/structure/machinery/door/poddoor/two_tile + dir = EAST + icon = 'icons/obj/structures/doors/1x2blast_hor.dmi' + var/obj/structure/machinery/door/poddoor/filler_object/f1 + var/obj/structure/machinery/door/poddoor/filler_object/f2 + +/obj/structure/machinery/door/poddoor/two_tile/opened + density = FALSE + +/obj/structure/machinery/door/poddoor/two_tile/Initialize() + . = ..() + f1 = new/obj/structure/machinery/door/poddoor/filler_object (loc) + f2 = new/obj/structure/machinery/door/poddoor/filler_object (get_step(src,dir)) + f1.density = density + f2.density = density + f1.set_opacity(opacity) + f2.set_opacity(opacity) + +/obj/structure/machinery/door/poddoor/two_tile/Destroy() + QDEL_NULL(f1) + QDEL_NULL(f2) + return ..() + +/obj/structure/machinery/door/poddoor/two_tile/open() + if(operating) //doors can still open when emag-disabled + return + + operating = TRUE + start_opening() + + addtimer(CALLBACK(src, PROC_REF(open_fully)), openspeed) + return TRUE + +/obj/structure/machinery/door/poddoor/two_tile/proc/start_opening() + flick("[base_icon_state]c0", src) + icon_state = "[base_icon_state]0" + set_opacity(0) + f1.set_opacity(0) + f2.set_opacity(0) + +/obj/structure/machinery/door/poddoor/two_tile/four_tile/start_opening() + f3.set_opacity(0) + f4.set_opacity(0) + ..() + +/obj/structure/machinery/door/poddoor/two_tile/proc/open_fully() + density = FALSE + f1.density = FALSE + f2.density = FALSE + + if(operating == 1) //emag again + operating = 0 + if(autoclose) + addtimer(CALLBACK(src, PROC_REF(autoclose)), 15 SECONDS) + +/obj/structure/machinery/door/poddoor/two_tile/four_tile/open_fully() + f3.density = FALSE + f4.density = FALSE + ..() + +/obj/structure/machinery/door/poddoor/two_tile/close() + if(operating) + return + start_closing() + addtimer(CALLBACK(src, PROC_REF(close_fully)), openspeed) + return + +/obj/structure/machinery/door/poddoor/two_tile/proc/start_closing() + operating = 1 + flick("[base_icon_state]c1", src) + icon_state = "[base_icon_state]1" + + density = TRUE + f1.density = TRUE + f2.density = TRUE + +/obj/structure/machinery/door/poddoor/two_tile/four_tile/start_closing() + f3.density = TRUE + f4.density = TRUE + ..() + +/obj/structure/machinery/door/poddoor/two_tile/proc/close_fully() + set_opacity(initial(opacity)) + f1.set_opacity(initial(opacity)) + f2.set_opacity(initial(opacity)) + operating = 0 + +/obj/structure/machinery/door/poddoor/two_tile/four_tile/close_fully() + f3.set_opacity(initial(opacity)) + f4.set_opacity(initial(opacity)) + ..() + +/obj/structure/machinery/door/poddoor/two_tile/vertical + dir = NORTH + icon = 'icons/obj/structures/doors/1x2blast_vert.dmi' + +/obj/structure/machinery/door/poddoor/two_tile/vertical/open + density = FALSE + +/obj/structure/machinery/door/poddoor/two_tile/four_tile + icon = 'icons/obj/structures/doors/1x4blast_hor.dmi' + var/obj/structure/machinery/door/poddoor/filler_object/f3 + var/obj/structure/machinery/door/poddoor/filler_object/f4 + +/obj/structure/machinery/door/poddoor/two_tile/four_tile/open + density = FALSE + +/obj/structure/machinery/door/poddoor/two_tile/four_tile/Initialize() + . = ..() + f3 = new/obj/structure/machinery/door/poddoor/filler_object (get_step(f2,dir)) + f4 = new/obj/structure/machinery/door/poddoor/filler_object (get_step(f3,dir)) + f3.density = density + f4.density = density + f3.set_opacity(opacity) + f4.set_opacity(opacity) + +/obj/structure/machinery/door/poddoor/two_tile/four_tile/Destroy() + QDEL_NULL(f3) + QDEL_NULL(f4) + return ..() + +/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical + dir = NORTH + icon = 'icons/obj/structures/doors/1x4blast_vert.dmi' + +/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical/opened + density = FALSE + +/obj/structure/machinery/door/poddoor/two_tile/four_tile/secure + icon = 'icons/obj/structures/doors/1x4blast_hor_secure.dmi' + openspeed = 17 + unslashable = TRUE + unacidable = TRUE + +/obj/structure/machinery/door/poddoor/two_tile/four_tile/secure/opened + density = FALSE + +/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical/secure + icon = 'icons/obj/structures/doors/1x4blast_vert_secure.dmi' + openspeed = 17 + unslashable = TRUE + unacidable = TRUE + +/obj/structure/machinery/door/poddoor/two_tile/four_tile/vertical/secure/open + density = FALSE + +/obj/structure/machinery/door/poddoor/two_tile/secure + icon = 'icons/obj/structures/doors/1x2blast_hor.dmi' + openspeed = 17 + unslashable = TRUE + unacidable = TRUE + +/obj/structure/machinery/door/poddoor/two_tile/vertical/secure + icon = 'icons/obj/structures/doors/1x2blast_vert.dmi' + openspeed = 17 + unacidable = TRUE diff --git a/code/game/machinery/kitchen/gibber.dm b/code/game/machinery/kitchen/gibber.dm index 3fa96ca0bc3a..4b68b397116e 100644 --- a/code/game/machinery/kitchen/gibber.dm +++ b/code/game/machinery/kitchen/gibber.dm @@ -105,15 +105,28 @@ to_chat(user, SPAN_WARNING("You need a better grip to do that!")) return - if(victim.abiotic(1)) + if(victim.abiotic(TRUE)) to_chat(user, SPAN_WARNING("Subject may not have abiotic items on.")) return user.visible_message(SPAN_DANGER("[user] starts to put [victim] into the gibber!")) add_fingerprint(user) + ///If synth is getting gibbed, we will 'soft gib' them, but this is still pretty LRP so let admin know. + if(issynth(victim) && ishuman_strict(user) && !occupant) + var/turf/turf_ref = get_turf(user) + var/area/area = get_area(user) + message_admins("ALERT: [user] ([user.key]) is trying to shove [victim] in a gibber! (They are a synth, so this will delimb them) ([victim.key]) in [area.name] [ADMIN_JMP(turf_ref)]") + log_attack("[key_name(user)] tried to delimb [victim] using a gibber ([victim.key]) in [area.name]") + to_chat(user, SPAN_DANGER("What are you doing...")) + if(do_after(user, 30 SECONDS, INTERRUPT_ALL, BUSY_ICON_HOSTILE && grabbed && grabbed.grabbed_thing && !occupant)) + user.visible_message(SPAN_DANGER("[user] stuffs [victim] into the gibber!")) + victim.forceMove(src) + occupant = victim + update_icon() + ///If someone's being LRP and doing funny chef shit, this lets admins know. This *shouldn't* flag preds, though. - if(ishuman(victim) && ishuman_strict(user) && !occupant) + else if(ishuman(victim) && ishuman_strict(user) && !occupant) var/turf/turf_ref = get_turf(user) var/area/area = get_area(user) message_admins("ALERT: [user] ([user.key]) is trying to gib [victim] ([victim.key]) in [area.name] [ADMIN_JMP(turf_ref)]") @@ -142,18 +155,23 @@ add_fingerprint(usr) return -/obj/structure/machinery/gibber/proc/go_out() +/obj/structure/machinery/gibber/proc/go_out(launch = FALSE) if (!occupant) - return + return FALSE for(var/obj/O in src) O.forceMove(loc) if (occupant.client) occupant.client.eye = occupant.client.mob occupant.client.perspective = MOB_PERSPECTIVE occupant.forceMove(loc) + if(launch) + // yeet them out of the gibber + visible_message(SPAN_DANGER("[occupant] suddenly is launched out of the [src]!")) + var/turf/Tx = locate(x - 3, y, z) + occupant.throw_atom(Tx, 3, SPEED_FAST, src, TRUE) occupant = null update_icon() - return + return TRUE /obj/structure/machinery/gibber/proc/startgibbing(mob/user as mob) @@ -162,13 +180,18 @@ if(!occupant) visible_message(SPAN_DANGER("You hear a loud metallic grinding sound.")) return + var/synthetic = issynth(occupant) use_power(1000) - visible_message(SPAN_DANGER("You hear a loud squelchy grinding sound.")) - operating = 1 + if(synthetic) + visible_message(SPAN_BOLDWARNING("[src] begins to emitt sparks out the top as a banging noise can be heard!"), SPAN_BOLDWARNING("You hear a myriad of loud bangs!")) + else + visible_message(SPAN_DANGER("You hear a loud squelchy grinding sound.")) + operating = TRUE update_icon() var/totalslabs = 2 + var/obj/item/reagent_container/food/snacks/meat/meat_template = /obj/item/reagent_container/food/snacks/meat/monkey if(istype(occupant, /mob/living/carbon/xenomorph)) var/mob/living/carbon/xenomorph/X = occupant @@ -186,6 +209,35 @@ meat_template = /obj/item/reagent_container/food/snacks/meat/human totalslabs = 3 + // Synths only get delimbed from this. 1 meat per limb + if(synthetic) + meat_template = /obj/item/reagent_container/food/snacks/meat/synthmeat/synthflesh + totalslabs = 0 + var/mob/living/carbon/human/victim = occupant + + // Remove all limbs to allow synth to park closer at the supermarket + var/obj/limb/limb + + if(victim.has_limb("l_leg")) + limb = victim.get_limb("r_leg") + totalslabs += 1 + limb.droplimb(FALSE, TRUE, "gibber") + + if(victim.has_limb("l_leg")) + limb = victim.get_limb("l_leg") + totalslabs += 1 + limb.droplimb(FALSE, TRUE, "gibber") + + if(victim.has_limb("r_arm")) + limb = victim.get_limb("r_arm") + totalslabs += 1 + limb.droplimb(FALSE, TRUE, "gibber") + + if(victim.has_limb("l_arm")) + limb = victim.get_limb("l_arm") + totalslabs += 1 + limb.droplimb(FALSE, TRUE, "gibber") + var/obj/item/reagent_container/food/snacks/meat/allmeat[totalslabs] for(var/i in 1 to totalslabs) var/obj/item/reagent_container/food/snacks/meat/newmeat @@ -194,26 +246,38 @@ newmeat.name = newmeat.made_from_player + newmeat.name allmeat[i] = newmeat - if(src.occupant.client) // Gibbed a cow with a client in it? log that shit - src.occupant.attack_log += "\[[time_stamp()]\] Was gibbed by [key_name(user)]" + // Synths wont die to this (on it's own at least), dont log as a gib + if(synthetic) + if(occupant.client) // Log still + occupant.attack_log += "\[[time_stamp()]\] Was delimbed by [key_name(user)]" + user.attack_log += "\[[time_stamp()]\] delimbed [key_name(occupant)]" + msg_admin_attack("[key_name(user)] delimbed [key_name(occupant)] with a gibber in [user.loc.name]([user.x], [user.y], [user.z]).", user.x, user.y, user.z) + continue + + if(occupant.client) // Gibbed a cow with a client in it? log that shit + occupant.attack_log += "\[[time_stamp()]\] Was gibbed by [key_name(user)]" user.attack_log += "\[[time_stamp()]\] Gibbed [key_name(occupant)]" msg_admin_attack("[key_name(user)] gibbed [key_name(occupant)] in [user.loc.name] ([user.x], [user.y], [user.z]).", user.x, user.y, user.z) - src.occupant.death(create_cause_data("gibber", user), TRUE) - src.occupant.ghostize() + occupant.death(create_cause_data("gibber", user), TRUE) + occupant.ghostize() - QDEL_NULL(occupant) + if(synthetic) + to_chat(occupant, SPAN_HIGHDANGER("You can detect your limbs being ripped off your body, but it begins to malfunction as it reaches your torso!")) + addtimer(CALLBACK(src, PROC_REF(create_gibs), totalslabs, allmeat), gibtime) + addtimer(CALLBACK(src, PROC_REF(go_out), TRUE), gibtime) + return - addtimer(CALLBACK(src, PROC_REF(create_gibs), totalslabs, allmeat), gibtime) + QDEL_NULL(occupant) /obj/structure/machinery/gibber/proc/create_gibs(totalslabs, list/obj/item/reagent_container/food/snacks/allmeat) playsound(loc, 'sound/effects/splat.ogg', 25, 1) operating = FALSE + var/turf/Tx = locate(x - 1, y, z) for (var/i in 1 to totalslabs) var/obj/item/meatslab = allmeat[i] - var/turf/Tx = locate(x - i, y, z) meatslab.forceMove(loc) - meatslab.throw_atom(Tx, i, SPEED_FAST, src) + meatslab.throw_atom(Tx, 1, SPEED_FAST, src) if (!Tx.density) if(istype(meatslab, /obj/item/reagent_container/food/snacks/meat/xenomeat)) new /obj/effect/decal/cleanable/blood/gibs/xeno(Tx) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 88055a89f82b..f835ecaa424c 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -254,6 +254,10 @@ Class Procs: return TRUE if(user.is_mob_incapacitated()) return TRUE + if(!(istype(user, /mob/living/carbon/human) || isRemoteControlling(user) || istype(user, /mob/living/carbon/xenomorph))) + if(!HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) + to_chat(usr, SPAN_DANGER("You don't have the dexterity to do this!")) + return TRUE if(!is_valid_user(user)) to_chat(usr, SPAN_DANGER("You don't have the dexterity to do this!")) return TRUE @@ -351,3 +355,72 @@ Class Procs: icon_state = "autolathe" density = TRUE anchored = TRUE + +/obj/structure/machinery/fuelpump + name = "\improper Fuel Pump" + layer = ABOVE_MOB_LAYER + desc = "It is a machine that pumps fuel around the ship." + icon = 'icons/obj/structures/machinery/fuelpump.dmi' + icon_state = "fuelpump_off" + health = null + indestructible = TRUE + density = TRUE + anchored = TRUE + unslashable = TRUE + unacidable = TRUE + wrenchable = FALSE + +/obj/structure/machinery/fuelpump/ex_act(severity) + return + +/obj/structure/machinery/fuelpump/Initialize(mapload, ...) + . = ..() + RegisterSignal(SSdcs, COMSIG_GLOB_FUEL_PUMP_UPDATE, PROC_REF(on_pump_update)) + +/obj/structure/machinery/fuelpump/proc/on_pump_update() + SIGNAL_HANDLER + playsound(src, 'sound/machines/resource_node/node_idle.ogg', 60, TRUE) + update_icon() + +/obj/structure/machinery/fuelpump/update_icon() + if(stat & NOPOWER) + icon_state = "fuelpump_off" + return + if(SShijack.hijack_status < HIJACK_OBJECTIVES_STARTED) + icon_state = "fuelpump_on" + return + switch(SShijack.current_progress) + if(-INFINITY to 24) + icon_state = "fuelpump_0" + if(25 to 49) + icon_state = "fuelpump_25" + if(50 to 74) + icon_state = "fuelpump_50" + if(75 to 99) + icon_state = "fuelpump_75" + if(100 to INFINITY) + icon_state = "fuelpump_100" + else + icon_state = "fuelpump_on" // Never should happen + +/obj/structure/machinery/fuelpump/get_examine_text(mob/user) + . = ..() + if(get_dist(user, src) > 2 && user != loc) + return + if(inoperable()) + return + if(SShijack.hijack_status < HIJACK_OBJECTIVES_STARTED) + return + switch(SShijack.current_progress) + if(-INFINITY to 24) + . += SPAN_NOTICE("It looks like it barely has any fuel yet.") + if(25 to 49) + . += SPAN_NOTICE("It looks like it has accumulated some fuel.") + if(50 to 74) + . += SPAN_NOTICE("It looks like the fuel tank is a little over half full.") + if(75 to 99) + . += SPAN_NOTICE("It looks like the fuel tank is almost full.") + if(100 to INFINITY) + . += SPAN_NOTICE("It looks like the fuel tank is full.") + else + . += SPAN_NOTICE("It looks like something is wrong!") // Never should happen diff --git a/code/game/machinery/vending/cm_vending.dm b/code/game/machinery/vending/cm_vending.dm index 4f825030d627..c7443130b247 100644 --- a/code/game/machinery/vending/cm_vending.dm +++ b/code/game/machinery/vending/cm_vending.dm @@ -373,41 +373,49 @@ GLOBAL_LIST_EMPTY(vending_products) //------------INTERACTION PROCS--------------- -/obj/structure/machinery/cm_vending/attack_alien(mob/living/carbon/xenomorph/M) +/obj/structure/machinery/cm_vending/attack_alien(mob/living/carbon/xenomorph/user) if(stat & TIPPED_OVER || indestructible) - to_chat(M, SPAN_WARNING("There's no reason to bother with that old piece of trash.")) + to_chat(user, SPAN_WARNING("There's no reason to bother with that old piece of trash.")) return XENO_NO_DELAY_ACTION - if(M.a_intent == INTENT_HARM && !unslashable) - M.animation_attack_on(src) - if(prob(M.melee_damage_lower)) + if(user.a_intent == INTENT_HARM && !unslashable) + user.animation_attack_on(src) + if(prob(user.melee_damage_lower)) playsound(loc, 'sound/effects/metalhit.ogg', 25, 1) - M.visible_message(SPAN_DANGER("[M] smashes [src] beyond recognition!"), \ + user.visible_message(SPAN_DANGER("[user] smashes [src] beyond recognition!"), \ SPAN_DANGER("You enter a frenzy and smash [src] apart!"), null, 5, CHAT_TYPE_XENO_COMBAT) malfunction() tip_over() else - M.visible_message(SPAN_DANGER("[M] slashes [src]!"), \ + user.visible_message(SPAN_DANGER("[user] slashes [src]!"), \ SPAN_DANGER("You slash [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) playsound(loc, 'sound/effects/metalhit.ogg', 25, 1) return XENO_ATTACK_ACTION - if(M.action_busy) + if(user.action_busy) return XENO_NO_DELAY_ACTION - - M.visible_message(SPAN_WARNING("[M] begins to lean against [src]."), \ + if(user.a_intent == INTENT_HELP && user.IsAdvancedToolUser()) + user.set_interaction(src) + tgui_interact(user) + if(!hacked) + to_chat(user, SPAN_WARNING("You slash open [src]'s front panel, revealing the items within.")) + var/datum/effect_system/spark_spread/spark_system = new + spark_system.set_up(5, 5, get_turf(src)) + hacked = TRUE + return XENO_ATTACK_ACTION + user.visible_message(SPAN_WARNING("[user] begins to lean against [src]."), \ SPAN_WARNING("You begin to lean against [src]."), null, 5, CHAT_TYPE_XENO_COMBAT) var/shove_time = 80 - if(M.mob_size >= MOB_SIZE_BIG) + if(user.mob_size >= MOB_SIZE_BIG) shove_time = 30 - if(istype(M,/mob/living/carbon/xenomorph/crusher)) + if(istype(user,/mob/living/carbon/xenomorph/crusher)) shove_time = 15 - xeno_attack_delay(M) //Adds delay here and returns nothing because otherwise it'd cause lag *after* finishing the shove. + xeno_attack_delay(user) //Adds delay here and returns nothing because otherwise it'd cause lag *after* finishing the shove. - if(do_after(M, shove_time, INTERRUPT_ALL, BUSY_ICON_HOSTILE)) - M.animation_attack_on(src) - M.visible_message(SPAN_DANGER("[M] knocks [src] down!"), \ + if(do_after(user, shove_time, INTERRUPT_ALL, BUSY_ICON_HOSTILE)) + user.animation_attack_on(src) + user.visible_message(SPAN_DANGER("[user] knocks [src] down!"), \ SPAN_DANGER("You knock [src] down!"), null, 5, CHAT_TYPE_XENO_COMBAT) tip_over() return XENO_NO_DELAY_ACTION @@ -508,7 +516,12 @@ GLOBAL_LIST_EMPTY(vending_products) if(.) return - var/mob/living/carbon/human/user = usr + var/mob/living/carbon/human/human_user + var/mob/living/carbon/user = ui.user + + if(ishuman(user)) + human_user = usr + switch (action) if ("vend") if(stat & IN_USE) @@ -528,8 +541,11 @@ GLOBAL_LIST_EMPTY(vending_products) to_chat(usr, SPAN_WARNING("The floor is too cluttered, make some space.")) vend_fail() return FALSE - - if((!user.assigned_squad && squad_tag) || (!user.assigned_squad?.omni_squad_vendor && (squad_tag && user.assigned_squad.name != squad_tag))) + if(HAS_TRAIT(user,TRAIT_OPPOSABLE_THUMBS)) // the big monster 7 ft with thumbs does not care for squads + vendor_successful_vend(itemspec, usr) + add_fingerprint(usr) + return TRUE + if((!human_user.assigned_squad && squad_tag) || (!human_user.assigned_squad?.omni_squad_vendor && (squad_tag && human_user.assigned_squad.name != squad_tag))) to_chat(user, SPAN_WARNING("This machine isn't for your squad.")) vend_fail() return FALSE @@ -554,7 +570,7 @@ GLOBAL_LIST_EMPTY(vending_products) to_chat(user, SPAN_WARNING("That set is already taken.")) vend_fail() return FALSE - var/obj/item/card/id/ID = user.wear_id + var/obj/item/card/id/ID = human_user.wear_id if(!istype(ID) || !ID.check_biometrics(user)) to_chat(user, SPAN_WARNING("You must be wearing your [SPAN_INFO("dog tags")] to select a specialization!")) return FALSE @@ -566,6 +582,11 @@ GLOBAL_LIST_EMPTY(vending_products) if("Sniper Set") user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SNIPER) specialist_assignment = "Sniper" + GLOB.available_specialist_sets -= "Anti-materiel Sniper Set" + if("Anti-materiel Sniper Set") + user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SNIPER) + specialist_assignment = "Heavy Sniper" + GLOB.available_specialist_sets -= "Sniper Set" if("Demolitionist Set") user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_ROCKET) specialist_assignment = "Demo" @@ -579,7 +600,7 @@ GLOBAL_LIST_EMPTY(vending_products) to_chat(user, SPAN_WARNING("Something bad occurred with [src], tell a Dev.")) vend_fail() return FALSE - ID.set_assignment((user.assigned_squad ? (user.assigned_squad.name + " ") : "") + JOB_SQUAD_SPECIALIST + " ([specialist_assignment])") + ID.set_assignment((human_user.assigned_squad ? (human_user.assigned_squad.name + " ") : "") + JOB_SQUAD_SPECIALIST + " ([specialist_assignment])") GLOB.data_core.manifest_modify(user.real_name, WEAKREF(user), ID.assignment) GLOB.available_specialist_sets -= p_name else if(vendor_role.Find(JOB_SYNTH)) @@ -772,6 +793,8 @@ GLOBAL_LIST_EMPTY(vending_products) return listed_products /obj/structure/machinery/cm_vending/proc/can_access_to_vend(mob/user, display = TRUE, ignore_hack = FALSE) + if(HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) // We're just going to skip the mess of access checks assuming xenos with thumbs are human and just allow them to access because it's funny + return TRUE if(!hacked || ignore_hack) if(!allowed(user)) if(display) @@ -985,12 +1008,16 @@ GLOBAL_LIST_EMPTY(vending_products) to_chat(user, SPAN_WARNING("\The [item_to_stock] needs to be fully charged to restock it!")) return - if(istype(item_to_stock, /obj/item/cell)) + else if(istype(item_to_stock, /obj/item/cell)) var/obj/item/cell/C = item_to_stock if(C.charge < C.maxcharge) to_chat(user, SPAN_WARNING("\The [item_to_stock] needs to be fully charged to restock it!")) return + else if(!additional_restock_checks(item_to_stock, user)) + // the error message needs to go in the proc + return FALSE + if(item_to_stock.loc == user) //Inside the mob's inventory if(item_to_stock.flags_item & WIELDED) item_to_stock.unwield(user) @@ -1008,6 +1035,10 @@ GLOBAL_LIST_EMPTY(vending_products) updateUsrDialog() return //We found our item, no reason to go on. +/// additional restocking checks for individual vendor subtypes. Parse in item, do checks, return FALSE to fail. Include error message. +/obj/structure/machinery/cm_vending/sorted/proc/additional_restock_checks(obj/item/item_to_stock, mob/user) + return TRUE + //sending an /empty ammo box type path here will return corresponding regular (full) type of this box //if there is one set in corresponding_box_types or will return FALSE otherwise /obj/structure/machinery/cm_vending/sorted/proc/return_corresponding_type(unusual_path) @@ -1275,12 +1306,15 @@ GLOBAL_LIST_INIT(cm_vending_gear_corresponding_types_list, list( if(vend_flags & VEND_UNIFORM_RANKS) if(insignas_override) var/obj/item/clothing/under/underclothes = new_item + //Gives ranks to the ranked if(istype(underclothes) && user.wear_id && user.wear_id.paygrade) var/rankpath = get_rank_pins(user.wear_id.paygrade) if(rankpath) var/obj/item/clothing/accessory/ranks/rank_insignia = new rankpath() + var/obj/item/clothing/accessory/patch/uscmpatch = new() underclothes.attach_accessory(user, rank_insignia) + underclothes.attach_accessory(user, uscmpatch) if(vend_flags & VEND_UNIFORM_AUTOEQUIP) // autoequip diff --git a/code/game/machinery/vending/vendor_types/crew/pilot_officer.dm b/code/game/machinery/vending/vendor_types/crew/pilot_officer.dm index 027c9bec2d13..8f9ac837cb6a 100644 --- a/code/game/machinery/vending/vendor_types/crew/pilot_officer.dm +++ b/code/game/machinery/vending/vendor_types/crew/pilot_officer.dm @@ -5,7 +5,7 @@ desc = "An automated weapon rack hooked up to a small storage of standard-issue weapons. Can be accessed only by the dropship crew." icon_state = "guns" req_access = list(ACCESS_MARINE_PILOT) - vendor_role = list(JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF) + vendor_role = list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF) vend_flags = VEND_CLUTTER_PROTECTION | VEND_LIMITED_INVENTORY | VEND_TO_HAND listed_products = list( @@ -242,7 +242,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_dropship_crew_chief, list( name = "\improper ColMarTech Dropship Crew Equipment Rack" desc = "An automated rack hooked up to a colossal storage of Dropship Crew standard-issue equipment." req_access = list(ACCESS_MARINE_PILOT) - vendor_role = list(JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF) + vendor_role = list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF) /obj/structure/machinery/cm_vending/clothing/pilot_officer/get_listed_products(mob/user) if(!user) @@ -252,6 +252,8 @@ GLOBAL_LIST_INIT(cm_vending_clothing_dropship_crew_chief, list( return combined if(user.job == JOB_DROPSHIP_CREW_CHIEF) return GLOB.cm_vending_clothing_dropship_crew_chief - if(user.job == JOB_PILOT) + if(user.job == JOB_CAS_PILOT) + return GLOB.cm_vending_clothing_pilot_officer + if(user.job == JOB_DROPSHIP_PILOT) return GLOB.cm_vending_clothing_pilot_officer return ..() diff --git a/code/game/machinery/vending/vendor_types/crew/synthetic.dm b/code/game/machinery/vending/vendor_types/crew/synthetic.dm index c3fa77be3798..a55285369e14 100644 --- a/code/game/machinery/vending/vendor_types/crew/synthetic.dm +++ b/code/game/machinery/vending/vendor_types/crew/synthetic.dm @@ -21,6 +21,7 @@ list("Plastic Explosive", 3, /obj/item/explosive/plastic, null, VENDOR_ITEM_REGULAR), list("ES-11 Mobile Fuel Canister", 4, /obj/item/tool/weldpack/minitank, null, VENDOR_ITEM_REGULAR), list("Engineer Kit", 1, /obj/item/storage/toolkit/empty, null, VENDOR_ITEM_REGULAR), + list("Tactical Prybar", 5, /obj/item/tool/crowbar/tactical, null, VENDOR_ITEM_REGULAR), list("FIRSTAID KITS", 0, null, null, null), list("Advanced Firstaid Kit", 12, /obj/item/storage/firstaid/adv, null, VENDOR_ITEM_REGULAR), @@ -38,6 +39,9 @@ list("Roller Bed", 4, /obj/item/roller, null, VENDOR_ITEM_REGULAR), list("Stasis Bag", 6, /obj/item/bodybag/cryobag, null, VENDOR_ITEM_REGULAR), list("MS-11 Smart Refill Tank", 6, /obj/item/reagent_container/glass/minitank, null, VENDOR_ITEM_REGULAR), + list("Blood", 5, /obj/item/reagent_container/blood/OMinus, null, VENDOR_ITEM_REGULAR), + list("Surgical Bed", 10, /obj/structure/bed/portable_surgery, null, VENDOR_ITEM_REGULAR), + list("Surgical Kit", 30, /obj/item/storage/surgical_tray, null, VENDOR_ITEM_REGULAR), list("Pillbottle (Bicaridine)", 5, /obj/item/storage/pill_bottle/bicaridine, null, VENDOR_ITEM_RECOMMENDED), list("Pillbottle (Dexalin)", 5, /obj/item/storage/pill_bottle/dexalin, null, VENDOR_ITEM_REGULAR), @@ -136,6 +140,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth, list( list("Smartpack, White", 0, /obj/item/storage/backpack/marine/smartpack/white, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), list("Smartpack, Black", 0, /obj/item/storage/backpack/marine/smartpack/black, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), list("Logistics IMP Backpack", 0, /obj/item/storage/backpack/marine/satchel/big, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), + list("Expedition Chestrig", 0, /obj/item/storage/backpack/marine/satchel/intel/chestrig, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), list("BELT (CHOOSE 1)", 0, null, null, null), list("G8-A General Utility Pouch", 0, /obj/item/storage/backpack/general_belt, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR), @@ -187,7 +192,8 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth_snowflake, list( list("Medical Scrubs, Green", 12, /obj/item/clothing/under/rank/medical/green, null, VENDOR_ITEM_REGULAR), list("Medical Scrubs, Purple", 12, /obj/item/clothing/under/rank/medical/purple, null, VENDOR_ITEM_REGULAR), list("Medical Scrubs, White", 12, /obj/item/clothing/under/rank/medical, null, VENDOR_ITEM_REGULAR), - list("USCM Service Uniform", 12, /obj/item/clothing/under/marine/officer/bridge, null, VENDOR_ITEM_REGULAR), + list("USCM Service Uniform, Tan", 12, /obj/item/clothing/under/marine/officer/bridge, null, VENDOR_ITEM_REGULAR), + list("USCM Service Uniform, White", 12, /obj/item/clothing/under/marine/dress, null, VENDOR_ITEM_REGULAR), list("USCM Flightsuit", 12, /obj/item/clothing/under/rank/synthetic/flight, null, VENDOR_ITEM_REGULAR), list("USCM Engineers Uniform", 12, /obj/item/clothing/under/marine/engineer/standard, null, VENDOR_ITEM_REGULAR), list("USCM Engineers Uniform (Darker)", 12, /obj/item/clothing/under/marine/engineer/darker, null, VENDOR_ITEM_REGULAR), @@ -206,6 +212,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth_snowflake, list( list("Grey Utilities", 12, /obj/item/clothing/under/rank/synthetic/utility/yellow, null, VENDOR_ITEM_REGULAR), list("Grey Utilities and Blue Jeans", 12, /obj/item/clothing/under/rank/synthetic/utility/red, null, VENDOR_ITEM_REGULAR), list("Blue Utilities and Brown Jeans", 12, /obj/item/clothing/under/rank/synthetic/utility/blue, null, VENDOR_ITEM_REGULAR), + list("White Service Uniform", 12, /obj/item/clothing/under/colonist/white_service, null, VENDOR_ITEM_REGULAR), list("Steward Clothes", 12, /obj/item/clothing/under/colonist/wy_joliet_shopsteward, null, VENDOR_ITEM_REGULAR), list("Red Dress Skirt", 12, /obj/item/clothing/under/blackskirt, null, VENDOR_ITEM_REGULAR), list("Working Joe Uniform", 36, /obj/item/clothing/under/rank/synthetic/joe, null, VENDOR_ITEM_REGULAR), @@ -238,6 +245,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth_snowflake, list( list("Beret, Red", 12, /obj/item/clothing/head/beret/cm/red, null, VENDOR_ITEM_REGULAR), list("Beret, Standard", 12, /obj/item/clothing/head/beret/cm, null, VENDOR_ITEM_REGULAR), list("Beret, Tan", 12, /obj/item/clothing/head/beret/cm/tan, null, VENDOR_ITEM_REGULAR), + list("Beret, Green", 12, /obj/item/clothing/head/beret/cm, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), list("Beret, Black", 12, /obj/item/clothing/head/beret/cm/black, null, VENDOR_ITEM_REGULAR), list("Beret, White", 12, /obj/item/clothing/head/beret/cm/white, null, VENDOR_ITEM_REGULAR), list("Surgical Cap, Blue", 12, /obj/item/clothing/head/surgery/blue, null, VENDOR_ITEM_REGULAR), @@ -304,6 +312,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth_snowflake, list( list("OTHER", 0, null, null, null), list("Red Armband", 6, /obj/item/clothing/accessory/armband, null, VENDOR_ITEM_REGULAR), + list("Purple Armband", 6, /obj/item/clothing/accessory/armband/science, null, VENDOR_ITEM_REGULAR), list("Yellow Armband", 6, /obj/item/clothing/accessory/armband/engine, null, VENDOR_ITEM_REGULAR), list("Green Armband", 6, /obj/item/clothing/accessory/armband/medgreen, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/engineering.dm b/code/game/machinery/vending/vendor_types/engineering.dm index 245e06009695..826f4431235b 100644 --- a/code/game/machinery/vending/vendor_types/engineering.dm +++ b/code/game/machinery/vending/vendor_types/engineering.dm @@ -92,6 +92,7 @@ list("Auxiliar Power Storage Unit", 2, /obj/item/circuitboard/machine/ghettosmes, VENDOR_ITEM_REGULAR), list("Air Alarm Electronics", 2, /obj/item/circuitboard/airalarm, VENDOR_ITEM_REGULAR), list("Security Camera Monitor", 2, /obj/item/circuitboard/computer/cameras, VENDOR_ITEM_REGULAR), + list("Television Set", 4, /obj/item/circuitboard/computer/cameras/tv, VENDOR_ITEM_REGULAR), list("Station Alerts", 2, /obj/item/circuitboard/computer/stationalert, VENDOR_ITEM_REGULAR), list("Arcade", 2, /obj/item/circuitboard/computer/arcade, VENDOR_ITEM_REGULAR), list("Atmospheric Monitor", 2, /obj/item/circuitboard/computer/air_management, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/medical.dm b/code/game/machinery/vending/vendor_types/medical.dm index 9750669ac88a..a867c9b61f29 100644 --- a/code/game/machinery/vending/vendor_types/medical.dm +++ b/code/game/machinery/vending/vendor_types/medical.dm @@ -1,3 +1,53 @@ +//------------SUPPLY LINK FOR MEDICAL VENDORS--------------- + +/obj/structure/medical_supply_link + name = "medilink supply port" + desc = "A complex network of pipes and machinery, linking to large storage systems below the deck. Medical vendors linked to this port will be able to infinitely restock supplies." + icon = 'icons/effects/warning_stripes.dmi' + icon_state = "medlink_unclamped" + var/base_state = "medlink" + anchored = TRUE + density = FALSE + unslashable = TRUE + unacidable = TRUE + plane = FLOOR_PLANE + layer = ABOVE_TURF_LAYER //It's the floor, man + +/obj/structure/medical_supply_link/ex_act(severity, direction) + return FALSE + +/obj/structure/medical_supply_link/Initialize() + . = ..() + RegisterSignal(src, COMSIG_STRUCTURE_WRENCHED, PROC_REF(do_clamp_animation)) + RegisterSignal(src, COMSIG_STRUCTURE_UNWRENCHED, PROC_REF(do_unclamp_animation)) + update_icon() + +/// Performs the clamping animation when a structure is anchored in our loc +/obj/structure/medical_supply_link/proc/do_clamp_animation() + SIGNAL_HANDLER + flick("[base_state]_clamping", src) + addtimer(CALLBACK(src, PROC_REF(update_icon), 2.6 SECONDS)) + update_icon() + +/// Performs the unclamping animation when a structure is unanchored in our loc +/obj/structure/medical_supply_link/proc/do_unclamp_animation() + SIGNAL_HANDLER + flick("[base_state]_unclamping", src) + addtimer(CALLBACK(src, PROC_REF(update_icon), 2.6 SECONDS)) + update_icon() + +/obj/structure/medical_supply_link/update_icon() + var/obj/structure/machinery/cm_vending/sorted/medical/vendor = locate() in loc + if(vendor && vendor.anchored) + icon_state = "[base_state]_clamped" + else + icon_state = "[base_state]_unclamped" + +// --- Green +/obj/structure/medical_supply_link/green + icon_state = "medlink_green_unclamped" + base_state = "medlink_green" + //------------SORTED MEDICAL VENDORS--------------- /obj/structure/machinery/cm_vending/sorted/medical @@ -14,6 +64,9 @@ vendor_theme = VENDOR_THEME_COMPANY vend_delay = 0.5 SECONDS + /// sets vendor to require a medlink to be able to resupply + var/requires_supply_link_port = TRUE + var/datum/health_scan/last_health_display var/healthscan = TRUE @@ -60,6 +113,36 @@ if(healthscan) . += SPAN_NOTICE("The [src.name] offers assisted medical scan, for ease of usage with minimal training. Present the target in front of the scanner to scan.") +/// checks if there is a supply link in our location and we are anchored to it +/obj/structure/machinery/cm_vending/sorted/medical/proc/get_supply_link() + if(!anchored) + return FALSE + var/obj/structure/medical_supply_link/linkpoint = locate() in loc + if(!linkpoint) + return FALSE + return TRUE + +/obj/structure/machinery/cm_vending/sorted/medical/additional_restock_checks(obj/item/item_to_stock, mob/user) + if(istype(item_to_stock, /obj/item/reagent_container/hypospray/autoinjector) || istype(item_to_stock, /obj/item/reagent_container/glass/bottle)) + if(requires_supply_link_port && !get_supply_link()) + var/obj/item/reagent_container/container = item_to_stock + if(container.reagents.total_volume < container.reagents.maximum_volume) + if(user) + to_chat(user, SPAN_WARNING("[src] makes a buzzing noise as it rejects [container.name]. Looks like this vendor cannot refill these without a connected supply link.")) + playsound(src, 'sound/machines/buzz-sigh.ogg', 15, TRUE) + return FALSE + + //stacked items handling if the vendor cannot restock partial stacks + else if(istype(item_to_stock, /obj/item/stack)) + if(requires_supply_link_port && !get_supply_link()) + var/obj/item/stack/restock_stack = item_to_stock + if(restock_stack.amount < restock_stack.max_amount) // if the stack is not full + if(user) + to_chat(user, SPAN_WARNING("[src] makes a buzzing noise as it rejects [restock_stack]. Looks like this vendor cannot restock these without a connected supply link.")) + playsound(src, 'sound/machines/buzz-sigh.ogg', 15, TRUE) + return FALSE + return TRUE + /obj/structure/machinery/cm_vending/sorted/medical/attackby(obj/item/I, mob/user) if(stat == WORKING && LAZYLEN(chem_refill) && (istype(I, /obj/item/reagent_container/hypospray/autoinjector) || istype(I, /obj/item/reagent_container/glass/bottle))) // only if we are completely fine and working if(!hacked) @@ -80,6 +163,11 @@ to_chat(user, SPAN_WARNING("[src] makes a warning noise. The [C.name] is currently full.")) return + if(requires_supply_link_port && !get_supply_link()) + to_chat(user, SPAN_WARNING("[src] makes a buzzing noise as it rejects [C.name]. Looks like this vendor cannot refill these without a connected supply link.")) + playsound(src, 'sound/machines/buzz-sigh.ogg', 15, TRUE) + return + to_chat(user, SPAN_NOTICE("[src] makes a whirring noise as it refills your [C.name].")) // Since the reagent is deleted on use it's easier to make a new one instead of snowflake checking var/obj/item/reagent_container/new_container = new C.type(src) @@ -104,6 +192,11 @@ to_chat(user, SPAN_WARNING("[src] makes a warning noise. The [S.name] is currently fully stacked.")) return + if(requires_supply_link_port && !get_supply_link()) + to_chat(user, SPAN_WARNING("[src] makes a buzzing noise as it rejects [S.name]. Looks like this vendor cannot restock these without a connected supply link.")) + playsound(src, 'sound/machines/buzz-sigh.ogg', 15, TRUE) + return + to_chat(user, SPAN_NOTICE("[src] makes a whirring noise as it restocks your [S.name].")) S.amount = S.max_amount S.update_icon() @@ -231,6 +324,7 @@ name = "\improper Medical Equipment Vendor" desc = "A vending machine dispensing various pieces of medical equipment." req_one_access = list(ACCESS_ILLEGAL_PIRATE, ACCESS_UPP_GENERAL, ACCESS_CLF_GENERAL) + requires_supply_link_port = FALSE req_access = null vendor_theme = VENDOR_THEME_CLF @@ -272,6 +366,7 @@ name = "\improper Basic Medical Supplies Vendor" desc = "A vending machine dispensing basic medical supplies." req_one_access = list(ACCESS_ILLEGAL_PIRATE, ACCESS_UPP_GENERAL, ACCESS_CLF_GENERAL) + requires_supply_link_port = FALSE req_access = null vendor_theme = VENDOR_THEME_CLF @@ -307,6 +402,7 @@ /obj/structure/machinery/cm_vending/sorted/medical/blood/antag req_one_access = list(ACCESS_ILLEGAL_PIRATE, ACCESS_UPP_GENERAL, ACCESS_CLF_GENERAL) + requires_supply_link_port = FALSE req_access = null vendor_theme = VENDOR_THEME_CLF @@ -315,6 +411,7 @@ desc = "Wall-mounted Medical Equipment Dispenser." icon_state = "wallmed" vend_delay = 0.7 SECONDS + requires_supply_link_port = FALSE req_access = list() diff --git a/code/game/machinery/vending/vendor_types/requisitions.dm b/code/game/machinery/vending/vendor_types/requisitions.dm index 9ce8390095e8..6eb5a333ec81 100644 --- a/code/game/machinery/vending/vendor_types/requisitions.dm +++ b/code/game/machinery/vending/vendor_types/requisitions.dm @@ -208,14 +208,14 @@ /obj/structure/machinery/cm_vending/sorted/cargo_ammo/populate_product_list(scale) listed_products = list( list("REGULAR AMMUNITION", -1, null, null), - list("Box Of Buckshot Shells", round(scale * 20), /obj/item/ammo_magazine/shotgun/buckshot, VENDOR_ITEM_REGULAR), - list("Box Of Flechette Shells", round(scale * 8), /obj/item/ammo_magazine/shotgun/flechette, VENDOR_ITEM_REGULAR), - list("Box Of Shotgun Slugs", round(scale * 20), /obj/item/ammo_magazine/shotgun/slugs, VENDOR_ITEM_REGULAR), - list("M4RA Magazine (10x24mm)", round(scale * 30), /obj/item/ammo_magazine/rifle/m4ra, VENDOR_ITEM_REGULAR), - list("M41A MK2 Magazine (10x24mm)", round(scale * 50), /obj/item/ammo_magazine/rifle, VENDOR_ITEM_REGULAR), - list("M39 HV Magazine (10x20mm)", round(scale * 50), /obj/item/ammo_magazine/smg/m39, VENDOR_ITEM_REGULAR), - list("M44 Speed Loader (.44)", round(scale * 40), /obj/item/ammo_magazine/revolver, VENDOR_ITEM_REGULAR), - list("M4A3 Magazine (9mm)", round(scale * 50), /obj/item/ammo_magazine/pistol, VENDOR_ITEM_REGULAR), + list("Box Of Buckshot Shells", round(scale * 40), /obj/item/ammo_magazine/shotgun/buckshot, VENDOR_ITEM_REGULAR), + list("Box Of Flechette Shells", round(scale * 40), /obj/item/ammo_magazine/shotgun/flechette, VENDOR_ITEM_REGULAR), + list("Box Of Shotgun Slugs", round(scale * 40), /obj/item/ammo_magazine/shotgun/slugs, VENDOR_ITEM_REGULAR), + list("M4RA Magazine (10x24mm)", round(scale * 60), /obj/item/ammo_magazine/rifle/m4ra, VENDOR_ITEM_REGULAR), + list("M41A MK2 Magazine (10x24mm)", round(scale * 100), /obj/item/ammo_magazine/rifle, VENDOR_ITEM_REGULAR), + list("M39 HV Magazine (10x20mm)", round(scale * 100), /obj/item/ammo_magazine/smg/m39, VENDOR_ITEM_REGULAR), + list("M44 Speed Loader (.44)", round(scale * 80), /obj/item/ammo_magazine/revolver, VENDOR_ITEM_REGULAR), + list("M4A3 Magazine (9mm)", round(scale * 100), /obj/item/ammo_magazine/pistol, VENDOR_ITEM_REGULAR), list("ARMOR-PIERCING AMMUNITION", -1, null, null), list("88 Mod 4 AP Magazine (9mm)", round(scale * 50), /obj/item/ammo_magazine/pistol/mod88, VENDOR_ITEM_REGULAR), @@ -248,9 +248,9 @@ list("XM51 Magazine (16g)", round(scale * 3), /obj/item/ammo_magazine/rifle/xm51, VENDOR_ITEM_REGULAR), list("SHOTGUN SHELL BOXES", -1, null, null), - list("Shotgun Shell Box (Buckshot x 100)", round(scale * 2), /obj/item/ammo_box/magazine/shotgun/buckshot, VENDOR_ITEM_REGULAR), - list("Shotgun Shell Box (Flechette x 100)", round(scale * 2), /obj/item/ammo_box/magazine/shotgun/flechette, VENDOR_ITEM_REGULAR), - list("Shotgun Shell Box (Slugs x 100)", round(scale * 2), /obj/item/ammo_box/magazine/shotgun, VENDOR_ITEM_REGULAR), + list("Shotgun Shell Box (Buckshot x 100)", round(scale * 4), /obj/item/ammo_box/magazine/shotgun/buckshot, VENDOR_ITEM_REGULAR), + list("Shotgun Shell Box (Flechette x 100)", round(scale * 4), /obj/item/ammo_box/magazine/shotgun/flechette, VENDOR_ITEM_REGULAR), + list("Shotgun Shell Box (Slugs x 100)", round(scale * 4), /obj/item/ammo_box/magazine/shotgun, VENDOR_ITEM_REGULAR), list("Shotgun Shell Box (16g) (Breaching x 120)", 1, /obj/item/ammo_box/magazine/shotgun/light/breaching, VENDOR_ITEM_REGULAR), ) diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm index 2736de3a981d..d3662c785890 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm @@ -7,7 +7,7 @@ desc = "An automated weapon rack hooked up to a big storage of standard-issue weapons." icon_state = "guns" req_access = list() - req_one_access = list(ACCESS_MARINE_DATABASE, ACCESS_MARINE_PREP, ACCESS_MARINE_CARGO) + req_one_access = list(ACCESS_MARINE_DATABASE, ACCESS_MARINE_PREP) hackable = TRUE vend_flags = VEND_CLUTTER_PROTECTION | VEND_LIMITED_INVENTORY | VEND_TO_HAND diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm index e800fc1efd56..4d14b7b89ccd 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_specialist.dm @@ -7,6 +7,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_spec, list( list("Pyro Set", 0, /obj/item/storage/box/spec/pyro, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_REGULAR), list("Scout Set", 0, /obj/item/storage/box/spec/scout, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_REGULAR), list("Sniper Set", 0, /obj/item/storage/box/spec/sniper, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_RECOMMENDED), + list("Anti-materiel Sniper Set", 0, /obj/item/storage/box/spec/sniper/anti_materiel, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_RECOMMENDED), list("EXTRA SCOUT AMMUNITION", 0, null, null, null), list("A19 High Velocity Impact Magazine (10x24mm)", 40, /obj/item/ammo_magazine/rifle/m4ra/custom/impact, null, VENDOR_ITEM_REGULAR), @@ -17,6 +18,7 @@ GLOBAL_LIST_INIT(cm_vending_gear_spec, list( list("M42A Flak Magazine (10x28mm)", 40, /obj/item/ammo_magazine/sniper/flak, null, VENDOR_ITEM_REGULAR), list("M42A Incendiary Magazine (10x28mm)", 40, /obj/item/ammo_magazine/sniper/incendiary, null, VENDOR_ITEM_REGULAR), list("M42A Marksman Magazine (10x28mm Caseless)", 40, /obj/item/ammo_magazine/sniper, null, VENDOR_ITEM_REGULAR), + list("XM43E1 Marksman Magazine (10x99mm Caseless)", 40, /obj/item/ammo_magazine/sniper/anti_materiel, null, VENDOR_ITEM_REGULAR), list("EXTRA DEMOLITIONIST AMMUNITION", 0, null, null, null), list("84mm Anti-Armor Rocket", 40, /obj/item/ammo_magazine/rocket/ap, null, VENDOR_ITEM_REGULAR), @@ -96,6 +98,18 @@ GLOBAL_LIST_INIT(cm_vending_clothing_specialist, list( list("Gas Mask", 0, /obj/item/clothing/mask/gas, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR), list("Heat Absorbent Coif", 0, /obj/item/clothing/mask/rebreather/scarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR), + list("RESTRICTED FIREARMS", 0, null, null, null), + list("VP78 Pistol", 15, /obj/item/storage/box/guncase/vp78, null, VENDOR_ITEM_REGULAR), + list("SU-6 Smart Pistol", 15, /obj/item/storage/box/guncase/smartpistol, null, VENDOR_ITEM_REGULAR), + + list("SIDEARM AMMUNITION", 0, null, null, null), + list("M44 Heavy Speed Loader (.44)", 10, /obj/item/ammo_magazine/revolver/heavy, null, VENDOR_ITEM_REGULAR), + list("M44 Marksman Speed Loader (.44)", 10, /obj/item/ammo_magazine/revolver/marksman, null, VENDOR_ITEM_REGULAR), + list("M4A3 HP Magazine", 5, /obj/item/ammo_magazine/pistol/hp, null, VENDOR_ITEM_REGULAR), + list("M4A3 AP Magazine", 5, /obj/item/ammo_magazine/pistol/ap, null, VENDOR_ITEM_REGULAR), + list("VP78 Magazine", 5, /obj/item/ammo_magazine/pistol/vp78, null, VENDOR_ITEM_REGULAR), + list("SU-6 Smartpistol Magazine (.45)", 10, /obj/item/ammo_magazine/pistol/smart, null, VENDOR_ITEM_REGULAR), + list("CLOTHING ITEMS", 0, null, null, null), list("Machete Scabbard (Full)", 6, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR), list("Machete Pouch (Full)", 15, /obj/item/storage/pouch/machete/full, null, VENDOR_ITEM_REGULAR), @@ -107,10 +121,17 @@ GLOBAL_LIST_INIT(cm_vending_clothing_specialist, list( list("Autoinjector Pouch (Full)", 15, /obj/item/storage/pouch/autoinjector/full, null, VENDOR_ITEM_REGULAR), list("UTILITIES", 0, null, null, null), - list("Fire Extinguisher (Portable)", 5, /obj/item/tool/extinguisher/mini, null, VENDOR_ITEM_REGULAR), list("Roller Bed", 5, /obj/item/roller, null, VENDOR_ITEM_REGULAR), list("Fulton Device Stack", 5, /obj/item/stack/fulton, null, VENDOR_ITEM_REGULAR), + list("Fire Extinguisher (Portable)", 5, /obj/item/tool/extinguisher/mini, null, VENDOR_ITEM_REGULAR), list("Motion Detector", 10, /obj/item/device/motiondetector, null, VENDOR_ITEM_REGULAR), + list("Data Detector", 10, /obj/item/device/motiondetector/intel, null, VENDOR_ITEM_REGULAR), + list("Whistle", 5, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR), + + list("BINOCULARS", 0, null, null, null), + list("Binoculars", 5, /obj/item/device/binoculars, null, VENDOR_ITEM_REGULAR), + list("Range Finder", 10, /obj/item/device/binoculars/range, null, VENDOR_ITEM_REGULAR), + list("Laser Designator", 15, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_REGULAR), list("HELMET OPTICS", 0, null, null, null), list("Medical Helmet Optic", 15, /obj/item/device/helmet_visor/medical, null, VENDOR_ITEM_REGULAR), diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index 7fa61c474ea1..311c2ebc7253 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -144,15 +144,12 @@ /obj/effect/xenomorph/spray/Crossed(AM as mob|obj) ..() - if(ishuman(AM)) - var/mob/living/carbon/human/H = AM - if(H.ally_of_hivenumber(hivenumber)) - return - apply_spray(AM) - else if (isxeno(AM)) - var/mob/living/carbon/xenomorph/X = AM - if (X.hivenumber != hivenumber) - apply_spray(AM) + if(isliving(AM)) + var/mob/living/living_mob = AM + if(living_mob.ally_of_hivenumber(hivenumber)) + living_mob.ExtinguishMob() + else + apply_spray(living_mob) else if(isVehicleMultitile(AM)) var/obj/vehicle/multitile/V = AM V.handle_acidic_environment(src) diff --git a/code/game/objects/effects/effect_system/chemsmoke.dm b/code/game/objects/effects/effect_system/chemsmoke.dm index 0c74912ceb25..55c38215415c 100644 --- a/code/game/objects/effects/effect_system/chemsmoke.dm +++ b/code/game/objects/effects/effect_system/chemsmoke.dm @@ -138,7 +138,7 @@ var/dist = cheap_pythag(T.x - location.x, T.y - location.y) if(!dist) dist = 1 - R.reaction_mob(A, volume = R.volume / dist) + R.reaction_mob(A, volume = R.volume / dist, permeable = FALSE) else if(istype(A, /obj)) R.reaction_obj(A, R.volume) sleep(30) diff --git a/code/game/objects/effects/effect_system/foam.dm b/code/game/objects/effects/effect_system/foam.dm index 525cb8c731a9..7a06fa50619c 100644 --- a/code/game/objects/effects/effect_system/foam.dm +++ b/code/game/objects/effects/effect_system/foam.dm @@ -20,6 +20,7 @@ var/expand = 1 animate_movement = 0 var/metal = FOAM_NOT_METAL + var/time_to_solidify = 4 SECONDS /obj/effect/particle_effect/foam/Initialize(mapload, ismetal=0) @@ -28,7 +29,7 @@ metal = ismetal playsound(src, 'sound/effects/bubbles2.ogg', 25, 1, 5) addtimer(CALLBACK(src, PROC_REF(foam_react)), 3 + metal*3) - addtimer(CALLBACK(src, PROC_REF(foam_metal_final_react)), 40) + addtimer(CALLBACK(src, PROC_REF(foam_metal_final_react)), time_to_solidify) /obj/effect/particle_effect/foam/proc/foam_react() process() diff --git a/code/game/objects/effects/effect_system/smoke.dm b/code/game/objects/effects/effect_system/smoke.dm index c9e404ae5b60..6e3869f563a4 100644 --- a/code/game/objects/effects/effect_system/smoke.dm +++ b/code/game/objects/effects/effect_system/smoke.dm @@ -240,9 +240,9 @@ if(isyautja(M) || isxeno(M)) burn_damage *= xeno_yautja_reduction + var/reagent = new /datum/reagent/napalm/ut() M.burn_skin(burn_damage) - M.adjust_fire_stacks(applied_fire_stacks) - M.fire_reagent = new /datum/reagent/napalm/ut() + M.adjust_fire_stacks(applied_fire_stacks, reagent) M.IgniteMob() M.updatehealth() @@ -316,7 +316,7 @@ if(xeno_affecting) stun_chance = 35 if(prob(stun_chance)) - creature.apply_effect(1, WEAKEN) + creature.apply_effect(2, WEAKEN) //Topical damage (neurotoxin on exposed skin) if(xeno_creature) diff --git a/code/game/objects/effects/landmarks/corpsespawner.dm b/code/game/objects/effects/landmarks/corpsespawner.dm index 27a717f58ba8..cbcd8f906ec8 100644 --- a/code/game/objects/effects/landmarks/corpsespawner.dm +++ b/code/game/objects/effects/landmarks/corpsespawner.dm @@ -16,20 +16,6 @@ GLOB.corpse_spawns -= src return ..() -/obj/effect/landmark/corpsespawner/realpirate - name = "Pirate" - equip_path = /datum/equipment_preset/corpse/realpirate - -/obj/effect/landmark/corpsespawner/realpirate/ranged - name = "Pirate Gunner" - equip_path = /datum/equipment_preset/corpse/realpirate/ranged - -/obj/effect/landmark/corpsespawner/russian - name = "Russian" - equip_path = /datum/equipment_preset/corpse/russian - -/obj/effect/landmark/corpsespawner/russian/ranged - ///////////Civilians////////////////////// /obj/effect/landmark/corpsespawner/prisoner @@ -57,43 +43,50 @@ equip_path = /datum/equipment_preset/corpse/miner /obj/effect/landmark/corpsespawner/security - name = "Security" + name = "Security Officer" equip_path = /datum/equipment_preset/corpse/security /obj/effect/landmark/corpsespawner/security/marshal - name = "Colonial Marshal" - equip_path = /datum/equipment_preset/corpse/security/marshal + name = "Colonial Marshal Deputy" + equip_path = /datum/equipment_preset/corpse/security/cmb /obj/effect/landmark/corpsespawner/security/liaison name = "Corporate Liaison" - equip_path = /datum/equipment_preset/corpse/security/liaison + equip_path = /datum/equipment_preset/corpse/liaison /obj/effect/landmark/corpsespawner/prison_security name = "Prison Guard" - equip_path = /datum/equipment_preset/corpse/prison_security + equip_path = /datum/equipment_preset/corpse/prison_guard /////////////////Officers////////////////////// /obj/effect/landmark/corpsespawner/bridgeofficer - name = "Staff Officer" - equip_path = /datum/equipment_preset/corpse/bridgeofficer + name = "Colony Division Manager" + equip_path = /datum/equipment_preset/corpse/manager -/obj/effect/landmark/corpsespawner/bridgeofficer/johnson - name = "Mr. Johnson Telovin" - equip_path = /datum/equipment_preset/corpse/bridgeofficer/johnson +/obj/effect/landmark/corpsespawner/administrator + name = "Colony Administrator" + equip_path = /datum/equipment_preset/corpse/administrator -/obj/effect/landmark/corpsespawner/commander - name = "Commanding Officer" - equip_path = /datum/equipment_preset/corpse/commander +/obj/effect/landmark/corpsespawner/administrator/burst + name = "Burst Colony Administrator" + equip_path = /datum/equipment_preset/corpse/administrator/burst /obj/effect/landmark/corpsespawner/wysec name = "Weyland-Yutani Corporate Security Guard" equip_path = /datum/equipment_preset/corpse/wysec /obj/effect/landmark/corpsespawner/wygoon - name = "Weyland-Yutani Corporate Security Goon" + name = "Weyland-Yutani Corporate Security Officer" equip_path = /datum/equipment_preset/corpse/pmc/goon +/obj/effect/landmark/corpsespawner/wygoon/lead + name = "Weyland-Yutani Corporate Security Lead" + equip_path = /datum/equipment_preset/corpse/pmc/goon/lead + +/obj/effect/landmark/corpsespawner/wygoon/lead/burst + name = "Burst Weyland-Yutani Corporate Security Lead" + equip_path = /datum/equipment_preset/corpse/pmc/goon/lead/burst ///CM specific jobs/// @@ -165,15 +158,29 @@ equip_path = /datum/equipment_preset/corpse/pmc/burst /obj/effect/landmark/corpsespawner/freelancer - name = "Freelancer Mercenary" + name = "Freelancer" equip_path = /datum/equipment_preset/corpse/freelancer /obj/effect/landmark/corpsespawner/freelancer/burst - name = "Burst Freelancer Mercenary" + name = "Burst Freelancer" equip_path = /datum/equipment_preset/corpse/freelancer/burst // Fun Faction Corpse +/obj/effect/landmark/corpsespawner/realpirate + name = "Pirate" + equip_path = /datum/equipment_preset/corpse/realpirate + +/obj/effect/landmark/corpsespawner/realpirate/ranged + name = "Pirate Gunner" + equip_path = /datum/equipment_preset/corpse/realpirate/ranged + +/obj/effect/landmark/corpsespawner/russian + name = "Russian" + equip_path = /datum/equipment_preset/corpse/russian + +/obj/effect/landmark/corpsespawner/russian/ranged + /obj/effect/landmark/corpsespawner/dutchrifle name = "Dutch Dozen Rifleman" equip_path = /datum/equipment_preset/corpse/dutchrifle diff --git a/code/game/objects/effects/landmarks/survivor_spawner.dm b/code/game/objects/effects/landmarks/survivor_spawner.dm index 803d73151aeb..4a6e5272ed05 100644 --- a/code/game/objects/effects/landmarks/survivor_spawner.dm +++ b/code/game/objects/effects/landmarks/survivor_spawner.dm @@ -201,8 +201,8 @@ //CMB Survivors// /obj/effect/landmark/survivor_spawner/fiorina_armory_cmb - equipment = /datum/equipment_preset/survivor/colonial_marshal - synth_equipment = /datum/equipment_preset/synth/survivor/cmb_synth + equipment = /datum/equipment_preset/survivor/cmb/standard + synth_equipment = /datum/equipment_preset/synth/survivor/cmb/synth intro_text = list("

You are a CMB Deputy!

",\ "You are aware of the 'alien' threat.",\ "Your primary objective is to survive the infestation.") @@ -211,8 +211,8 @@ spawn_priority = SPAWN_PRIORITY_VERY_HIGH /obj/effect/landmark/survivor_spawner/fiorina_armory_riot_control - equipment = /datum/equipment_preset/survivor/colonial_marshal/fiorina - synth_equipment = /datum/equipment_preset/synth/survivor/cmb_synth + equipment = /datum/equipment_preset/survivor/cmb/ua + synth_equipment = /datum/equipment_preset/synth/survivor/cmb/ua_synth intro_text = list("

You are a United Americas Riot Control Officer!

",\ "You are aware of the 'alien' threat.",\ "Your primary objective is to survive the infestation.") diff --git a/code/game/objects/effects/temporary_visuals.dm b/code/game/objects/effects/temporary_visuals.dm index 4dc07b76f3cb..d05e7789b1d5 100644 --- a/code/game/objects/effects/temporary_visuals.dm +++ b/code/game/objects/effects/temporary_visuals.dm @@ -96,3 +96,26 @@ splatter_type = "csplatter" color = BLOOD_COLOR_SYNTHETIC +//------------------------------------------ +//Shockwaves +//------------------------------------------ + +/obj/effect/shockwave + icon = 'icons/effects/light_overlays/shockwave.dmi' + icon_state = "shockwave" + plane = DISPLACEMENT_PLATE_RENDER_LAYER + pixel_x = -496 + pixel_y = -496 + +/obj/effect/shockwave/Initialize(mapload, radius, speed, easing_type = LINEAR_EASING, y_offset, x_offset) + . = ..() + if(!speed) + speed = 1 + if(y_offset) + pixel_y += y_offset + if(x_offset) + pixel_x += x_offset + QDEL_IN(src, 0.5 * radius * speed) + transform = matrix().Scale(32 / 1024, 32 / 1024) + animate(src, time = 0.5 * radius * speed, transform=matrix().Scale((32 / 1024) * radius * 1.5, (32 / 1024) * radius * 1.5), easing = easing_type) + diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index fcd431c33d26..fb0103876301 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -22,6 +22,8 @@ var/attack_speed = 11 //+3, Adds up to 10. Added an extra 4 removed from /mob/proc/do_click() ///Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]" var/list/attack_verb + /// A multiplier to an object's force when used against a stucture. + var/demolition_mod = 1 health = null @@ -459,6 +461,8 @@ cases. Override_icon_state should be a list.*/ if(item.flags_equip_slot & slotdefine2slotbit(slot)) if(is_type_in_list(item, uniform_restricted)) + if(light_on) + turn_light(toggle_on = FALSE) user.drop_inv_item_on_ground(src) to_chat(user, SPAN_NOTICE("You drop \the [src] to the ground while unequipping \the [item].")) diff --git a/code/game/objects/items/circuitboards/computer.dm b/code/game/objects/items/circuitboards/computer.dm index 08dcfc6964a6..ecdfba00719d 100644 --- a/code/game/objects/items/circuitboards/computer.dm +++ b/code/game/objects/items/circuitboards/computer.dm @@ -26,6 +26,12 @@ if (..(C)) network = C.network +/obj/item/circuitboard/computer/cameras/tv + name = "Circuit board (Television Set)" + build_path = /obj/structure/machinery/computer/cameras/wooden_tv/broadcast + network = list(CAMERA_NET_CORRESPONDENT) + req_access = list() + /obj/item/circuitboard/computer/cameras/engineering name = "Circuit board (Engineering Camera Monitor)" build_path = /obj/structure/machinery/computer/cameras/engineering diff --git a/code/game/objects/items/devices/defibrillator.dm b/code/game/objects/items/devices/defibrillator.dm index 9da76b9d21b9..bbeb2046aff0 100644 --- a/code/game/objects/items/devices/defibrillator.dm +++ b/code/game/objects/items/devices/defibrillator.dm @@ -175,7 +175,7 @@ playsound(get_turf(src),'sound/items/defib_charge.ogg', 25, 0) //Do NOT vary this tune, it needs to be precisely 7 seconds //Taking square root not to make defibs too fast... - if(!do_after(user, 7 SECONDS * user.get_skill_duration_multiplier(SKILL_MEDICAL), INTERRUPT_NO_NEEDHAND|BEHAVIOR_IMMOBILE, BUSY_ICON_FRIENDLY, H, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) + if(!do_after(user, (4 + (3 * user.get_skill_duration_multiplier(SKILL_MEDICAL))) SECONDS, INTERRUPT_NO_NEEDHAND|BEHAVIOR_IMMOBILE, BUSY_ICON_FRIENDLY, H, INTERRUPT_MOVED, BUSY_ICON_MEDICAL)) user.visible_message(SPAN_WARNING("[user] stops setting up the paddles on [H]'s chest."), \ SPAN_WARNING("You stop setting up the paddles on [H]'s chest.")) return diff --git a/code/game/objects/items/devices/dummy_tablet.dm b/code/game/objects/items/devices/dummy_tablet.dm index 3172c84c8b01..3ce5f933ab94 100644 --- a/code/game/objects/items/devices/dummy_tablet.dm +++ b/code/game/objects/items/devices/dummy_tablet.dm @@ -7,8 +7,28 @@ item_state = "Cotablet" var/mob/living/carbon/human/linked_dummy + ///Should the dummy be destroyed on hijack? + var/dust_on_hijack = FALSE + +/obj/item/device/professor_dummy_tablet/Initialize() + . = ..() + var/turf/actual_location = get_turf(src) + if(is_mainship_level(actual_location.z)) + dust_on_hijack = TRUE + RegisterSignal(SSdcs, COMSIG_GLOB_HIJACK_LANDED, PROC_REF(destroy_dummy_upon_hijack)) + +/obj/item/device/professor_dummy_tablet/proc/destroy_dummy_upon_hijack() + SIGNAL_HANDLER + + if(!dust_on_hijack) + return + if(!linked_dummy) + return + linked_dummy.visible_message(SPAN_WARNING("The [linked_dummy] suddenly disintegrates!")) + linked_dummy.dust(create_cause_data("hijack autodelete")) /obj/item/device/professor_dummy_tablet/Destroy() + UnregisterSignal(src, COMSIG_GLOB_HIJACK_LANDED) linked_dummy = null . = ..() diff --git a/code/game/objects/items/devices/helmet_visors.dm b/code/game/objects/items/devices/helmet_visors.dm index 4d1b38491791..7b61df3291ef 100644 --- a/code/game/objects/items/devices/helmet_visors.dm +++ b/code/game/objects/items/devices/helmet_visors.dm @@ -238,6 +238,7 @@ on_light = new(attached_helmet) on_light.set_light_on(TRUE) START_PROCESSING(SSobj, src) + RegisterSignal(user, COMSIG_MOB_CHANGE_VIEW, PROC_REF(change_view)) /obj/item/device/helmet_visor/night_vision/deactivate_visor(obj/item/clothing/head/helmet/marine/attached_helmet, mob/living/carbon/human/user) user.remove_client_color_matrix("nvg_visor", 1 SECONDS) @@ -247,6 +248,7 @@ if(visor_glows) qdel(on_light) UnregisterSignal(user, COMSIG_HUMAN_POST_UPDATE_SIGHT) + UnregisterSignal(user, COMSIG_MOB_CHANGE_VIEW) user.update_sight() STOP_PROCESSING(SSobj, src) @@ -271,6 +273,10 @@ if(!.) return + if(user.client.view > 7) + to_chat(user, SPAN_WARNING("You cannot use [src] while using optics.")) + return FALSE + if(!NVG_VISOR_USAGE(FALSE)) to_chat(user, SPAN_NOTICE("Your [src] is out of power! You'll need to recharge it.")) return FALSE @@ -290,6 +296,21 @@ user.lighting_alpha = lighting_alpha user.sync_lighting_plane_alpha() +/obj/item/device/helmet_visor/night_vision/proc/change_view(mob/user, new_size) + SIGNAL_HANDLER + if(new_size > 7) // cannot use binos with NVO + var/obj/item/clothing/head/helmet/marine/attached_helmet = loc + if(!istype(attached_helmet)) + return + deactivate_visor(attached_helmet, user) + to_chat(user, SPAN_NOTICE("You deactivate [src] on [attached_helmet].")) + playsound_client(user.client, toggle_off_sound, null, 75) + attached_helmet.active_visor = null + attached_helmet.update_icon() + var/datum/action/item_action/cycle_helmet_huds/cycle_action = locate() in attached_helmet.actions + if(cycle_action) + cycle_action.set_default_overlay() + #undef NVG_VISOR_USAGE /atom/movable/nvg_light diff --git a/code/game/objects/items/devices/personal_data_transmitter.dm b/code/game/objects/items/devices/personal_data_transmitter.dm index 98f8c60452ea..b967aa9273ca 100644 --- a/code/game/objects/items/devices/personal_data_transmitter.dm +++ b/code/game/objects/items/devices/personal_data_transmitter.dm @@ -139,6 +139,7 @@ /obj/item/device/pdt_locator_tube/Destroy() linked_bracelet = null + QDEL_NULL(battery) return ..() /obj/item/clothing/accessory/pdt_bracelet diff --git a/code/game/objects/items/explosives/explosive.dm b/code/game/objects/items/explosives/explosive.dm index 4483372c9b85..cac5bd3d0b61 100644 --- a/code/game/objects/items/explosives/explosive.dm +++ b/code/game/objects/items/explosives/explosive.dm @@ -24,6 +24,8 @@ "min_fire_rad" = 1, "min_fire_int" = 3, "min_fire_dur" = 3 ) var/falloff_mode = EXPLOSION_FALLOFF_SHAPE_LINEAR + /// Whether a star shape is possible when the intensity meets CHEM_FIRE_STAR_THRESHOLD + var/allow_star_shape = TRUE var/use_dir = FALSE var/angle = 360 var/has_blast_wave_dampener = FALSE; //Whether or not the casing can be toggle between different falloff_mode @@ -185,6 +187,7 @@ for(var/obj/item/reagent_container/glass/G in containers) if(G.reagents.total_volume) has_reagents = 1 + reagents.allow_star_shape = allow_star_shape break if(!has_reagents) diff --git a/code/game/objects/items/explosives/grenades/grenade.dm b/code/game/objects/items/explosives/grenades/grenade.dm index 6b793233678d..b2f95646a966 100644 --- a/code/game/objects/items/explosives/grenades/grenade.dm +++ b/code/game/objects/items/explosives/grenades/grenade.dm @@ -36,7 +36,7 @@ to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!")) return FALSE - if(harmful && !user.allow_gun_usage) + if(harmful && ishuman(user) && !user.allow_gun_usage) to_chat(user, SPAN_WARNING("Your programming prevents you from using this!")) return FALSE diff --git a/code/game/objects/items/explosives/warhead.dm b/code/game/objects/items/explosives/warhead.dm index 9825d7483193..1b7ec1ed4f94 100644 --- a/code/game/objects/items/explosives/warhead.dm +++ b/code/game/objects/items/explosives/warhead.dm @@ -9,10 +9,11 @@ name = "84mm rocket warhead" desc = "A custom warhead meant for 84mm rocket shells." icon_state = "warhead_rocket" - max_container_volume = 180 + max_container_volume = 210 + allow_star_shape = FALSE matter = list("metal" = 11250) //3 sheets - reaction_limits = list( "max_ex_power" = 300, "base_ex_falloff" = 120,"max_ex_shards" = 64, - "max_fire_rad" = 7, "max_fire_int" = 30, "max_fire_dur" = 36, + reaction_limits = list( "max_ex_power" = 240, "base_ex_falloff" = 90,"max_ex_shards" = 64, + "max_fire_rad" = 6, "max_fire_int" = 40, "max_fire_dur" = 48, "min_fire_rad" = 2, "min_fire_int" = 4, "min_fire_dur" = 5 ) has_blast_wave_dampener = TRUE diff --git a/code/game/objects/items/misc.dm b/code/game/objects/items/misc.dm index 1699cb24ef39..a7df88374b29 100644 --- a/code/game/objects/items/misc.dm +++ b/code/game/objects/items/misc.dm @@ -56,13 +56,13 @@ ..() if(!gripped) user.visible_message(SPAN_NOTICE("[user] grips [src] tightly."), SPAN_NOTICE("You grip [src] tightly.")) - flags_item |= NODROP + flags_item |= NODROP|FORCEDROP_CONDITIONAL ADD_TRAIT(user, TRAIT_HOLDS_CANE, TRAIT_SOURCE_ITEM) user.AddComponent(/datum/component/footstep, 6, 35, 4, 1, "cane_step") gripped = TRUE else user.visible_message(SPAN_NOTICE("[user] loosens \his grip on [src]."), SPAN_NOTICE("You loosen your grip on [src].")) - flags_item &= ~NODROP + flags_item &= ~(NODROP|FORCEDROP_CONDITIONAL) REMOVE_TRAIT(user, TRAIT_HOLDS_CANE, TRAIT_SOURCE_ITEM) // Ideally, this would be something like a component added onto every mob that prioritizes certain sounds, such as stomping over canes. var/component = user.GetComponent(/datum/component/footstep) diff --git a/code/game/objects/items/props/helmetgarb.dm b/code/game/objects/items/props/helmetgarb.dm index bdf140ff11c3..5b9b81804311 100644 --- a/code/game/objects/items/props/helmetgarb.dm +++ b/code/game/objects/items/props/helmetgarb.dm @@ -450,6 +450,9 @@ shape = NVG_SHAPE_COSMETIC garbage = TRUE +/obj/item/prop/helmetgarb/helmet_nvg/cosmetic/break_nvg(mob/living/carbon/human/user, list/slashdata, mob/living/carbon/xenomorph/Xeno) + return + /obj/item/prop/helmetgarb/helmet_nvg/marsoc //for Marine Raiders name = "\improper Tactical M3 night vision goggles" desc = "With an integrated self-recharging battery, nothing can stop you. Put them on your helmet and press the button and it's go-time." diff --git a/code/game/objects/items/reagent_containers/food/snacks.dm b/code/game/objects/items/reagent_containers/food/snacks.dm index 112a8e40e85b..293a71ca7c5d 100644 --- a/code/game/objects/items/reagent_containers/food/snacks.dm +++ b/code/game/objects/items/reagent_containers/food/snacks.dm @@ -55,7 +55,13 @@ return FALSE if(package) - to_chat(M, SPAN_WARNING("How do you expect to eat this with the package still on?")) + if(user.a_intent == INTENT_HARM) + return ..() // chunk box gaming + + if(user == M) + to_chat(M, SPAN_WARNING("How do you expect to eat this with the package still on?")) + else + to_chat(M, SPAN_WARNING("[user] made an endearing attempt to force feed you a snack with the packaging still on.")) return FALSE if(istype(M, /mob/living/carbon)) @@ -2738,6 +2744,10 @@ var/list/boxes = list() // If the boxes are stacked, they come here var/boxtag = "" +/obj/item/pizzabox/Destroy(force) + QDEL_NULL(pizza) + return ..() + /obj/item/pizzabox/update_icon() overlays = list() @@ -3289,8 +3299,11 @@ name = "CHUNK box" desc = "A bar of \"The CHUNK\" brand chocolate. \"The densest chocolate permitted to exist according to federal law. We are legally required to ask you not to use this blunt object for anything other than nutrition.\"" icon_state = "chunk" - force = 15 //LEGAL LIMIT OF CHOCOLATE + hitsound = "swing_hit" + force = 15 throwforce = 10 + attack_speed = 10 + demolition_mod = 0.3 bitesize = 2 wrapper = /obj/item/trash/chunk @@ -3304,8 +3317,7 @@ desc = "A 'crate', as the marketing called it, of \"The HUNK\" brand chocolate. An early version of the CHUNK box, the HUNK bar was hit by a class action lawsuit and forced to go into bankruptcy and get bought out by the Company when hundreds of customers had their teeth crack from simply attempting to eat the bar." icon_state = "hunk" w_class = SIZE_MEDIUM - hitsound = "swing_hit" - force = 35 //ILLEGAL LIMIT OF CHOCOLATE + force = 35 throwforce = 50 bitesize = 20 wrapper = /obj/item/trash/chunk/hunk diff --git a/code/game/objects/items/reagent_containers/food/snacks/meat.dm b/code/game/objects/items/reagent_containers/food/snacks/meat.dm index f68f488f268d..f541986112e5 100644 --- a/code/game/objects/items/reagent_containers/food/snacks/meat.dm +++ b/code/game/objects/items/reagent_containers/food/snacks/meat.dm @@ -28,7 +28,8 @@ name = "synthetic meat" desc = "A synthetic slab of flesh." -/obj/item/reagent_container/food/snacks/meat/synthmeat/synthflesh //meat made from synthetics. Slightly toxic +/// Meat made from synthetics. Slightly toxic +/obj/item/reagent_container/food/snacks/meat/synthmeat/synthflesh name = "synthetic flesh" desc = "A slab of artificial, inorganic 'flesh' that resembles human meat. Probably came from a synth." icon_state = "synthmeat" diff --git a/code/game/objects/items/reagent_containers/glass.dm b/code/game/objects/items/reagent_containers/glass.dm index fc8d03f5d24d..e0f432bd5b09 100644 --- a/code/game/objects/items/reagent_containers/glass.dm +++ b/code/game/objects/items/reagent_containers/glass.dm @@ -365,6 +365,14 @@ ground_offset_x = 9 ground_offset_y = 8 +/obj/item/reagent_container/glass/beaker/vial/epinephrine + name = "epinephrine vial" + +/obj/item/reagent_container/glass/beaker/vial/epinephrine/Initialize() + . = ..() + reagents.add_reagent("adrenaline", 30) + update_icon() + /obj/item/reagent_container/glass/beaker/vial/tricordrazine name = "tricordrazine vial" diff --git a/code/game/objects/items/reagent_containers/glass/bottle.dm b/code/game/objects/items/reagent_containers/glass/bottle.dm index 9e0215b535b6..61cdee01c8f8 100644 --- a/code/game/objects/items/reagent_containers/glass/bottle.dm +++ b/code/game/objects/items/reagent_containers/glass/bottle.dm @@ -396,3 +396,13 @@ . = ..() reagents.add_reagent("tricordrazine", 60) update_icon() + +/obj/item/reagent_container/glass/bottle/epinephrine + name = "\improper Epinephrine bottle" + desc = "A small bottle. Contains epinephrine - Used to increase a patients arterial blood pressure, amongst other actions, to assist in cardiopulmonary resuscitation." //"I can't lie to you about your odds of a successful resuscitation, but you have my sympathies" + volume = 60 + +/obj/item/reagent_container/glass/bottle/epinephrine/Initialize() + . = ..() + reagents.add_reagent("adrenaline", 60) + update_icon() diff --git a/code/game/objects/items/reagent_containers/hypospray.dm b/code/game/objects/items/reagent_containers/hypospray.dm index 5e268d35a33d..05b76568d702 100644 --- a/code/game/objects/items/reagent_containers/hypospray.dm +++ b/code/game/objects/items/reagent_containers/hypospray.dm @@ -237,6 +237,9 @@ /obj/item/reagent_container/hypospray/tricordrazine starting_vial = /obj/item/reagent_container/glass/beaker/vial/tricordrazine +/obj/item/reagent_container/hypospray/epinephrine + starting_vial = /obj/item/reagent_container/glass/beaker/vial/epinephrine + /obj/item/reagent_container/hypospray/sedative name = "Sedative Hypospray" starting_vial = /obj/item/reagent_container/glass/beaker/vial/sedative diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 18578295b02b..bef6d1d168de 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -4,7 +4,7 @@ singular_name = "metal rod" icon_state = "rods" flags_atom = FPRINT|CONDUCT - w_class = SIZE_MEDIUM + w_class = SIZE_SMALL force = 9 throwforce = 15 throw_speed = SPEED_VERY_FAST @@ -54,13 +54,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( singular_name = "plasteel rod" icon_state = "rods_plasteel" flags_atom = FPRINT - w_class = SIZE_MEDIUM - force = 9 - throwforce = 15 - throw_speed = SPEED_VERY_FAST - throw_range = 20 matter = list("plasteel" = 3750) - max_amount = 60 attack_verb = list("hit", "bludgeoned", "whacked") stack_id = "plasteel rod" sheet_path = /obj/item/stack/sheet/plasteel diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 5aeef14c536d..5e4bc8c726bd 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -125,6 +125,9 @@ ..() /obj/item/storage/backpack/proc/is_accessible_by(mob/user) + // If the user is already looking inside this backpack. + if(user.s_active == src) + return TRUE if(ishuman(user)) var/mob/living/carbon/human/H = user if(!worn_accessible) @@ -348,6 +351,12 @@ /obj/item/storage/backpack/satchel/lockable/liaison lock_overridable = FALSE +/obj/item/storage/backpack/satchel/blue + icon_state = "satchel_blue" + +/obj/item/storage/backpack/satchel/black + icon_state = "satchel_black" + /obj/item/storage/backpack/satchel/norm name = "satchel" desc = "A trendy-looking satchel." diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index a977eb880ff5..1daffa2908f0 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -319,6 +319,29 @@ new /obj/item/storage/pill_bottle/inaprovaline(src) new /obj/item/storage/pill_bottle/tramadol(src) +/obj/item/storage/belt/medical/lifesaver/upp/synth/fill_preset_inventory() + new /obj/item/storage/pill_bottle/bicaridine(src) + new /obj/item/storage/pill_bottle/bicaridine(src) + new /obj/item/storage/pill_bottle/kelotane(src) + new /obj/item/storage/pill_bottle/kelotane(src) + new /obj/item/storage/pill_bottle/tramadol(src) + new /obj/item/storage/pill_bottle/tramadol(src) + new /obj/item/storage/pill_bottle/antitox(src) + new /obj/item/storage/pill_bottle/alkysine(src) + new /obj/item/storage/pill_bottle/imidazoline(src) + new /obj/item/stack/medical/advanced/bruise_pack(src) + new /obj/item/stack/medical/advanced/bruise_pack(src) + new /obj/item/stack/medical/advanced/bruise_pack(src) + new /obj/item/stack/medical/advanced/ointment(src) + new /obj/item/stack/medical/advanced/ointment(src) + new /obj/item/stack/medical/advanced/ointment(src) + new /obj/item/stack/medical/splint(src) + new /obj/item/stack/medical/splint(src) + new /obj/item/stack/medical/splint(src) + new /obj/item/reagent_container/hypospray/autoinjector/dexalinp(src) + new /obj/item/reagent_container/hypospray/autoinjector/oxycodone(src) + new /obj/item/device/healthanalyzer(src) + /obj/item/storage/belt/security name = "\improper M276 pattern security rig" desc = "The M276 is the standard load-bearing equipment of the USCM. It consists of a modular belt with various clips. This configuration is commonly seen among USCM Military Police and peacekeepers, though it can hold some light munitions." @@ -383,6 +406,13 @@ new /obj/item/reagent_container/spray/pepper(src) new /obj/item/device/clue_scanner(src) +/obj/item/storage/belt/security/MP/full/synth/fill_preset_inventory() + new /obj/item/explosive/grenade/flashbang(src) + new /obj/item/device/flash(src) + new /obj/item/weapon/baton(src) + new /obj/item/reagent_container/spray/pepper(src) + new /obj/item/device/clue_scanner(src) + new /obj/item/handcuffs(src) /obj/item/storage/belt/security/MP/UPP name = "\improper Type 43 military police rig" diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 8e4ffb90d2bd..4b7ecc4c5599 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -754,6 +754,18 @@ . = ..() isopened = 0 icon_state = "mealpack" + RegisterSignal(src, COMSIG_ITEM_DROPPED, PROC_REF(try_forced_folding)) + +/obj/item/storage/box/MRE/proc/try_forced_folding(datum/source, mob/user) + SIGNAL_HANDLER + + if(locate(/obj/item/reagent_container/food/snacks/packaged_meal) in src) + return + + UnregisterSignal(src, COMSIG_ITEM_DROPPED) + storage_close(user) + to_chat(user, SPAN_NOTICE("You throw away [src].")) + qdel(src) /obj/item/storage/box/MRE/update_icon() if(!contents.len) diff --git a/code/game/objects/items/storage/internal.dm b/code/game/objects/items/storage/internal.dm index a491df12f086..4d196ab145aa 100644 --- a/code/game/objects/items/storage/internal.dm +++ b/code/game/objects/items/storage/internal.dm @@ -61,10 +61,13 @@ else user.drop_inv_item_on_ground(master_item) user.put_in_r_hand(master_item) - return else user.drop_inv_item_on_ground(master_item) user.put_in_r_hand(master_item) + + if(master_item.light_on) + master_item.turn_light(toggle_on = FALSE) + return if("l_hand") if(master_item.time_to_unequip) user.visible_message(SPAN_NOTICE("[user] starts taking off \the [master_item].")) @@ -73,10 +76,13 @@ else user.drop_inv_item_on_ground(master_item) user.put_in_l_hand(master_item) - return else user.drop_inv_item_on_ground(master_item) user.put_in_l_hand(master_item) + + if(master_item.light_on) + master_item.turn_light(toggle_on = FALSE) + return master_item.add_fingerprint(user) return FALSE return FALSE diff --git a/code/game/objects/items/storage/pouch.dm b/code/game/objects/items/storage/pouch.dm index 5be788dce25c..1b75a1a7d89d 100644 --- a/code/game/objects/items/storage/pouch.dm +++ b/code/game/objects/items/storage/pouch.dm @@ -824,6 +824,7 @@ /obj/item/roller = list(SKILL_MEDICAL, SKILL_MEDICAL_MEDIC), /obj/item/bodybag = list(SKILL_MEDICAL, SKILL_MEDICAL_MEDIC), /obj/item/reagent_container/blood = list(SKILL_MEDICAL, SKILL_MEDICAL_MEDIC), + /obj/item/tool/surgery/FixOVein = list(SKILL_MEDICAL, SKILL_MEDICAL_MEDIC), ) can_hold_skill_only = TRUE @@ -1271,6 +1272,21 @@ new /obj/item/explosive/plastic(src) new /obj/item/explosive/plastic(src) +/obj/item/storage/pouch/tools/tactical/upp + name = "synthetic tools pouch" + desc = "Special issue tools pouch for UPP synthetics. Due to the enhanced strength of the synthetic and its inability to feel discomfort, this pouch is designed to maximize internal space with no concern for its wearer's comfort." + icon_state = "tools" + storage_slots = 7 + +/obj/item/storage/pouch/tools/tactical/upp/fill_preset_inventory() + new /obj/item/tool/wrench(src) + new /obj/item/tool/crowbar(src) + new /obj/item/tool/wirecutters(src) + new /obj/item/device/multitool(src) + new /obj/item/tool/weldingtool(src) + new /obj/item/stack/cable_coil(src) + new /obj/item/stack/cable_coil(src) + /obj/item/storage/pouch/tools/uppsynth/fill_preset_inventory() new /obj/item/tool/crowbar(src) new /obj/item/tool/wirecutters(src) diff --git a/code/game/objects/items/tools/experimental_tools.dm b/code/game/objects/items/tools/experimental_tools.dm index 221aa279a53b..dad06367b43d 100644 --- a/code/game/objects/items/tools/experimental_tools.dm +++ b/code/game/objects/items/tools/experimental_tools.dm @@ -157,7 +157,7 @@ end_cpr() return PROCESS_KILL - if(world.time > last_pump + 10 SECONDS) + if(world.time > last_pump + 7.5 SECONDS) last_pump = world.time if(H.stat == UNCONSCIOUS) var/suff = min(H.getOxyLoss(), 10) //Pre-merge level, less healing, more prevention of dying. diff --git a/code/game/objects/items/tools/kitchen_tools.dm b/code/game/objects/items/tools/kitchen_tools.dm index 2cff941be8d6..d6473b156a67 100644 --- a/code/game/objects/items/tools/kitchen_tools.dm +++ b/code/game/objects/items/tools/kitchen_tools.dm @@ -126,7 +126,7 @@ flags_atom = FPRINT|CONDUCT sharp = IS_SHARP_ITEM_ACCURATE edge = 1 - force = 10 + force = MELEE_FORCE_TIER_4 w_class = SIZE_MEDIUM throwforce = 6 throw_speed = SPEED_VERY_FAST @@ -143,7 +143,7 @@ icon_state = "butch" desc = "A huge thing used for chopping and chopping up meat. This includes clowns and clown-by-products." flags_atom = FPRINT|CONDUCT - force = 15 + force = MELEE_FORCE_NORMAL w_class = SIZE_SMALL throwforce = 8 throw_speed = SPEED_VERY_FAST diff --git a/code/game/objects/items/tools/mining_tools.dm b/code/game/objects/items/tools/mining_tools.dm index 2389f85a370a..2b95e9fe94c2 100644 --- a/code/game/objects/items/tools/mining_tools.dm +++ b/code/game/objects/items/tools/mining_tools.dm @@ -8,10 +8,11 @@ icon_state = "pickaxe" flags_atom = FPRINT|CONDUCT flags_equip_slot = SLOT_WAIST - force = 15 + force = MELEE_FORCE_STRONG throwforce = 4 item_state = "pickaxe" w_class = SIZE_LARGE + hitsound = 'sound/weapons/bladeslice.ogg' matter = list("metal" = 3750) /// moving the delay to an item var so R&D can make improved picks. --NEO var/digspeed = 40 diff --git a/code/game/objects/items/tools/surgery_tools.dm b/code/game/objects/items/tools/surgery_tools.dm index 7d354d8d8c1c..a1792b574eec 100644 --- a/code/game/objects/items/tools/surgery_tools.dm +++ b/code/game/objects/items/tools/surgery_tools.dm @@ -96,6 +96,7 @@ force = 10 sharp = IS_SHARP_ITEM_ACCURATE edge = 1 + demolition_mod = 0.1 w_class = SIZE_TINY throwforce = 5 flags_item = CAN_DIG_SHRAPNEL diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 0497a410a373..92400e2d3184 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -89,7 +89,7 @@ /obj/item/weapon/shield/riot/attackby(obj/item/W as obj, mob/user as mob) if(cooldown < world.time - 25) - if(istype(W, /obj/item/weapon/baton) || istype(W, /obj/item/weapon/sword) || istype(W, /obj/item/weapon/baseballbat) || istype(W, /obj/item/weapon/twohanded/fireaxe) || istype(W, /obj/item/weapon/chainofcommand)) + if(istype(W, /obj/item/weapon/baton) || istype(W, /obj/item/weapon/sword) || istype(W, /obj/item/weapon/telebaton) || istype(W, /obj/item/weapon/baseballbat) || istype(W, /obj/item/weapon/classic_baton) || istype(W, /obj/item/weapon/twohanded/fireaxe) || istype(W, /obj/item/weapon/chainofcommand)) user.visible_message(SPAN_WARNING("[user] bashes [src] with [W]!")) playsound(user.loc, 'sound/effects/shieldbash.ogg', 25, 1) cooldown = world.time diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm index cdab7db87ed7..043da19c9d92 100644 --- a/code/game/objects/items/weapons/swords_axes_etc.dm +++ b/code/game/objects/items/weapons/swords_axes_etc.dm @@ -23,7 +23,7 @@ icon_state = "baton" item_state = "classic_baton" flags_equip_slot = SLOT_WAIST - force = MELEE_FORCE_WEAK + force = MELEE_FORCE_NORMAL /obj/item/weapon/classic_baton/attack(mob/M as mob, mob/living/user as mob) if(!..()) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index be7571fa84a1..36e0ea702a95 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -101,7 +101,7 @@ w_class = SIZE_HUGE icon_state = "offhand" name = "offhand" - flags_item = DELONDROP|TWOHANDED|WIELDED + flags_item = DELONDROP|TWOHANDED|WIELDED|CANTSTRIP /obj/item/weapon/twohanded/offhand/unwield(mob/user) if(flags_item & WIELDED) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 8a37eef3ee73..a3febb11dddb 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -142,31 +142,39 @@ return "on [t_his] feet" return "...somewhere?" -/obj/proc/updateUsrDialog() - if(in_use) - var/is_in_use = 0 - var/list/nearby = viewers(1, src) - for(var/mob/M in nearby) - if ((M.client && M.interactee == src)) - is_in_use = 1 - attack_hand(M) - if (isSilicon(usr)) - if (!(usr in nearby)) - if (usr.client && usr.interactee==src) // && M.interactee == src is omitted because if we triggered this by using the dialog, it doesn't matter if our machine changed in between triggering it and this - the dialog is probably still supposed to refresh. - is_in_use = 1 - attack_remote(usr) - in_use = is_in_use +/obj/proc/updateUsrDialog(mob/user) + if(!user) + user = usr + if(!in_use || !user) + return + + var/is_in_use = FALSE + var/list/nearby = viewers(1, src) + for(var/mob/cur_mob in nearby) + if(cur_mob.client && cur_mob.interactee == src) + is_in_use = TRUE + attack_hand(cur_mob) + if(isSilicon(user)) + if(!(user in nearby)) + if(user.client && user.interactee == src) // && M.interactee == src is omitted because if we triggered this by using the dialog, it doesn't matter if our machine changed in between triggering it and this - the dialog is probably still supposed to refresh. + is_in_use = TRUE + attack_remote(user) + + in_use = is_in_use /obj/proc/updateDialog() // Check that people are actually using the machine. If not, don't update anymore. - if(in_use) - var/list/nearby = viewers(1, src) - var/is_in_use = 0 - for(var/mob/M in nearby) - if ((M.client && M.interactee == src)) - is_in_use = 1 - src.interact(M) - in_use = is_in_use + if(!in_use) + return + + var/is_in_use = FALSE + var/list/nearby = viewers(1, src) + for(var/mob/cur_mob in nearby) + if(cur_mob.client && cur_mob.interactee == src) + is_in_use = TRUE + interact(cur_mob) + + in_use = is_in_use /obj/proc/interact(mob/user) return @@ -269,7 +277,7 @@ if (!ismob(M) || (get_dist(src, user) > 1) || user.is_mob_restrained() || user.stat || buckled_mob || M.buckled || !isturf(user.loc)) return - if (isxeno(user)) + if (isxeno(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) to_chat(user, SPAN_WARNING("You don't have the dexterity to do that, try a nest.")) return if (iszombie(user)) @@ -292,10 +300,10 @@ if(M.loc != src.loc) return . = buckle_mob(M) - if (M.mob_size <= MOB_SIZE_XENO && M.stat == DEAD && istype(src, /obj/structure/bed/roller)) - do_buckle(M, user) - return - if (M.mob_size > MOB_SIZE_HUMAN) + if (M.mob_size <= MOB_SIZE_XENO) + if ((M.stat == DEAD && istype(src, /obj/structure/bed/roller) || HAS_TRAIT(M, TRAIT_OPPOSABLE_THUMBS))) + do_buckle(M, user) + if ((M.mob_size > MOB_SIZE_HUMAN)) to_chat(user, SPAN_WARNING("[M] is too big to buckle in.")) return do_buckle(M, user) diff --git a/code/game/objects/prop.dm b/code/game/objects/prop.dm index c067a9730e70..ac94e8ab03b4 100644 --- a/code/game/objects/prop.dm +++ b/code/game/objects/prop.dm @@ -89,6 +89,11 @@ icon_state = "uscmflag2" desc = "A miniature historical table flag of the United States Colonial Marines, in traditional scarlet and gold. The USCM logo sits in the center; an eagle is perched atop it and an anchor rests behind it." +/obj/item/prop/tableflag/upp + name = "UPP table flag" + icon_state = "uppflag" + desc = "A miniature table flag of the Union of Progressive Peoples, consisting of 17 yellow stars, surrounding the bigger one in the middle on scarlet field." + /obj/item/prop/flower_vase name = "flower vase" icon_state = "flowervase" diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index 2519ed2940d5..919f185ebe9e 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -219,8 +219,12 @@ playsound(loc, 'sound/items/Ratchet.ogg', 25, 1) if(anchored) user.visible_message(SPAN_NOTICE("[user] anchors [src] into place."),SPAN_NOTICE("You anchor [src] into place.")) + for(var/obj/medlink in loc) + SEND_SIGNAL(medlink, COMSIG_STRUCTURE_WRENCHED, src) else user.visible_message(SPAN_NOTICE("[user] unanchors [src]."),SPAN_NOTICE("You unanchor [src].")) + for(var/obj/medlink in loc) + SEND_SIGNAL(medlink, COMSIG_STRUCTURE_UNWRENCHED, src) return TRUE /obj/structure/get_applying_acid_time() diff --git a/code/game/objects/structures/barricade/barricade.dm b/code/game/objects/structures/barricade/barricade.dm index 313067ca6a56..edb13ac16e5a 100644 --- a/code/game/objects/structures/barricade/barricade.dm +++ b/code/game/objects/structures/barricade/barricade.dm @@ -333,7 +333,7 @@ take_damage(dam * burn_flame_multiplier) /obj/structure/barricade/proc/hit_barricade(obj/item/item) - take_damage(item.force * 0.5 * brute_multiplier) + take_damage(item.force * item.demolition_mod * 0.5 * brute_multiplier) /obj/structure/barricade/proc/take_damage(damage) for(var/obj/structure/barricade/barricade in get_step(src,dir)) //discourage double-stacking barricades by removing health from opposing barricade diff --git a/code/game/objects/structures/barricade/handrail.dm b/code/game/objects/structures/barricade/handrail.dm index 1d641479c3d9..2fde8de3fe98 100644 --- a/code/game/objects/structures/barricade/handrail.dm +++ b/code/game/objects/structures/barricade/handrail.dm @@ -198,3 +198,11 @@ /obj/structure/barricade/handrail/sandstone/b icon_state = "hr_sandstone_b" + +/obj/structure/barricade/handrail/pizza + name = "\improper diner half-wall" + icon_state = "hr_sandstone" //temp, getting sprites soontm + color = "#b51c0b" + can_be_reinforced = FALSE + projectile_coverage = PROJECTILE_COVERAGE_LOW + layer = MOB_LAYER + 0.01 diff --git a/code/game/objects/structures/barricade/misc.dm b/code/game/objects/structures/barricade/misc.dm index a0465de8f070..8fcf7cec41ad 100644 --- a/code/game/objects/structures/barricade/misc.dm +++ b/code/game/objects/structures/barricade/misc.dm @@ -50,9 +50,9 @@ /obj/structure/barricade/snow/hit_barricade(obj/item/I) switch(I.damtype) if("fire") - take_damage( I.force * 0.6 ) + take_damage( I.force * I.demolition_mod * 0.6 ) if("brute") - take_damage( I.force * 0.3 ) + take_damage( I.force * I.demolition_mod * 0.3 ) return @@ -106,6 +106,6 @@ /obj/structure/barricade/wooden/hit_barricade(obj/item/I) switch(I.damtype) if("fire") - take_damage( I.force * 1.5 ) + take_damage( I.force * I.demolition_mod * 1.5 ) if("brute") - take_damage( I.force * 0.75 ) + take_damage( I.force * I.demolition_mod * 0.75 ) diff --git a/code/game/objects/structures/blocker.dm b/code/game/objects/structures/blocker.dm index f85b1e65fff5..33f79d7e9d32 100644 --- a/code/game/objects/structures/blocker.dm +++ b/code/game/objects/structures/blocker.dm @@ -125,3 +125,11 @@ icon_state = "purple_line" visible = TRUE + +// for fuel pump since it's a large sprite. + +/obj/structure/blocker/fuelpump + name = "\improper Fuel Pump" + desc = "It is a machine that pumps fuel around the ship." + invisibility = 101 + mouse_opacity = MOUSE_OPACITY_TRANSPARENT diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index f7518a8c6058..4f7b14d64092 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -186,9 +186,7 @@ /obj/structure/closet/secure_closet/professor_dummy/Initialize() . = ..() - var/mob/living/carbon/human/dummy/professor_dummy/spawned_dummy = new(src) - var/datum/equipment_preset/dummy_preset = /datum/equipment_preset/other/professor_dummy - arm_equipment(spawned_dummy, initial(dummy_preset.name), TRUE, FALSE) + new /mob/living/carbon/human/professor_dummy(src) /obj/structure/closet/secure_closet/professor_dummy/togglelock(mob/living/user) if(user.job == JOB_CMO || user.job == JOB_SEA) @@ -197,13 +195,13 @@ to_chat(user, SPAN_WARNING("Only the [JOB_CMO] or the [JOB_SEA] can toggle this lock.")) /obj/structure/closet/secure_closet/professor_dummy/dump_contents() - if(locate(/mob/living/carbon/human/dummy/professor_dummy) in src) + if(locate(/mob/living/carbon/human/professor_dummy) in src) visible_message(SPAN_HIGHDANGER("Professor DUMMY should only be used for teaching medical personnel, exclusively done by the [JOB_CMO] or the [JOB_SEA]. Do not abuse it.")) return ..() /obj/structure/closet/secure_closet/professor_dummy/close() for(var/mob/mob in loc) - if(!istype(mob, /mob/living/carbon/human/dummy/professor_dummy)) + if(!istype(mob, /mob/living/carbon/human/professor_dummy)) visible_message(SPAN_WARNING("[src] won't budge!")) return ..() @@ -216,7 +214,7 @@ return /obj/structure/closet/secure_closet/professor_dummy/proc/check_and_destroy_dummy() - var/mob/dummy = locate(/mob/living/carbon/human/dummy/professor_dummy) in src + var/mob/dummy = locate(/mob/living/carbon/human/professor_dummy) in src if(dummy) visible_message(SPAN_DANGER("Something in [src] blows apart!")) playsound(src, 'sound/effects/metal_crash.ogg', 25, 1) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 8439a887e57f..bfc9bfa7833e 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -57,7 +57,7 @@ /obj/structure/displaycase/attackby(obj/item/W as obj, mob/user as mob) - src.health -= W.force + src.health -= W.force * W.demolition_mod src.healthcheck() ..() return diff --git a/code/game/objects/structures/fence.dm b/code/game/objects/structures/fence.dm index db24dfdfebdd..60a8682a4930 100644 --- a/code/game/objects/structures/fence.dm +++ b/code/game/objects/structures/fence.dm @@ -170,9 +170,9 @@ else switch(W.damtype) if("fire") - health -= W.force + health -= W.force * W.demolition_mod if("brute") - health -= W.force * 0.1 + health -= W.force * W.demolition_mod * 0.1 healthcheck(1, 1, user, W) ..() diff --git a/code/game/objects/structures/lamarr_cage.dm b/code/game/objects/structures/lamarr_cage.dm index fbae7a387a63..3708b15b25e6 100644 --- a/code/game/objects/structures/lamarr_cage.dm +++ b/code/game/objects/structures/lamarr_cage.dm @@ -53,8 +53,8 @@ /obj/structure/lamarr/attackby(obj/item/W as obj, mob/user as mob) - src.health -= W.force - src.healthcheck() + health -= W.force * W.demolition_mod + healthcheck() ..() return diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 25dc0040e2ac..0fd22361c67b 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -102,7 +102,7 @@ Dismantle() else if(!(W.flags_item & NOBLUDGEON) && W.force) user.animation_attack_on(src) - hardness -= W.force/100 + hardness -= W.force/100 * W.demolition_mod to_chat(user, "You hit the [name] with your [W.name]!") CheckHardness() else diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index a8d76843313a..0ee7453782d9 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -121,10 +121,10 @@ playsound(loc, 'sound/effects/Glasshit.ogg', 25, 1) return if(shattered) - playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 25, 1) + playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 25, 1) user.visible_message(SPAN_WARNING("[user] hits [src] with [I], but it's already broken!"), SPAN_WARNING("You hit [src] with [I], but it's already broken!")) return - if(prob(I.force * 2)) + if(prob(I.force * I.demolition_mod * 2)) user.visible_message(SPAN_WARNING("[user] smashes [src] with [I]!"), SPAN_WARNING("You smash [src] with [I]!")) shatter() else diff --git a/code/game/objects/structures/pipes/pipes.dm b/code/game/objects/structures/pipes/pipes.dm index 9f2b70c70661..fb51a605ee93 100644 --- a/code/game/objects/structures/pipes/pipes.dm +++ b/code/game/objects/structures/pipes/pipes.dm @@ -52,6 +52,7 @@ for(var/obj/structure/pipes/P in connected_to) P.remove_connection(src) + connected_to.Cut() GLOB.mainship_pipes -= src @@ -96,6 +97,7 @@ /obj/structure/pipes/proc/remove_connection(obj/structure/pipes/P) connected_to -= P + P.connected_to -= src /obj/structure/pipes/proc/get_connection(direction) var/obj/structure/pipes/best_connected_pipe = null diff --git a/code/game/objects/structures/pipes/vents/pump_scrubber.dm b/code/game/objects/structures/pipes/vents/pump_scrubber.dm index a4565c610ad5..acc8b4784af9 100644 --- a/code/game/objects/structures/pipes/vents/pump_scrubber.dm +++ b/code/game/objects/structures/pipes/vents/pump_scrubber.dm @@ -21,6 +21,35 @@ name = "Reinforced Air Vent" explodey = FALSE +/// Vents that are linked to ARES Security Protocols, allowing the ARES Interface to trigger security measures. +/obj/structure/pipes/vents/pump/no_boom/gas + name = "Security Air Vent" + var/datum/ares_link/link + var/vent_tag + COOLDOWN_DECLARE(vent_trigger_cooldown) + +/obj/structure/pipes/vents/pump/no_boom/gas/Initialize() + link_systems(override = FALSE) + . = ..() + +/obj/structure/pipes/vents/pump/no_boom/gas/Destroy() + delink() + return ..() + +/obj/structure/pipes/vents/pump/no_boom/gas/proc/link_systems(datum/ares_link/new_link = GLOB.ares_link, override) + if(link && !override) + return FALSE + delink() + if(new_link) + link = new_link + new_link.linked_vents += src + return TRUE + +/obj/structure/pipes/vents/pump/no_boom/gas/proc/delink() + if(link) + link.linked_vents -= src + link = null + /obj/structure/pipes/vents/pump/on icon_state = "on" diff --git a/code/game/objects/structures/reagent_dispensers.dm b/code/game/objects/structures/reagent_dispensers.dm index a89f35ce38f3..d0f9f513e7f8 100644 --- a/code/game/objects/structures/reagent_dispensers.dm +++ b/code/game/objects/structures/reagent_dispensers.dm @@ -129,6 +129,25 @@ if(N) amount_per_transfer_from_this = N +/obj/structure/reagent_dispensers/clicked(mob/user, list/mods) + if(!Adjacent(user)) + return ..() + + if(!ishuman(user)) + return ..() + + if(!reagents || reagents.locked) + return ..() + + if(mods["alt"]) + dispensing = !dispensing + if(dispensing) + to_chat(user, SPAN_NOTICE("[src] is now dispensing")) + else + to_chat(user, SPAN_NOTICE("[src] is now filling")) + return TRUE + return ..() + /obj/structure/reagent_dispensers/attackby(obj/item/hit_item, mob/living/user) if(istype(hit_item, /obj/item/reagent_container)) return diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index e19d190c7442..d9bf8677bb56 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -107,6 +107,11 @@ desc = "This banner depicts Delta Squad's motto. The Marines of Delta Squad adopted it after picking an old bomber movie for movie night a while back." icon_state = "maximumeffort" +/obj/structure/sign/banners/united_americas_flag + name = "\improper United Americas flag" + desc = "A flag of the United Americas. Inspires patriotism, fear, or revulsion depending on the viewer's political leanings." + icon_state = "uaflag" + //=====================// // SEMIOTIC STANDARD // //===================// diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index 7469a568f7e0..eb9b5aa5e418 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -20,6 +20,7 @@ var/buildstackamount = 1 var/foldabletype //To fold into an item (e.g. roller bed item) var/buckling_y = 0 //pixel y shift to give to the buckled mob. + var/buckling_x = 0 //pixel x shift to give to the buckled mob. var/obj/structure/closet/bodybag/buckled_bodybag var/accepts_bodybag = FALSE //Whether you can buckle bodybags to this bed var/base_bed_icon //Used by beds that change sprite when something is buckled to them @@ -60,11 +61,15 @@ if(. && buckled_mob == M) M.pixel_y = buckling_y M.old_y = buckling_y + M.pixel_x = buckling_x + M.old_x = buckling_x if(base_bed_icon) density = TRUE else M.pixel_y = initial(buckled_mob.pixel_y) M.old_y = initial(buckled_mob.pixel_y) + M.pixel_x = initial(buckled_mob.pixel_x) + M.old_x = initial(buckled_mob.pixel_x) if(base_bed_icon) density = FALSE @@ -161,11 +166,14 @@ if(ismob(G.grabbed_thing)) var/mob/M = G.grabbed_thing var/atom/blocker = LinkBlocked(user, user.loc, loc) + if(!Adjacent(M)) + visible_message(SPAN_DANGER("[M] is too far to place onto [src].")) + return FALSE if(blocker) to_chat(user, SPAN_WARNING("\The [blocker] is in the way!")) - else - to_chat(user, SPAN_NOTICE("You place [M] on [src].")) - M.forceMove(loc) + return FALSE + to_chat(user, SPAN_NOTICE("You place [M] on [src].")) + M.forceMove(loc) return TRUE else diff --git a/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm b/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm index a3ccffc466c4..c3f0b97e509a 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/xeno_nest.dm @@ -18,8 +18,6 @@ var/mob/dead/observer/ghost_of_buckled_mob = null var/hivenumber = XENO_HIVE_NORMAL var/force_nest = FALSE - /// counterpart to buckling_y --> offsets the buckled mob when it buckles - var/list/buckling_x /obj/structure/bed/nest/Initialize(mapload, hive) . = ..() @@ -116,8 +114,7 @@ playsound(loc, "alien_resin_move", 50) if(ishuman(buckled_mob)) var/mob/living/carbon/human/H = buckled_mob - user.attack_log += "\[[time_stamp()]\] Unnested [key_name(H)] at [get_location_in_text(H)]" - H.attack_log += "\[[time_stamp()]\] Unnested by [key_name(user)] at [get_location_in_text(H)]" + log_interact(user, H, "[key_name(user)] unnested [key_name(H)] at [get_area_name(loc)]") unbuckle() return if(is_sharp(W)) @@ -130,8 +127,7 @@ playsound(loc, "alien_resin_move", 50) if(ishuman(buckled_mob)) var/mob/living/carbon/human/H = buckled_mob - user.attack_log += "\[[time_stamp()]\] Unnested [key_name(H)] at [get_location_in_text(H)]" - H.attack_log += "\[[time_stamp()]\] Unnested by [key_name(user)] at [get_location_in_text(H)]" + log_interact(user, H, "[key_name(user)] unnested [key_name(H)] at [get_area_name(loc)]") unbuckle() return health = max(0, health - W.force) @@ -180,8 +176,9 @@ playsound(loc, "alien_resin_move", 50) if(ishuman(buckled_mob)) var/mob/living/carbon/human/H = buckled_mob - user.attack_log += "\[[time_stamp()]\] Unnested [key_name(H)] at [get_location_in_text(H)]" - H.attack_log += "\[[time_stamp()]\] Unnested by [key_name(user)] at [get_location_in_text(H)]" + if(isxeno(user)) + msg_admin_niche("[key_name(user)] unnested [key_name(H)] at [get_location_in_text(H)] [ADMIN_JMP(loc)]") + log_interact(user, H, "[key_name(user)] unnested [key_name(H)] at [get_area_name(loc)]") unbuckle() return diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 226045caaea6..341fcb657080 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -286,7 +286,7 @@ to_chat(user, (state ? SPAN_NOTICE("You have pried the window into the frame.") : SPAN_NOTICE("You have pried the window out of the frame."))) else if(!not_damageable) //Impossible to destroy - health -= W.force + health -= W.force * W.demolition_mod if(health <= 7 && !reinf && !static_frame && !not_deconstructable) anchored = FALSE update_nearby_icons() @@ -618,6 +618,28 @@ basestate = "w_ai_rwindow" window_frame = /obj/structure/window_frame/almayer/aicore/white +/obj/structure/window/framed/almayer/aicore/black + icon_state = "alm_ai_rwindow0" + basestate = "alm_ai_rwindow" + window_frame = /obj/structure/window_frame/almayer/aicore/black + +/obj/structure/window/framed/almayer/aicore/hull/black + icon_state = "alm_ai_rwindow0" + basestate = "alm_ai_rwindow" + window_frame = /obj/structure/window_frame/almayer/aicore/black + not_damageable = TRUE + not_deconstructable = TRUE + unslashable = TRUE + unacidable = TRUE + health = 1000000 //Failsafe, shouldn't matter + +/obj/structure/window/framed/almayer/aicore/hull/black/hijack_bustable //I exist to explode after hijack, that is all. + +/obj/structure/window/framed/almayer/aicore/hull/black/hijack_bustable/Initialize() + . = ..() + if(is_mainship_level(z)) + RegisterSignal(SSdcs, COMSIG_GLOB_HIJACK_IMPACTED, PROC_REF(deconstruct)) + /obj/structure/window/framed/almayer/aicore/white/hull name = "hull window" desc = "An ultra-reinforced window designed to protect the AI Core. Made out of exotic materials to prevent hull breaches, nothing will get through here." diff --git a/code/game/objects/structures/window_frame.dm b/code/game/objects/structures/window_frame.dm index 460a11af1000..ae40be1472ad 100644 --- a/code/game/objects/structures/window_frame.dm +++ b/code/game/objects/structures/window_frame.dm @@ -184,6 +184,11 @@ basestate = "w_ai_window" window_type = /obj/structure/window/framed/almayer/aicore/white +/obj/structure/window_frame/almayer/aicore/black + icon_state = "alm_window0_frame" + basestate = "alm_window" + window_type = /obj/structure/window/framed/almayer/aicore/black + /obj/structure/window_frame/almayer/requisitions/attackby(obj/item/W, mob/living/user) if(istype(W, sheet_type)) to_chat(user, SPAN_WARNING("You can't repair this window.")) diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index c4698e5722c5..482139c03707 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -289,8 +289,8 @@ GLOBAL_DATUM_INIT(supply_controller, /datum/controller/supply, new()) /obj/structure/machinery/computer/supply_drop_console/proc/handle_supplydrop() SHOULD_NOT_SLEEP(TRUE) - var/obj/structure/closet/crate/C = check_pad() - if(!C) + var/obj/structure/closet/crate/crate = check_pad() + if(!crate) to_chat(usr, "[icon2html(src, usr)] [SPAN_WARNING("No crate was detected on the drop pad. Get Requisitions on the line!")]") return @@ -316,19 +316,21 @@ GLOBAL_DATUM_INIT(supply_controller, /datum/controller/supply, new()) to_chat(usr, "[icon2html(src, usr)] [SPAN_WARNING("The landing zone appears to be obstructed or out of bounds. Package would be lost on drop.")]") return - C.visible_message(SPAN_WARNING("\The [C] loads into a launch tube. Stand clear!")) - current_squad.send_message("'[C.name]' supply drop incoming. Heads up!") - current_squad.send_maptext(C.name, "Incoming Supply Drop:") + crate.visible_message(SPAN_WARNING("\The [crate] loads into a launch tube. Stand clear!")) + current_squad.send_message("'[crate.name]' supply drop incoming. Heads up!") + current_squad.send_maptext(crate.name, "Incoming Supply Drop:") COOLDOWN_START(src, next_fire, drop_cooldown) if(ismob(usr)) var/mob/M = usr M.count_niche_stat(STATISTICS_NICHE_CRATES) - playsound(C.loc,'sound/effects/bamf.ogg', 50, 1) //Ehh - var/obj/structure/droppod/supply/pod = new(null, C) - C.forceMove(pod) + playsound(crate.loc,'sound/effects/bamf.ogg', 50, 1) //Ehh + var/obj/structure/droppod/supply/pod = new(null, crate) + crate.forceMove(pod) pod.launch(T) - visible_message("[icon2html(src, viewers(src))] [SPAN_BOLDNOTICE("'[C.name]' supply drop launched! Another launch will be available in five minutes.")]") + log_ares_requisition("Supply Drop", "Launch [crate.name] to X[x_supply], Y[y_supply].", usr.real_name) + log_game("[key_name(usr)] launched supply drop '[crate.name]' to X[x_coord], Y[y_coord].") + visible_message("[icon2html(src, viewers(src))] [SPAN_BOLDNOTICE("'[crate.name]' supply drop launched! Another launch will be available in five minutes.")]") //A limited version of the above console //Can't pick squads, drops less often diff --git a/code/game/turfs/auto_turf.dm b/code/game/turfs/auto_turf.dm index e07f7324bcc2..8edd13f58612 100644 --- a/code/game/turfs/auto_turf.dm +++ b/code/game/turfs/auto_turf.dm @@ -75,6 +75,19 @@ if(bleed_layer) addtimer(CALLBACK(src, PROC_REF(changing_layer), 0), 1) +/turf/open/auto_turf/scorch(heat_level) + if(bleed_layer <= 0) + return + switch(heat_level) + if(1 to 19) + var/new_bleed_layer = min(0, bleed_layer - 1) + addtimer(CALLBACK(src, PROC_REF(changing_layer), new_bleed_layer), 1) + if(20 to 39) + var/new_bleed_layer = max(bleed_layer - 2, 0) + addtimer(CALLBACK(src, PROC_REF(changing_layer), new_bleed_layer), 1) + if(40 to INFINITY) + addtimer(CALLBACK(src, PROC_REF(changing_layer), 0), 1) + //Actual auto-turfs now @@ -146,6 +159,7 @@ //Ice colony snow /turf/open/auto_turf/snow + scorchable = TRUE name = "auto-snow" icon = 'icons/turf/floors/snow2.dmi' icon_state = "snow_0" @@ -198,7 +212,8 @@ while(bleed_layer > 0) xeno_attack_delay(M) - if(!do_after(M, 12, INTERRUPT_ALL, BUSY_ICON_FRIENDLY)) + var/size = max(M.mob_size, 1) + if(!do_after(M, 12/size, INTERRUPT_ALL, BUSY_ICON_FRIENDLY)) return XENO_NO_DELAY_ACTION if(!bleed_layer) diff --git a/code/game/turfs/snow.dm b/code/game/turfs/snow.dm index f7fb746cfbbc..c8afd734e862 100644 --- a/code/game/turfs/snow.dm +++ b/code/game/turfs/snow.dm @@ -8,6 +8,7 @@ icon = 'icons/turf/floors/snow2.dmi' icon_state = "snow_0" is_groundmap_turf = TRUE + scorchable = TRUE //PLACING/REMOVING/BUILDING /turf/open/snow/attackby(obj/item/I, mob/user) @@ -132,6 +133,22 @@ bleed_layer = 0 update_icon(1, 0) +//Flames act +/turf/open/snow/scorch(heat_level) + if(bleed_layer <= 0) + return + switch(heat_level) + if(1 to 19) + bleed_layer-- + update_icon(update_full = TRUE, skip_sides = FALSE) + if(20 to 39) + bleed_layer = max(bleed_layer - 2, 0) + update_icon(update_full = TRUE, skip_sides = FALSE) + if(40 to INFINITY) + bleed_layer = 0 + update_icon(update_full = TRUE, skip_sides = FALSE) + + //SNOW LAYERS-----------------------------------// /turf/open/snow/layer0 icon_state = "snow_0" diff --git a/code/game/turfs/walls/wall_types.dm b/code/game/turfs/walls/wall_types.dm index 259e386825ff..7b26854737cc 100644 --- a/code/game/turfs/walls/wall_types.dm +++ b/code/game/turfs/walls/wall_types.dm @@ -1044,7 +1044,7 @@ INITIALIZE_IMMEDIATE(/turf/closed/wall/indestructible/splashscreen) /obj/structure/alien/movable_wall/attackby(obj/item/W, mob/living/user) if(!(W.flags_item & NOBLUDGEON)) user.animation_attack_on(src) - take_damage(W.force*RESIN_MELEE_DAMAGE_MULTIPLIER, user) + take_damage(W.force*RESIN_MELEE_DAMAGE_MULTIPLIER*W.demolition_mod, user) playsound(src, "alien_resin_break", 25) else return attack_hand(user) @@ -1280,7 +1280,7 @@ INITIALIZE_IMMEDIATE(/turf/closed/wall/indestructible/splashscreen) if(!(W.flags_item & NOBLUDGEON)) user.animation_attack_on(src) - take_damage(W.force*RESIN_MELEE_DAMAGE_MULTIPLIER, user) + take_damage(W.force*RESIN_MELEE_DAMAGE_MULTIPLIER*W.demolition_mod, user) playsound(src, "alien_resin_break", 25) else return attack_hand(user) diff --git a/code/game/world.dm b/code/game/world.dm index e55741ca71e5..5aecfe851051 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -14,7 +14,7 @@ GLOBAL_LIST_INIT(reboot_sfx, file2list("config/reboot_sfx.txt")) /world/New() var/debug_server = world.GetConfig("env", "AUXTOOLS_DEBUG_DLL") if (debug_server) - LIBCALL(debug_server, "auxtools_init")() + call_ext(debug_server, "auxtools_init")() enable_debugging() hub_password = "kMZy3U5jJHSiBQjr" @@ -367,7 +367,7 @@ GLOBAL_LIST_INIT(reboot_sfx, file2list("config/reboot_sfx.txt")) else CRASH("unsupported platform") - var/init = LIBCALL(lib, "init")() + var/init = call_ext(lib, "init")() if("0" != init) CRASH("[lib] init error: [init]") diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index fe95affaffd2..4194627262a4 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -24,7 +24,7 @@ /proc/msg_admin_niche(msg) //Toggleable Niche Messages log_admin(msg) - msg = SPAN_ADMIN("ADMIN NICHE LOG: [msg]") + msg = SPAN_NICHE("ADMIN NICHE LOG: [msg]") for(var/client/C as anything in GLOB.admins) if(C && C.admin_holder && (R_MOD & C.admin_holder.rights)) if(C.prefs.toggles_chat & CHAT_NICHELOGS) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 1463a09457ef..626758fc2a5a 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -140,6 +140,7 @@ GLOBAL_LIST_INIT(admin_verbs_minor_event, list( /client/proc/admin_biohazard_alert, /client/proc/toggle_hardcore_perma, /client/proc/toggle_bypass_joe_restriction, + /client/proc/toggle_joe_respawns, )) GLOBAL_LIST_INIT(admin_verbs_major_event, list( diff --git a/code/modules/admin/tabs/admin_tab.dm b/code/modules/admin/tabs/admin_tab.dm index 356762b5edd7..f29f99004625 100644 --- a/code/modules/admin/tabs/admin_tab.dm +++ b/code/modules/admin/tabs/admin_tab.dm @@ -29,21 +29,12 @@ if(!admin_holder) return + if(!isobserver(mob)) + to_chat(usr, SPAN_WARNING("You must be a ghost to use this.")) - if(istype(mob,/mob/dead/observer)) - var/mob/dead/observer/ghost = mob - if(ghost.adminlarva == 0) - ghost.adminlarva = 1 - to_chat(usr, SPAN_BOLDNOTICE("You have disabled your larva protection.")) - else if(ghost.adminlarva == 1) - ghost.adminlarva = 0 - to_chat(usr, SPAN_BOLDNOTICE("You have re-activated your larva protection.")) - else - to_chat(usr, SPAN_BOLDNOTICE("Something went wrong tell a coder")) - else if(istype(mob,/mob/new_player)) - to_chat(src, "Error: Lose larva Protection: Can't lose larva protection whilst in the lobby. Observe first.") - else - to_chat(src, "Error: Lose larva Protection: You must be a ghost to use this.") + var/mob/dead/observer/ghost = mob + ghost.admin_larva_protection = !ghost.admin_larva_protection + to_chat(usr, SPAN_BOLDNOTICE("You have [ghost.admin_larva_protection ? "en" : "dis"]abled your larva protection.")) /client/proc/unban_panel() set name = "Unban Panel" @@ -872,7 +863,7 @@ set name = "Toggle Working Joe Restrictions" set category = "Admin.Flags" - if(!admin_holder || !check_rights(R_EVENT, FALSE)) + if(!admin_holder || !check_rights(R_EVENT, TRUE)) return if(!SSticker.mode) @@ -881,3 +872,17 @@ SSticker.mode.toggleable_flags ^= MODE_BYPASS_JOE message_admins("[src] has [MODE_HAS_TOGGLEABLE_FLAG(MODE_BYPASS_JOE) ? "allowed players to bypass (except whitelist)" : "prevented players from bypassing"] Working Joe spawn conditions.") + +/client/proc/toggle_joe_respawns() + set name = "Toggle Working Joe Respawns" + set category = "Admin.Flags" + + if(!admin_holder || !check_rights(R_EVENT, TRUE)) + return + + if(!SSticker.mode) + to_chat(usr, SPAN_WARNING("A mode hasn't been selected yet!")) + return + + SSticker.mode.toggleable_flags ^= MODE_DISABLE_JOE_RESPAWN + message_admins("[src] has [MODE_HAS_TOGGLEABLE_FLAG(MODE_DISABLE_JOE_RESPAWN) ? "disabled" : "enabled"] Working Joe respawns.") diff --git a/code/modules/admin/tabs/event_tab.dm b/code/modules/admin/tabs/event_tab.dm index 801bdcc87e18..ff0e9cc6ebaf 100644 --- a/code/modules/admin/tabs/event_tab.dm +++ b/code/modules/admin/tabs/event_tab.dm @@ -773,6 +773,7 @@ Spawn a nuke
Toggle PMC gun restrictions
Turn everyone into monkies
+ Give or take opposable thumbs and gun permits from xenos

"} diff --git a/code/modules/admin/topic/topic_events.dm b/code/modules/admin/topic/topic_events.dm index da8743d6dead..ddb33a2ccc3f 100644 --- a/code/modules/admin/topic/topic_events.dm +++ b/code/modules/admin/topic/topic_events.dm @@ -93,6 +93,63 @@ message_admins("[key_name_admin(usr)] added [amount] research credits.") GLOB.chemical_data.update_credits(amount) + if("xenothumbs") + var/grant = alert(usr, "Do you wish to grant or revoke Xenomorph firearms permits?", "Give or Take", "Grant", "Revoke", "Cancel") + if(grant == "Cancel") + return + + var/list/mob/living/carbon/xenomorph/permit_recipients = list() + var/list/datum/hive_status/permit_hives = list() + switch(alert(usr, "Do you wish to do this for one Xeno or an entire hive?", "Recipients", "Xeno", "Hive", "All Xenos")) + if("Xeno") + permit_recipients += tgui_input_list(usr, "Select recipient Xenomorph:", "Armed Xenomorph", GLOB.living_xeno_list) + if(isnull(permit_recipients[1])) //Cancel button. + return + if("Hive") + permit_hives += GLOB.hive_datum[tgui_input_list(usr, "Select recipient hive:", "Armed Hive", GLOB.hive_datum)] + if(isnull(permit_hives[1])) //Cancel button. + return + permit_recipients = permit_hives[1].totalXenos.Copy() + if("All Xenos") + permit_recipients = GLOB.living_xeno_list.Copy() + for(var/H in GLOB.hive_datum) + permit_hives += GLOB.hive_datum[H] + + var/list/handled_xenos = list() + + for(var/mob/living/carbon/xenomorph/xeno as anything in permit_recipients) + if(QDELETED(xeno) || xeno.stat == DEAD) //Xenos might die before the admin picks them. + to_chat(usr, SPAN_HIGHDANGER("[xeno] died before her firearms permit could be issued!")) + continue + if(HAS_TRAIT(xeno, TRAIT_OPPOSABLE_THUMBS)) + if(grant == "Revoke") + REMOVE_TRAIT(xeno, TRAIT_OPPOSABLE_THUMBS, TRAIT_SOURCE_HIVE) + to_chat(xeno, SPAN_XENOANNOUNCE("You forget how thumbs work. You feel a terrible sense of loss.")) + handled_xenos += xeno + else if(grant == "Grant") + ADD_TRAIT(xeno, TRAIT_OPPOSABLE_THUMBS, TRAIT_SOURCE_HIVE) + to_chat(xeno, SPAN_XENOANNOUNCE("You suddenly comprehend the magic of opposable thumbs along with surprising kinesthetic intelligence. You could do... so much with this knowledge.")) + handled_xenos += xeno + + for(var/datum/hive_status/permit_hive as anything in permit_hives) + //Give or remove the trait from newly-born xenos in this hive. + if(grant == "Grant") + LAZYADD(permit_hive.hive_inherant_traits, TRAIT_OPPOSABLE_THUMBS) + else + LAZYREMOVE(permit_hive.hive_inherant_traits, TRAIT_OPPOSABLE_THUMBS) + + if(!length(handled_xenos) && !length(permit_hives)) + return + + if(grant == "Grant") + message_admins("[usr] granted 2nd Amendment rights to [length(handled_xenos) > 1 ? "[length(handled_xenos)] xenos" : "[length(handled_xenos) == 1 ? "[handled_xenos[1]]" : "no xenos"]"]\ + [length(permit_hives) > 1 ? " in all hives, and to any new xenos. Quite possibly we will all regret this." : "[length(permit_hives) == 1 ? " in [permit_hives[1]], and to any new xenos in that hive." : "."]"]") + else + message_admins("[usr] revoked 2nd Amendment rights from [length(handled_xenos) > 1 ? "[length(handled_xenos)] xenos" : "[length(handled_xenos) == 1 ? "[handled_xenos[1]]" : "no xenos"]"]\ + [length(permit_hives) > 1 ? " in all hives, and from any new xenos." : "[length(permit_hives) == 1 ? " in [permit_hives[1]], and from any new xenos in that hive." : "."]"]") + + + /datum/admins/proc/create_humans_list(href_list) if(SSticker?.current_state < GAME_STATE_PLAYING) alert("Please wait until the game has started before spawning humans") diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index ce02cdb59e20..84298faaa3a1 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -543,27 +543,28 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) log_ahelp(id, "Defer", "Deferred to mentors by [usr.key]", null, usr.ckey) Close(silent = TRUE) -/datum/admin_help/proc/mark_ticket() +/datum/admin_help/proc/mark_ticket(mob/marking_admin) + var/mob/user = marking_admin || usr if(marked_admin) - if(marked_admin == usr.ckey) + if(marked_admin == user.ckey) unmark_ticket() return - to_chat(usr, SPAN_WARNING("This ticket has already been marked by [marked_admin].")) - var/unmark_option = tgui_alert(usr, "This message has been marked by [marked_admin]. Do you want to override?", "Marked Ticket", list("Overwrite Mark", "Unmark", "Cancel")) + to_chat(user, SPAN_WARNING("This ticket has already been marked by [marked_admin].")) + var/unmark_option = tgui_alert(user, "This message has been marked by [marked_admin]. Do you want to override?", "Marked Ticket", list("Overwrite Mark", "Unmark", "Cancel")) if(unmark_option == "Unmark") unmark_ticket() return if(unmark_option != "Overwrite Mark") return - var/key_name = key_name_admin(usr) + var/key_name = key_name_admin(user) AddInteraction("Marked by [key_name].", player_message = "Ticket marked!") to_chat(initiator, SPAN_ADMINHELP("An admin is preparing to respond to your ticket.")) var/msg = "Ticket [TicketHref("#[id]")] marked by [key_name]." message_admins(msg) log_admin_private(msg) - log_ahelp(id, "Marked", "Marked by [usr.key]", sender = usr.ckey) - marked_admin = usr.ckey + log_ahelp(id, "Marked", "Marked by [user.key]", sender = user.ckey) + marked_admin = user.ckey /datum/admin_help/proc/unmark_ticket() var/key_name = key_name_admin(usr) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 76525b2cae96..a6cf0f02a3de 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -60,6 +60,9 @@ var/message_prompt = "Message:" + if(AH && !AH.marked_admin) + AH.mark_ticket() + if((AH?.opening_responders && length(AH.ticket_interactions) == 1 ) || ((AH?.marked_admin && AH?.marked_admin != usr.ckey) && length(AH.ticket_interactions) == 2)) SEND_SOUND(src, sound('sound/machines/buzz-sigh.ogg', volume=30)) message_prompt += "\n\n**This ticket is already being responded to by: [length(AH.opening_responders) ? english_list(AH.opening_responders) : AH.marked_admin]**" diff --git a/code/modules/admin/view_variables/reference_tracking.dm b/code/modules/admin/view_variables/reference_tracking.dm index f6f2b86f31d7..35f464354c72 100644 --- a/code/modules/admin/view_variables/reference_tracking.dm +++ b/code/modules/admin/view_variables/reference_tracking.dm @@ -28,9 +28,7 @@ var/starting_time = world.time -#if DM_VERSION >= 515 log_reftracker("Refcount for [type]: [refcount(src)]") -#endif //Time to search the whole game for our ref DoSearchVar(GLOB, "GLOB", search_time = starting_time) //globals diff --git a/code/modules/asset_cache/asset_list.dm b/code/modules/asset_cache/asset_list.dm index 8e19a1905300..1d88df0b6a6b 100644 --- a/code/modules/asset_cache/asset_list.dm +++ b/code/modules/asset_cache/asset_list.dm @@ -341,3 +341,25 @@ GLOBAL_LIST_EMPTY(asset_datums) if (!item_filename) return . = list("[item_filename]" = SSassets.transport.get_asset_url(item_filename)) + +/datum/asset/simple/inventory + assets = list( + "inventory-glasses.png" = 'icons/ui_Icons/inventory/glasses.png', + "inventory-head.png" = 'icons/ui_Icons/inventory/head.png', + "inventory-neck.png" = 'icons/ui_Icons/inventory/neck.png', + "inventory-mask.png" = 'icons/ui_Icons/inventory/mask.png', + "inventory-ears.png" = 'icons/ui_Icons/inventory/ears.png', + "inventory-uniform.png" = 'icons/ui_Icons/inventory/uniform.png', + "inventory-suit.png" = 'icons/ui_Icons/inventory/suit.png', + "inventory-gloves.png" = 'icons/ui_Icons/inventory/gloves.png', + "inventory-hand_l.png" = 'icons/ui_Icons/inventory/hand_l.png', + "inventory-hand_r.png" = 'icons/ui_Icons/inventory/hand_r.png', + "inventory-shoes.png" = 'icons/ui_Icons/inventory/shoes.png', + "inventory-suit_storage.png" = 'icons/ui_Icons/inventory/suit_storage.png', + "inventory-id.png" = 'icons/ui_Icons/inventory/id.png', + "inventory-belt.png" = 'icons/ui_Icons/inventory/belt.png', + "inventory-back.png" = 'icons/ui_Icons/inventory/back.png', + "inventory-pocket.png" = 'icons/ui_Icons/inventory/pocket.png', + "inventory-collar.png" = 'icons/ui_Icons/inventory/collar.png', + ) + diff --git a/code/modules/character_traits/biology_traits.dm b/code/modules/character_traits/biology_traits.dm index 9074e833e718..a78dd0d38464 100644 --- a/code/modules/character_traits/biology_traits.dm +++ b/code/modules/character_traits/biology_traits.dm @@ -82,7 +82,7 @@ /datum/character_trait/biology/bad_leg/New() . = ..() // Not on definition as several lists are added - inapplicable_roles = list(JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_INTEL, JOB_ORDNANCE_TECH, JOB_MARINE) + JOB_SQUAD_ROLES_LIST + JOB_MARINE_RAIDER_ROLES_LIST + JOB_ERT_GRUNT_LIST + inapplicable_roles = list(JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_INTEL, JOB_ORDNANCE_TECH, JOB_MARINE) + JOB_SQUAD_ROLES_LIST + JOB_MARINE_RAIDER_ROLES_LIST + JOB_ERT_GRUNT_LIST bad_cane_roles = list(JOB_SURVIVOR, JOB_STOWAWAY) fancy_cane_roles = list(JOB_CO_SURVIVOR, CORPORATE_SURVIVOR, JOB_CMO, JOB_CORPORATE_LIAISON, JOB_SEA, JOB_CHIEF_ENGINEER) + JOB_COMMAND_ROLES_LIST inapplicable_species = list(SPECIES_SYNTHETIC, SPECIES_YAUTJA) diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 5796d5ff505e..213c54f0e201 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -5,8 +5,6 @@ #define UPLOAD_LIMIT 10485760 //Restricts client uploads to the server to 10MB //Boosted this thing. What's the worst that can happen? #define MIN_CLIENT_VERSION 0 //Just an ambiguously low version for now, I don't want to suddenly stop people playing. //I would just like the code ready should it ever need to be used. -#define GOOD_BYOND_MAJOR 513 -#define GOOD_BYOND_MINOR 1500 GLOBAL_LIST_INIT(blacklisted_builds, list( "1407" = "bug preventing client display overrides from working leads to clients being able to see things/mobs they shouldn't be able to see", @@ -55,6 +53,8 @@ GLOBAL_LIST_INIT(whitelisted_client_procs, list( /client/proc/toggle_admin_sound_types, /client/proc/receive_random_tip, /client/proc/set_eye_blur_type, + /client/proc/set_flash_type, + /client/proc/set_crit_type, )) /client/proc/reduce_minute_count() @@ -362,14 +362,34 @@ GLOBAL_LIST_INIT(whitelisted_client_procs, list( INVOKE_ASYNC(src, /client/proc/set_macros) // Version check below if we ever need to start checking against BYOND versions again. - - /*if((byond_version < world.byond_version) || ((byond_version == world.byond_version) && (byond_build < world.byond_build))) - src << "Your version of Byond (v[byond_version].[byond_build]) differs from the server (v[world.byond_version].[world.byond_build]). You may experience graphical glitches, crashes, or other errors. You will be disconnected until your version matches or exceeds the server version.
\ - Direct Download (Windows Installer): http://www.byond.com/download/build/[world.byond_version]/[world.byond_version].[world.byond_build]_byond.exe
\ - Other versions (search for [world.byond_build] or higher): http://www.byond.com/download/build/[world.byond_version]
" + var/breaking_version = CONFIG_GET(number/client_error_version) + var/breaking_build = CONFIG_GET(number/client_error_build) + var/warn_version = CONFIG_GET(number/client_warn_version) + var/warn_build = CONFIG_GET(number/client_warn_build) + + if (byond_version < breaking_version || (byond_version == breaking_version && byond_build < breaking_build)) //Out of date client. + to_chat_immediate(src, SPAN_DANGER("Your version of BYOND is too old:")) + to_chat_immediate(src, CONFIG_GET(string/client_error_message)) + to_chat_immediate(src, "Your version: [byond_version].[byond_build]") + to_chat_immediate(src, "Required version: [breaking_version].[breaking_build] or later") + to_chat_immediate(src, "Visit BYOND's website to get the latest version of BYOND.") qdel(src) - return*/ - //hardcode for now + return + + if (byond_version < warn_version || (byond_version == warn_version && byond_build < warn_build)) //We have words for this client. + if(CONFIG_GET(flag/client_warn_popup)) + var/msg = "Your version of BYOND may be getting out of date:
" + msg += CONFIG_GET(string/client_warn_message) + "

" + msg += "Your version: [byond_version].[byond_build]
" + msg += "Required version to remove this message: [warn_version].[warn_build] or later
" + msg += "Visit BYOND's website to get the latest version of BYOND.
" + src << browse(msg, "window=warning_popup") + else + to_chat(src, SPAN_DANGER("Your version of BYOND may be getting out of date:")) + to_chat(src, CONFIG_GET(string/client_warn_message)) + to_chat(src, "Your version: [byond_version].[byond_build]") + to_chat(src, "Required version to remove this message: [warn_version].[warn_build] or later") + to_chat(src, "Visit BYOND's website to get the latest version of BYOND.") if (num2text(byond_build) in GLOB.blacklisted_builds) log_access("Failed login: [key] - blacklisted byond build ([byond_version].[byond_build])") @@ -380,10 +400,6 @@ GLOBAL_LIST_INIT(whitelisted_client_procs, list( qdel(src) return - //do this check after the blacklist check to avoid confusion - if((byond_version < GOOD_BYOND_MAJOR) || ((byond_version == GOOD_BYOND_MAJOR) && (byond_build < GOOD_BYOND_MINOR))) - to_chat(src, FONT_SIZE_HUGE(SPAN_BOLDNOTICE("YOUR BYOND VERSION IS NOT WELL SUITED FOR THIS SERVER. Download latest BETA build or you may suffer random crashes or disconnects."))) - // Initialize tgui panel stat_panel.initialize( inline_html = file("html/statbrowser.html"), diff --git a/code/modules/client/country_flags.dm b/code/modules/client/country_flags.dm index 4955c446aea1..d72f0fbd5a98 100644 --- a/code/modules/client/country_flags.dm +++ b/code/modules/client/country_flags.dm @@ -13,16 +13,13 @@ var/page_content = http_response["CONTENT"] if(page_content) var/list/geodata = json_decode(html_decode(file2text(page_content))) - if(geodata["countryCode"] == "GB") - if((geodata["regionName"] == "Scotland") || (geodata["regionName"] == "Wales")) - origin?.country = geodata["regionName"] - return geodata["regionName"] - else - origin?.country = geodata["countryCode"] - return geodata["countryCode"] + if(geodata["countryCode"] == "GB" && ((geodata["regionName"] == "Scotland") || (geodata["regionName"] == "Wales"))) + origin?.country = geodata["regionName"] + else if(geodata["countryCode"] == "CA" && (geodata["regionName"] == "Quebec")) + origin?.country = geodata["regionName"] else origin?.country = geodata["countryCode"] - return geodata["countryCode"] + return geodata["countryCode"] else //null response, ratelimited most likely. Try again in 60s addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ip2country), ipaddr, origin), 60 SECONDS) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 2fa98e03a52e..4b669934d1c1 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -65,6 +65,8 @@ GLOBAL_LIST_INIT(bgstate_options, list( var/chat_display_preferences = CHAT_TYPE_ALL var/item_animation_pref_level = SHOW_ITEM_ANIMATIONS_ALL var/pain_overlay_pref_level = PAIN_OVERLAY_BLURRY + var/flash_overlay_pref = FLASH_OVERLAY_WHITE + var/crit_overlay_pref = CRIT_OVERLAY_WHITE var/UI_style_color = "#ffffff" var/UI_style_alpha = 255 var/View_MC = FALSE @@ -593,6 +595,8 @@ GLOBAL_LIST_INIT(bgstate_options, list( dat += "Play Announcement Sounds As Ghost: [(toggles_sound & SOUND_OBSERVER_ANNOUNCEMENTS) ? "Yes" : "No"]
" dat += "Toggle Meme or Atmospheric Sounds: Toggle
" dat += "Set Eye Blur Type: Set
" + dat += "Set Flash Type: Set
" + dat += "Set Crit Type: Set
" dat += "Play Lobby Music: [(toggles_sound & SOUND_LOBBY) ? "Yes" : "No"]
" dat += "Play VOX Announcements: [(hear_vox) ? "Yes" : "No"]
" dat += "Default Ghost Night Vision Level: [ghost_vision_pref]
" @@ -648,11 +652,16 @@ GLOBAL_LIST_INIT(bgstate_options, list( show_browser(user, dat, "Preferences", "preferencebrowser") onclose(user, "preferencewindow", src) -//limit - The amount of jobs allowed per column. Defaults to 13 to make it look nice. -//splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads. Defaults to CE to make it look nice. -//width - Screen' width. Defaults to 550 to make it look nice. -//height - Screen's height. Defaults to 500 to make it look nice. -/datum/preferences/proc/SetChoices(mob/user, limit = 19, list/splitJobs = list(JOB_CHIEF_REQUISITION), width = 950, height = 700) +/** + * Job Preferences: Preferences for role at round start. + * + * Arguments: + * * limit - The amount of jobs allowed per column. + * * splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads. + * * width - Screen' width. + * * height - Screen's height. + */ +/datum/preferences/proc/SetChoices(mob/user, limit = 20, list/splitJobs = list(JOB_CHIEF_REQUISITION, JOB_WO_CMO), width = 950, height = 750) if(!GLOB.RoleAuthority) return @@ -761,11 +770,16 @@ GLOBAL_LIST_INIT(bgstate_options, list( onclose(user, "mob_occupation", user.client, list("_src_" = "prefs", "preference" = "job", "task" = "close")) return -//limit - The amount of jobs allowed per column. Defaults to 13 to make it look nice. -//splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads. Defaults to CE to make it look nice. -//width - Screen' width. Defaults to 550 to make it look nice. -//height - Screen's height. Defaults to 500 to make it look nice. -/datum/preferences/proc/set_job_slots(mob/user, limit = 19, list/splitJobs = list(JOB_CHIEF_REQUISITION), width = 950, height = 700) +/** + * Job Assignments window: Assign unique characters to a particular job. + * + * Arguments: + * * limit - The amount of jobs allowed per column. + * * splitJobs - Allows you split the table by job. You can make different tables for each department by including their heads. + * * width - Screen' width. + * * height - Screen's height. + */ +/datum/preferences/proc/set_job_slots(mob/user, limit = 20, list/splitJobs = list(JOB_CHIEF_REQUISITION, JOB_WO_CMO), width = 950, height = 750) if(!GLOB.RoleAuthority) return diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 5466fe105004..ec3f156c220f 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -150,6 +150,8 @@ S["UI_style_alpha"] >> UI_style_alpha S["item_animation_pref_level"] >> item_animation_pref_level S["pain_overlay_pref_level"] >> pain_overlay_pref_level + S["flash_overlay_pref"] >> flash_overlay_pref + S["crit_overlay_pref"] >> crit_overlay_pref S["stylesheet"] >> stylesheet S["window_skin"] >> window_skin S["fps"] >> fps @@ -233,6 +235,8 @@ UI_style_alpha = sanitize_integer(UI_style_alpha, 0, 255, initial(UI_style_alpha)) item_animation_pref_level = sanitize_integer(item_animation_pref_level, SHOW_ITEM_ANIMATIONS_NONE, SHOW_ITEM_ANIMATIONS_ALL, SHOW_ITEM_ANIMATIONS_ALL) pain_overlay_pref_level = sanitize_integer(pain_overlay_pref_level, PAIN_OVERLAY_BLURRY, PAIN_OVERLAY_LEGACY, PAIN_OVERLAY_BLURRY) + flash_overlay_pref = sanitize_integer(flash_overlay_pref, FLASH_OVERLAY_WHITE, FLASH_OVERLAY_DARK) + crit_overlay_pref = sanitize_integer(crit_overlay_pref, CRIT_OVERLAY_WHITE, CRIT_OVERLAY_DARK) window_skin = sanitize_integer(window_skin, 0, SHORT_REAL_LIMIT, initial(window_skin)) ghost_vision_pref = sanitize_inlist(ghost_vision_pref, list(GHOST_VISION_LEVEL_NO_NVG, GHOST_VISION_LEVEL_MID_NVG, GHOST_VISION_LEVEL_FULL_NVG), GHOST_VISION_LEVEL_MID_NVG) ghost_orbit = sanitize_inlist(ghost_orbit, GLOB.ghost_orbits, initial(ghost_orbit)) @@ -327,6 +331,8 @@ S["tgui_say"] << tgui_say S["item_animation_pref_level"] << item_animation_pref_level S["pain_overlay_pref_level"] << pain_overlay_pref_level + S["flash_overlay_pref"] << flash_overlay_pref + S["crit_overlay_pref"] << crit_overlay_pref S["stylesheet"] << stylesheet S["be_special"] << be_special S["default_slot"] << default_slot diff --git a/code/modules/client/preferences_toggles.dm b/code/modules/client/preferences_toggles.dm index 32fd2225b339..c4017f172f25 100644 --- a/code/modules/client/preferences_toggles.dm +++ b/code/modules/client/preferences_toggles.dm @@ -275,6 +275,8 @@ "Toggle Item Animations
", "Toggle Admin Sound Types
", "Set Eye Blur Type
", + "Set Flash Type
", + "Set Crit Type
", ) var/dat = "" @@ -451,6 +453,7 @@ else CRASH("receive_random_tip() failed: null message") +/// Toggle in character preferences and toggle preferences to configure what kind of blur overlay is used in game; Either blurry, impaired, or legacy. /client/proc/set_eye_blur_type() var/result = tgui_alert(src, "What type of eye blur do you want?", "What type of eye blur do you want?", list("Blurry", "Impair", "Legacy")) if(result == "Blurry") @@ -464,6 +467,28 @@ to_chat(src, SPAN_NOTICE("Your vision will now have a legacy blurring effect. This is not recommended!")) prefs.save_preferences() +/// Toggle in character preferences and toggle preferences to configure what kind of flash overlay is used in game; Either white or black. +/client/proc/set_flash_type() + var/result = tgui_alert(src, "What type of flash overlay do you want?", "What type of flash overlay do you want?", list("White", "Dark")) + if(result == "White") + prefs.flash_overlay_pref = FLASH_OVERLAY_WHITE + to_chat(src, SPAN_NOTICE("If flashed your vision will now be white.")) + else if(result == "Dark") + prefs.flash_overlay_pref = FLASH_OVERLAY_DARK + to_chat(src, SPAN_NOTICE("If flashed your vision will now be dark.")) + prefs.save_preferences() + +/// Toggle in character preferences and toggle preferences to configure what kind of crit overlay is used in game; Either white or grey. +/client/proc/set_crit_type() + var/result = tgui_alert(src, "What type of crit overlay do you want?", "What type of crit overlay do you want?", list("White", "Dark")) + if(result == "White") + prefs.crit_overlay_pref = CRIT_OVERLAY_WHITE + to_chat(src, SPAN_NOTICE("If in critical condition your vision will now be white.")) + else if(result == "Dark") + prefs.crit_overlay_pref = CRIT_OVERLAY_DARK + to_chat(src, SPAN_NOTICE("If in critical condition your vision will now be dark.")) + prefs.save_preferences() + /client/verb/toggle_tgui_say() set name = "Toggle Say Input Style" set category = "Preferences.UI" diff --git a/code/modules/client/tgui_macro.dm b/code/modules/client/tgui_macro.dm index cd621cebab84..28939fed69ca 100644 --- a/code/modules/client/tgui_macro.dm +++ b/code/modules/client/tgui_macro.dm @@ -23,11 +23,12 @@ GLOBAL_LIST_EMPTY(ui_data_keybindings) /datum/tgui_macro/ui_data(mob/user) . = list() - .["keybinds"] = prefs.key_bindings + .["player_keybinds"] = prefs.key_bindings /datum/tgui_macro/ui_static_data(mob/user) . = list() .["glob_keybinds"] = GLOB.ui_data_keybindings + .["byond_keymap"] = GLOB._kbMap /datum/tgui_macro/ui_state(mob/user) return GLOB.always_state diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index e3658a64c2ab..3f8e2080f35e 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -1,8 +1,8 @@ /obj/item/clothing/gloves/yellow desc = "These gloves will protect the wearer from electric shock." name = "insulated gloves" - icon_state = "lightbrown" - item_state = "lightbrowngloves" + icon_state = "insulated" + item_state = "insulated" siemens_coefficient = 0 permeability_coefficient = 0.05 flags_cold_protection = BODY_FLAG_HANDS @@ -13,8 +13,8 @@ /obj/item/clothing/gloves/fyellow //Cheap Chinese Crap desc = "These gloves are cheap copies of the coveted gloves, no way this can end badly." name = "budget insulated gloves" - icon_state = "lightbrown" - item_state = "lightbrowngloves" + icon_state = "insulated" + item_state = "insulated" siemens_coefficient = 1 //Set to a default of 1, gets overridden in New() permeability_coefficient = 0.05 diff --git a/code/modules/clothing/gloves/marine_gloves.dm b/code/modules/clothing/gloves/marine_gloves.dm index 092fb41d370f..6da362da30f4 100644 --- a/code/modules/clothing/gloves/marine_gloves.dm +++ b/code/modules/clothing/gloves/marine_gloves.dm @@ -38,8 +38,8 @@ /obj/item/clothing/gloves/marine/insulated name = "marine insulated gloves" desc = "These gloves will protect the wearer from electric shock." - icon_state = "lightbrown" - item_state = "lightbrowngloves" + icon_state = "insulated" + item_state = "insulated" siemens_coefficient = 0 /obj/item/clothing/gloves/marine/black diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 223342463410..db390fac096a 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -366,7 +366,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( var/obj/structure/machinery/camera/camera var/helmet_overlays[] flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEEARS + flags_inv_hide = NONE var/flags_marine_helmet = HELMET_SQUAD_OVERLAY|HELMET_GARB_OVERLAY|HELMET_DAMAGE_OVERLAY var/helmet_bash_cooldown = 0 @@ -676,6 +676,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( var/list/total_visors = built_in_visors + inserted_visors if(!length(total_visors)) + to_chat(user, SPAN_WARNING("There are no visors to swap to.")) return FALSE if(active_visor) @@ -692,6 +693,11 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( skipped_hud = TRUE continue + if(!next_visor.can_toggle(user)) + iterator++ + skipped_hud = TRUE + continue + active_visor = next_visor toggle_visor(user, visor_to_deactivate, silent = TRUE) // disables the old visor toggle_visor(user) @@ -703,15 +709,19 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( iterator++ for(var/obj/item/device/helmet_visor/new_visor in total_visors) - if(!isnull(GLOB.huds[new_visor.hud_type]?.hudusers[user])) continue + if(!new_visor.can_toggle(user)) + continue + active_visor = new_visor toggle_visor(user) return active_visor + to_chat(user, SPAN_WARNING("There are no visors to swap to currently.")) return FALSE + /datum/action/item_action/cycle_helmet_huds/New(Target, obj/item/holder) . = ..() name = "Cycle helmet HUD" diff --git a/code/modules/clothing/suits/marine_armor/_marine_armor.dm b/code/modules/clothing/suits/marine_armor/_marine_armor.dm index fd926c4ffd50..e2facb987959 100644 --- a/code/modules/clothing/suits/marine_armor/_marine_armor.dm +++ b/code/modules/clothing/suits/marine_armor/_marine_armor.dm @@ -483,7 +483,7 @@ /obj/item/clothing/suit/storage/marine/light/synvest name = "\improper M3A1 Synthetic Utility Vest" - desc = "This variant of the ubiquitous M3 pattern ballistics vest has been extensively modified, providing no protection in exchange for maximum mobility and storage space. Synthetic programming compliant." + desc = "This variant of the ubiquitous M3 pattern vest has been extensively modified, providing no protection in exchange for maximum mobility and added storage. Synthetic programming compliant." icon_state = "VL_syn_camo" flags_atom = NO_NAME_OVERRIDE flags_marine_armor = ARMOR_LAMP_OVERLAY|SYNTH_ALLOWED //No squad colors + can be worn by synths. @@ -496,7 +496,7 @@ armor_rad = CLOTHING_ARMOR_NONE armor_internaldamage = CLOTHING_ARMOR_NONE storage_slots = 3 - slowdown = SLOWDOWN_ARMOR_VERY_LIGHT + slowdown = SLOWDOWN_ARMOR_SUPER_LIGHT time_to_unequip = 0.5 SECONDS time_to_equip = 1 SECONDS uniform_restricted = null @@ -628,6 +628,7 @@ slowdown = SLOWDOWN_ARMOR_HEAVY specialty = "M3-G4 grenadier" unacidable = TRUE + light_range = 5 /obj/item/clothing/suit/storage/marine/M3T name = "\improper M3-T light armor" diff --git a/code/modules/clothing/suits/marine_armor/ert.dm b/code/modules/clothing/suits/marine_armor/ert.dm index 19009606db35..106b09961103 100644 --- a/code/modules/clothing/suits/marine_armor/ert.dm +++ b/code/modules/clothing/suits/marine_armor/ert.dm @@ -79,13 +79,12 @@ item_state = "armor" item_state_slots = null contained_sprite = TRUE + slowdown = SLOWDOWN_ARMOR_LIGHT flags_armor_protection = BODY_FLAG_CHEST flags_cold_protection = BODY_FLAG_CHEST flags_heat_protection = BODY_FLAG_CHEST - slowdown = SLOWDOWN_ARMOR_NONE // only protects chest, but enables rapid movement - /obj/item/clothing/suit/storage/marine/veteran/pmc/light/corporate/lead desc = "A basic vest with a Weyland-Yutani badge on the right breast. This variant is worn by low-level guards that have elevated in rank due to 'good conduct in the field', also known as corporate bootlicking." icon_state = "lead_armor" @@ -288,6 +287,22 @@ armor_rad = CLOTHING_ARMOR_MEDIUMLOW armor_internaldamage = CLOTHING_ARMOR_HIGH +/obj/item/clothing/suit/storage/marine/faction/UPP/support/synth + name = "\improper UL6 Synthetic personal armor" + desc = "Modified variant of the UL6 personel armor system intended to be useable by Synthetic units. Offers no protection but very little movement impairment." + flags_marine_armor = ARMOR_LAMP_OVERLAY|SYNTH_ALLOWED + armor_melee = CLOTHING_ARMOR_NONE + armor_bullet = CLOTHING_ARMOR_NONE + armor_laser = CLOTHING_ARMOR_NONE + armor_energy = CLOTHING_ARMOR_NONE + armor_bomb = CLOTHING_ARMOR_NONE + armor_bio = CLOTHING_ARMOR_NONE + armor_rad = CLOTHING_ARMOR_NONE + armor_internaldamage = CLOTHING_ARMOR_NONE + slowdown = SLOWDOWN_ARMOR_VERY_LIGHT + time_to_unequip = 0.5 SECONDS + time_to_equip = 1 SECONDS + /obj/item/clothing/suit/storage/marine/faction/UPP/commando name = "\improper UM5CU personal armor" desc = "A modification of the UM5, designed for stealth operations." @@ -732,6 +747,22 @@ uniform_restricted = list(/obj/item/clothing/under/marine/ua_riot) flags_atom = NO_SNOW_TYPE +/obj/item/clothing/suit/storage/marine/veteran/ua_riot/synth + name = "\improper UA-M1S Synthetic body armor" + desc = "Based on the M-3 pattern employed by the USCM, the UA-M1 body armor is employed by UA security, riot control and union-busting teams. The UA-1MS modification is Synthetic programming compliant, sacrificing protection for speed and carrying capacity." + armor_melee = CLOTHING_ARMOR_NONE + armor_bullet = CLOTHING_ARMOR_NONE + armor_laser = CLOTHING_ARMOR_NONE + armor_energy = CLOTHING_ARMOR_NONE + armor_bomb = CLOTHING_ARMOR_NONE + armor_bio = CLOTHING_ARMOR_NONE + armor_rad = CLOTHING_ARMOR_NONE + armor_internaldamage = CLOTHING_ARMOR_NONE + slowdown = SLOWDOWN_ARMOR_SUPER_LIGHT + storage_slots = 3 + flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE + flags_marine_armor = ARMOR_SQUAD_OVERLAY|ARMOR_LAMP_OVERLAY|SYNTH_ALLOWED + //================//=ROYAL MARINES=\\====================================\\ //=======================================================================\\ diff --git a/code/modules/clothing/suits/marine_armor/spec_fire.dm b/code/modules/clothing/suits/marine_armor/spec_fire.dm index 4d577cc98b15..52343a204f68 100644 --- a/code/modules/clothing/suits/marine_armor/spec_fire.dm +++ b/code/modules/clothing/suits/marine_armor/spec_fire.dm @@ -4,8 +4,10 @@ name = "\improper M35 pyrotechnician armor" desc = "A custom set of M35 armor designed for use by USCM Pyrotechnicians." icon_state = "pyro_armor" - armor_bio = CLOTHING_ARMOR_MEDIUMHIGH + slowdown = SLOWDOWN_ARMOR_MEDIUM armor_internaldamage = CLOTHING_ARMOR_MEDIUMHIGH + armor_bio = CLOTHING_ARMOR_MEDIUMHIGH + light_range = 5 fire_intensity_resistance = BURN_LEVEL_TIER_1 max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROT flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN|BODY_FLAG_ARMS|BODY_FLAG_LEGS|BODY_FLAG_FEET diff --git a/code/modules/clothing/under/marine_uniform.dm b/code/modules/clothing/under/marine_uniform.dm index 4f0c06273d9e..92eeea638fae 100644 --- a/code/modules/clothing/under/marine_uniform.dm +++ b/code/modules/clothing/under/marine_uniform.dm @@ -749,6 +749,14 @@ has_sensor = UNIFORM_HAS_SENSORS sensor_faction = FACTION_MARINE +/obj/item/clothing/under/colonist/white_service + name = "white service uniform" + desc = "A white dress shirt and tie with sleek pants. Standard clothing for anyone on professional business." + icon_state = "CO_service" + worn_state = "CO_service" + has_sensor = UNIFORM_HAS_SENSORS + sensor_faction = FACTION_MARINE + /obj/item/clothing/under/colonist/wy_joliet_shopsteward name = "steward utilities" desc = "A stylish brown vest and shorts - uniforms like this are often worn by clerks and shop stewards." @@ -888,7 +896,7 @@ item_icons = list( WEAR_BODY = 'icons/mob/humans/onmob/uniform_1.dmi', ) - + /obj/item/clothing/under/marine/reporter/black icon_state = "cc_black" worn_state = "cc_black" diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index 4fe8cc193ce6..d95c0a593d34 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -386,9 +386,19 @@ icon_state = "commandopatch" /obj/item/clothing/accessory/patch/upp + name = "UPP patch" + desc = "A fire-resistant shoulder patch, worn by the men and women of the Union of Progressive Peoples Armed Collective." + icon_state = "upppatch" + +/obj/item/clothing/accessory/patch/upp/airborne name = "UPP Airborne Reconnaissance patch" desc = "A fire-resistant shoulder patch, worn by the men and women of the 173rd Airborne Reconnaissance Platoon." - icon_state = "upppatch" + icon_state = "vdvpatch" + +/obj/item/clothing/accessory/patch/upp/naval + name = "UPP Naval Infantry patch" + desc = "A fire-resistant shoulder patch, worn by the men and women of the UPP Naval Infantry." + icon_state = "navalpatch" /obj/item/clothing/accessory/poncho name = "USCM Poncho" @@ -666,6 +676,25 @@ /obj/item/clothing/accessory/storage/surg_vest/drop_green/equipped hold = /obj/item/storage/internal/accessory/surg_vest/equipped +/obj/item/clothing/accessory/storage/surg_vest/drop_green/upp + hold = /obj/item/storage/internal/accessory/surg_vest/drop_green/upp + +/obj/item/storage/internal/accessory/surg_vest/drop_green/upp/fill_preset_inventory() + new /obj/item/tool/surgery/scalpel(src) + new /obj/item/tool/surgery/hemostat(src) + new /obj/item/tool/surgery/retractor(src) + new /obj/item/tool/surgery/cautery(src) + new /obj/item/tool/surgery/circular_saw(src) + new /obj/item/tool/surgery/surgicaldrill(src) + new /obj/item/tool/surgery/scalpel/pict_system(src) + new /obj/item/tool/surgery/bonesetter(src) + new /obj/item/tool/surgery/FixOVein(src) + new /obj/item/stack/medical/advanced/bruise_pack(src) + new /obj/item/stack/nanopaste(src) + new /obj/item/tool/surgery/bonegel(src) + new /obj/item/tool/surgery/bonegel(src) + new /obj/item/reagent_container/blood/OMinus(src) + /obj/item/clothing/accessory/storage/surg_vest/drop_black name = "black surgical drop pouch" desc = "A tactical black synthcotton drop pouch purpose-made for holding surgical tools." diff --git a/code/modules/cm_aliens/XenoStructures.dm b/code/modules/cm_aliens/XenoStructures.dm index c014fbf9c211..635bca03241f 100644 --- a/code/modules/cm_aliens/XenoStructures.dm +++ b/code/modules/cm_aliens/XenoStructures.dm @@ -118,7 +118,7 @@ /obj/effect/alien/resin/attackby(obj/item/W, mob/user) if(!(W.flags_item & NOBLUDGEON)) - var/damage = W.force * RESIN_MELEE_DAMAGE_MULTIPLIER + var/damage = W.force * W.demolition_mod * RESIN_MELEE_DAMAGE_MULTIPLIER health -= damage if(istype(src, /obj/effect/alien/resin/sticky)) playsound(loc, "alien_resin_move", 25) @@ -391,7 +391,7 @@ return // defer to item afterattack if(!(W.flags_item & NOBLUDGEON) && W.force) user.animation_attack_on(src) - health -= W.force*RESIN_MELEE_DAMAGE_MULTIPLIER + health -= W.force * RESIN_MELEE_DAMAGE_MULTIPLIER * W.demolition_mod to_chat(user, "You hit the [name] with your [W.name]!") playsound(loc, "alien_resin_move", 25) healthcheck() diff --git a/code/modules/cm_aliens/weeds.dm b/code/modules/cm_aliens/weeds.dm index d614d87bf9b9..2206bc528e82 100644 --- a/code/modules/cm_aliens/weeds.dm +++ b/code/modules/cm_aliens/weeds.dm @@ -377,7 +377,7 @@ else to_chat(user, SPAN_WARNING("You cut \the [src] away with \the [attacking_item].")) - var/damage = attacking_item.force / 3 + var/damage = (attacking_item.force * attacking_item.demolition_mod) / 3 playsound(loc, "alien_resin_break", 25) if(iswelder(attacking_item)) diff --git a/code/modules/cm_marines/dropship_ammo.dm b/code/modules/cm_marines/dropship_ammo.dm index 93768e218375..0926f2bcefff 100644 --- a/code/modules/cm_marines/dropship_ammo.dm +++ b/code/modules/cm_marines/dropship_ammo.dm @@ -144,7 +144,7 @@ ammo_used_per_firing = 40 point_cost = 275 fire_mission_delay = 2 - var/bullet_spread_range = 4 //how far from the real impact turf can bullets land + var/bullet_spread_range = 3 //how far from the real impact turf can bullets land var/shrapnel_type = /datum/ammo/bullet/shrapnel/gau //For siming 30mm bullet impacts. var/directhit_damage = 105 //how much damage is to be inflicted to a mob, this is here so that we can hit resting mobs. var/penetration = 10 //AP value pretty much @@ -169,27 +169,26 @@ for(var/i = 1 to ammo_used_per_firing) sleep(1) - for(var/j in 1 to 2) //rather than halving the sleep, were doubling the bullets shot "bang" - var/turf/impact_tile = pick(turf_list) - var/datum/cause_data/cause_data = create_cause_data(fired_from.name, source_mob) - impact_tile.ex_act(EXPLOSION_THRESHOLD_VLOW, pick(GLOB.alldirs), cause_data) - create_shrapnel(impact_tile,1,0,0,shrapnel_type,cause_data,FALSE,100) //simulates a bullet - for(var/atom/movable/explosion_effect in impact_tile) - if(iscarbon(explosion_effect)) - var/mob/living/carbon/bullet_effect = explosion_effect - explosion_effect.ex_act(EXPLOSION_THRESHOLD_VLOW, null, cause_data) - bullet_effect.apply_armoured_damage(directhit_damage,ARMOR_BULLET,BRUTE,null,penetration) - else - explosion_effect.ex_act(EXPLOSION_THRESHOLD_VLOW) - new /obj/effect/particle_effect/expl_particles(impact_tile) - if(!soundplaycooldown) //so we don't play the same sound 20 times very fast. - playsound(impact_tile, 'sound/effects/gauimpact.ogg',40,1,20) - soundplaycooldown = 3 - soundplaycooldown-- - if(!debriscooldown) - impact_tile.ceiling_debris_check(1) - debriscooldown = 6 - debriscooldown-- + var/turf/impact_tile = pick(turf_list) + var/datum/cause_data/cause_data = create_cause_data(fired_from.name, source_mob) + impact_tile.ex_act(EXPLOSION_THRESHOLD_VLOW, pick(GLOB.alldirs), cause_data) + create_shrapnel(impact_tile,1,0,0,shrapnel_type,cause_data,FALSE,100) //simulates a bullet + for(var/atom/movable/explosion_effect in impact_tile) + if(iscarbon(explosion_effect)) + var/mob/living/carbon/bullet_effect = explosion_effect + explosion_effect.ex_act(EXPLOSION_THRESHOLD_VLOW, null, cause_data) + bullet_effect.apply_armoured_damage(directhit_damage,ARMOR_BULLET,BRUTE,null,penetration) + else + explosion_effect.ex_act(EXPLOSION_THRESHOLD_VLOW) + new /obj/effect/particle_effect/expl_particles(impact_tile) + if(!soundplaycooldown) //so we don't play the same sound 20 times very fast. + playsound(impact_tile, 'sound/effects/gauimpact.ogg',40,1,20) + soundplaycooldown = 3 + soundplaycooldown-- + if(!debriscooldown) + impact_tile.ceiling_debris_check(1) + debriscooldown = 6 + debriscooldown-- sleep(11) //speed of sound simulation playsound(impact, 'sound/effects/gau.ogg',100,1,60) diff --git a/code/modules/cm_marines/equipment/kit_boxes.dm b/code/modules/cm_marines/equipment/kit_boxes.dm index d99da8f59f2c..c26bafe7123a 100644 --- a/code/modules/cm_marines/equipment/kit_boxes.dm +++ b/code/modules/cm_marines/equipment/kit_boxes.dm @@ -69,6 +69,26 @@ // spotter new /obj/item/storage/box/kit/spotter(src) +/obj/item/storage/box/spec/sniper/anti_materiel/fill_preset_inventory() + name = "\improper AMR equipment case" + desc = "A large case containing an experimental XM43E1, a set of M45 ghillie armor and helmet, a M42 scout sight, ammunition, spotter equipment, and additional pieces of equipment.\nDrag this sprite onto yourself to open it up! NOTE: You cannot put items back inside this case." + new /obj/item/clothing/suit/storage/marine/ghillie(src) + new /obj/item/clothing/head/helmet/marine/ghillie(src) + new /obj/item/clothing/glasses/night/m42_night_goggles(src) + new /obj/item/weapon/gun/rifle/sniper/XM43E1(src) + new /obj/item/ammo_magazine/sniper/anti_materiel(src) + new /obj/item/ammo_magazine/sniper/anti_materiel(src) + new /obj/item/ammo_magazine/sniper/anti_materiel(src) + new /obj/item/ammo_magazine/sniper/anti_materiel(src) + new /obj/item/ammo_magazine/sniper/anti_materiel(src) + new /obj/item/storage/backpack/marine/smock(src) + new /obj/item/weapon/gun/pistol/vp78(src) + new /obj/item/ammo_magazine/pistol/vp78(src) + new /obj/item/ammo_magazine/pistol/vp78(src) + new /obj/item/facepaint/sniper(src) + // spotter + new /obj/item/storage/box/kit/spotter(src) + /obj/item/storage/box/spec/scout name = "\improper Scout equipment case" desc = "A large case containing an M4RA battle rifle, M3-S light armor and helmet, M4RA battle sight, M68 thermal cloak, V3 reactive thermal tarp, improved scout laser designator, ammunition and additional pieces of equipment.\nDrag this sprite onto yourself to open it up! NOTE: You cannot put items back inside this case." @@ -257,6 +277,10 @@ spec_box = new /obj/item/storage/box/spec/sniper(T) specialist_assignment = "Sniper" user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SNIPER) + if("Anti-materiel Sniper") + spec_box = new /obj/item/storage/box/spec/sniper/anti_materiel(T) + specialist_assignment = "Heavy Sniper" + user.skills.set_skill(SKILL_SPEC_WEAPONS, SKILL_SPEC_SNIPER) if("Scout") spec_box = new /obj/item/storage/box/spec/scout(T) specialist_assignment = "Scout" diff --git a/code/modules/cm_marines/equipment/mortar/mortars.dm b/code/modules/cm_marines/equipment/mortar/mortars.dm index a4d4cfdc1bf5..51d1509297a3 100644 --- a/code/modules/cm_marines/equipment/mortar/mortars.dm +++ b/code/modules/cm_marines/equipment/mortar/mortars.dm @@ -31,6 +31,8 @@ var/firing = FALSE /// If set to 1, can't unanchor and move the mortar, used for map spawns and WO var/fixed = FALSE + /// if true, blows up the shell immediately + var/ship_side = FALSE var/obj/structure/machinery/computer/cameras/mortar/internal_camera @@ -56,28 +58,28 @@ else return FALSE -/obj/structure/mortar/attack_alien(mob/living/carbon/xenomorph/M) - if(islarva(M)) +/obj/structure/mortar/attack_alien(mob/living/carbon/xenomorph/xeno) + if(islarva(xeno)) return XENO_NO_DELAY_ACTION if(fixed) - to_chat(M, SPAN_XENOWARNING("\The [src]'s supports are bolted and welded into the floor. It looks like it's going to be staying there.")) + to_chat(xeno, SPAN_XENOWARNING("\The [src]'s supports are bolted and welded into the floor. It looks like it's going to be staying there.")) return XENO_NO_DELAY_ACTION if(firing) - M.animation_attack_on(src) - M.flick_attack_overlay(src, "slash") + xeno.animation_attack_on(src) + xeno.flick_attack_overlay(src, "slash") playsound(src, "acid_hit", 25, 1) - playsound(M, "alien_help", 25, 1) - M.apply_damage(10, BURN) - M.visible_message(SPAN_DANGER("[M] tried to knock the steaming hot [src] over, but burned itself and pulled away!"), + playsound(xeno, "alien_help", 25, 1) + xeno.apply_damage(10, BURN) + xeno.visible_message(SPAN_DANGER("[xeno] tried to knock the steaming hot [src] over, but burned itself and pulled away!"), SPAN_XENOWARNING("\The [src] is burning hot! Wait a few seconds.")) return XENO_ATTACK_ACTION - M.visible_message(SPAN_DANGER("[M] lashes at \the [src] and knocks it over!"), + xeno.visible_message(SPAN_DANGER("[xeno] lashes at \the [src] and knocks it over!"), SPAN_DANGER("You knock \the [src] over!")) - M.animation_attack_on(src) - M.flick_attack_overlay(src, "slash") + xeno.animation_attack_on(src) + xeno.flick_attack_overlay(src, "slash") playsound(loc, 'sound/effects/metalhit.ogg', 25) var/obj/item/mortar_kit/MK = new /obj/item/mortar_kit(loc) MK.name = name @@ -206,40 +208,47 @@ SStgui.update_uis(src) -/obj/structure/mortar/attackby(obj/item/O, mob/user) - if(istype(O, /obj/item/mortar_shell)) - var/obj/item/mortar_shell/mortar_shell = O +/obj/structure/mortar/attackby(obj/item/item, mob/user) + if(istype(item, /obj/item/mortar_shell)) + var/obj/item/mortar_shell/mortar_shell = item + var/turf/target_turf = locate(targ_x + dial_x + offset_x, targ_y + dial_y + offset_y, z) + var/area/target_area = get_area(target_turf) if(!skillcheck(user, SKILL_ENGINEER, SKILL_ENGINEER_TRAINED)) to_chat(user, SPAN_WARNING("You don't have the training to fire [src].")) return if(busy) to_chat(user, SPAN_WARNING("Someone else is currently using [src].")) return - if(!is_ground_level(z)) - to_chat(user, SPAN_WARNING("You cannot fire [src] here.")) - return - if(targ_x == 0 && targ_y == 0) //Mortar wasn't set - to_chat(user, SPAN_WARNING("[src] needs to be aimed first.")) - return - var/turf/T = locate(targ_x + dial_x + offset_x, targ_y + dial_y + offset_y, z) - if(!T) - to_chat(user, SPAN_WARNING("You cannot fire [src] to this target.")) - return - var/area/A = get_area(T) - if(!istype(A)) - to_chat(user, SPAN_WARNING("This area is out of bounds!")) - return - if(CEILING_IS_PROTECTED(A.ceiling, CEILING_PROTECTION_TIER_2) || protected_by_pylon(TURF_PROTECTION_MORTAR, T)) - to_chat(user, SPAN_WARNING("You cannot hit the target. It is probably underground.")) - return - if(SSticker.mode && MODE_HAS_TOGGLEABLE_FLAG(MODE_LZ_PROTECTION) && A.is_landing_zone) - to_chat(user, SPAN_WARNING("You cannot bomb the landing zone!")) - return - - //Small amount of spread so that consecutive mortar shells don't all land on the same tile - var/turf/T1 = locate(T.x + pick(-1,0,0,1), T.y + pick(-1,0,0,1), T.z) - if(T1) - T = T1 + if(!ship_side) + if(targ_x == 0 && targ_y == 0) //Mortar wasn't set + to_chat(user, SPAN_WARNING("[src] needs to be aimed first.")) + return + if(!target_turf) + to_chat(user, SPAN_WARNING("You cannot fire [src] to this target.")) + return + if(!istype(target_area)) + to_chat(user, SPAN_WARNING("This area is out of bounds!")) + return + if(CEILING_IS_PROTECTED(target_area.ceiling, CEILING_PROTECTION_TIER_2) || protected_by_pylon(TURF_PROTECTION_MORTAR, target_turf)) + to_chat(user, SPAN_WARNING("You cannot hit the target. It is probably underground.")) + return + if(SSticker.mode && MODE_HAS_TOGGLEABLE_FLAG(MODE_LZ_PROTECTION) && target_area.is_landing_zone) + to_chat(user, SPAN_WARNING("You cannot bomb the landing zone!")) + return + + if(ship_side) + var/crash_occurred = (SSticker?.mode?.is_in_endgame) + if(crash_occurred) + var/turf/our_turf = get_turf(src) + target_turf = our_turf + travel_time = 0.5 SECONDS + else + to_chat(user, SPAN_RED("You realize how bad of an idea this is and quickly stop.")) + return + else + var/turf/deviation_turf = locate(target_turf.x + pick(-1,0,0,1), target_turf.y + pick(-1,0,0,1), target_turf.z) //Small amount of spread so that consecutive mortar shells don't all land on the same tile + if(deviation_turf) + target_turf = deviation_turf user.visible_message(SPAN_NOTICE("[user] starts loading \a [mortar_shell.name] into [src]."), SPAN_NOTICE("You start loading \a [mortar_shell.name] into [src].")) @@ -259,15 +268,15 @@ mortar_shell.cause_data = create_cause_data(initial(mortar_shell.name), user, src) mortar_shell.forceMove(src) - var/turf/G = get_turf(src) - G.ceiling_debris_check(2) + var/turf/mortar_turf = get_turf(src) + mortar_turf.ceiling_debris_check(2) - for(var/mob/M in range(7)) - shake_camera(M, 3, 1) + for(var/mob/mob in range(7)) + shake_camera(mob, 3, 1) - addtimer(CALLBACK(src, PROC_REF(handle_shell), T, mortar_shell), travel_time) + addtimer(CALLBACK(src, PROC_REF(handle_shell), target_turf, mortar_shell), travel_time) - if(HAS_TRAIT(O, TRAIT_TOOL_WRENCH)) + if(HAS_TRAIT(item, TRAIT_TOOL_WRENCH)) if(!skillcheck(user, SKILL_ENGINEER, SKILL_ENGINEER_TRAINED)) to_chat(user, SPAN_WARNING("You don't have the training to undeploy [src].")) return @@ -287,11 +296,11 @@ user.visible_message(SPAN_NOTICE("[user] undeploys [src]."), \ SPAN_NOTICE("You undeploy [src].")) playsound(loc, 'sound/items/Deconstruct.ogg', 25, 1) - var/obj/item/mortar_kit/M = new /obj/item/mortar_kit(loc) - M.name = src.name + var/obj/item/mortar_kit/mortar = new /obj/item/mortar_kit(loc) + mortar.name = src.name qdel(src) - if(HAS_TRAIT(O, TRAIT_TOOL_SCREWDRIVER)) + if(HAS_TRAIT(item, TRAIT_TOOL_SCREWDRIVER)) if(do_after(user, 1 SECONDS, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD)) user.visible_message(SPAN_NOTICE("[user] toggles the targeting computer on [src]."), \ SPAN_NOTICE("You toggle the targeting computer on [src].")) @@ -303,29 +312,45 @@ if(EXPLOSION_THRESHOLD_MEDIUM to INFINITY) qdel(src) +/obj/effect/mortar_effect + icon = 'icons/obj/structures/mortar.dmi' + icon_state = "mortar_ammo_custom" + mouse_opacity = MOUSE_OPACITY_TRANSPARENT + invisibility = INVISIBILITY_MAXIMUM + /obj/structure/mortar/proc/handle_shell(turf/target, obj/item/mortar_shell/shell) if(protected_by_pylon(TURF_PROTECTION_MORTAR, target)) firing = FALSE return + if(ship_side) + var/turf/our_turf = get_turf(src) + shell.detonate(our_turf) + return + + if(istype(shell, /obj/item/mortar_shell/custom)) // big shell warning for ghosts + var/obj/effect/effect = new /obj/effect/mortar_effect(target) + QDEL_IN(effect, 5 SECONDS) + notify_ghosts(header = "Custom Shell", message = "A custom mortar shell is about to land at [get_area(target)].", source = effect) + playsound(target, 'sound/weapons/gun_mortar_travel.ogg', 50, 1) var/relative_dir - for(var/mob/M in range(15, target)) - if(get_turf(M) == target) + for(var/mob/mob in range(15, target)) + if(get_turf(mob) == target) relative_dir = 0 else - relative_dir = Get_Compass_Dir(M, target) - M.show_message( \ + relative_dir = Get_Compass_Dir(mob, target) + mob.show_message( \ SPAN_DANGER("A SHELL IS COMING DOWN [SPAN_UNDERLINE(relative_dir ? uppertext(("TO YOUR " + dir2text(relative_dir))) : uppertext("right above you"))]!"), SHOW_MESSAGE_VISIBLE, \ SPAN_DANGER("YOU HEAR SOMETHING COMING DOWN [SPAN_UNDERLINE(relative_dir ? uppertext(("TO YOUR " + dir2text(relative_dir))) : uppertext("right above you"))]!"), SHOW_MESSAGE_AUDIBLE \ ) sleep(2.5 SECONDS) // Sleep a bit to give a message - for(var/mob/M in range(10, target)) - if(get_turf(M) == target) + for(var/mob/mob in range(10, target)) + if(get_turf(mob) == target) relative_dir = 0 else - relative_dir = Get_Compass_Dir(M, target) - M.show_message( \ + relative_dir = Get_Compass_Dir(mob, target) + mob.show_message( \ SPAN_HIGHDANGER("A SHELL IS ABOUT TO IMPACT [SPAN_UNDERLINE(relative_dir ? uppertext(("TO YOUR " + dir2text(relative_dir))) : uppertext("right above you"))]!"), SHOW_MESSAGE_VISIBLE, \ SPAN_HIGHDANGER("YOU HEAR SOMETHING VERY CLOSE COMING DOWN [SPAN_UNDERLINE(relative_dir ? uppertext(("TO YOUR " + dir2text(relative_dir))) : uppertext("right above you"))]!"), SHOW_MESSAGE_AUDIBLE \ ) @@ -338,6 +363,9 @@ /obj/structure/mortar/proc/can_fire_at(mob/user, test_targ_x = targ_x, test_targ_y = targ_y, test_dial_x, test_dial_y) var/dialing = test_dial_x || test_dial_y + if(ship_side) + to_chat(user, SPAN_WARNING("You cannot aim the mortar while on a ship.")) + return FALSE if(test_dial_x + test_targ_x > world.maxx || test_dial_x + test_targ_x < 0) to_chat(user, SPAN_WARNING("You cannot [dialing ? "dial to" : "aim at"] this coordinate, it is outside of the area of operations.")) return FALSE @@ -385,21 +413,23 @@ if(!skillcheck(user, SKILL_ENGINEER, SKILL_ENGINEER_TRAINED)) to_chat(user, SPAN_WARNING("You don't have the training to deploy [src].")) return - if(!is_ground_level(deploy_turf.z)) - to_chat(user, SPAN_WARNING("You cannot deploy [src] here.")) - return - var/area/A = get_area(deploy_turf) - if(CEILING_IS_PROTECTED(A.ceiling, CEILING_PROTECTION_TIER_1)) + var/area/area = get_area(deploy_turf) + if(CEILING_IS_PROTECTED(area.ceiling, CEILING_PROTECTION_TIER_1) && is_ground_level(deploy_turf.z)) to_chat(user, SPAN_WARNING("You probably shouldn't deploy [src] indoors.")) return user.visible_message(SPAN_NOTICE("[user] starts deploying [src]."), \ SPAN_NOTICE("You start deploying [src].")) playsound(deploy_turf, 'sound/items/Deconstruct.ogg', 25, 1) if(do_after(user, 4 SECONDS, INTERRUPT_ALL|BEHAVIOR_IMMOBILE, BUSY_ICON_BUILD)) - user.visible_message(SPAN_NOTICE("[user] deploys [src]."), \ - SPAN_NOTICE("You deploy [src].")) + var/obj/structure/mortar/mortar = new /obj/structure/mortar(deploy_turf) + if(!is_ground_level(deploy_turf.z)) + mortar.ship_side = TRUE + user.visible_message(SPAN_NOTICE("[user] deploys [src]."), \ + SPAN_NOTICE("You deploy [src]. This is a bad idea.")) + else + user.visible_message(SPAN_NOTICE("[user] deploys [src]."), \ + SPAN_NOTICE("You deploy [src].")) playsound(deploy_turf, 'sound/weapons/gun_mortar_unpack.ogg', 25, 1) - var/obj/structure/mortar/M = new /obj/structure/mortar(deploy_turf) - M.name = src.name - M.setDir(user.dir) + mortar.name = src.name + mortar.setDir(user.dir) qdel(src) diff --git a/code/modules/cm_marines/m2c.dm b/code/modules/cm_marines/m2c.dm index dea7d80b50f9..23a9d243b134 100644 --- a/code/modules/cm_marines/m2c.dm +++ b/code/modules/cm_marines/m2c.dm @@ -73,7 +73,7 @@ icon_state = icon_name /obj/item/device/m2c_gun/proc/check_can_setup(mob/user, turf/rotate_check, turf/open/OT, list/ACR) - if(!ishuman(user)) + if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) return FALSE if(broken_gun) to_chat(user, SPAN_WARNING("You can't set up \the [src], it's completely broken!")) @@ -148,7 +148,7 @@ HMG.try_mount_gun(user) /obj/item/device/m2c_gun/attackby(obj/item/O as obj, mob/user as mob) - if(!ishuman(user)) + if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) return if(!iswelder(O) || user.action_busy) @@ -330,7 +330,7 @@ update_icon() /obj/structure/machinery/m56d_hmg/auto/attackby(obj/item/O as obj, mob/user as mob) - if(!ishuman(user)) + if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) return // RELOADING if(istype(O, /obj/item/ammo_magazine/m2c)) @@ -456,13 +456,12 @@ // DISASSEMBLY /obj/structure/machinery/m56d_hmg/auto/MouseDrop(over_object, src_location, over_location) - if(!ishuman(usr)) - return - var/mob/living/carbon/human/user = usr + var/mob/living/carbon/user = usr // If the user is unconscious or dead. if(user.stat) return - + if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) + return if(over_object == user && in_range(src, user)) if((rounds > 0) && (user.a_intent & (INTENT_GRAB))) playsound(src.loc, 'sound/items/m56dauto_load.ogg', 75, 1) diff --git a/code/modules/cm_marines/marines_consoles.dm b/code/modules/cm_marines/marines_consoles.dm index 1d72ab5a4d99..e02bb930d416 100644 --- a/code/modules/cm_marines/marines_consoles.dm +++ b/code/modules/cm_marines/marines_consoles.dm @@ -43,12 +43,12 @@ ui = new(user, src, "CardMod", name) ui.open() -/obj/structure/machinery/computer/card/ui_act(action, params) +/obj/structure/machinery/computer/card/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) . = ..() if(.) return - var/mob/user = usr + var/mob/user = ui.user playsound(src, pick('sound/machines/computer_typing4.ogg', 'sound/machines/computer_typing5.ogg', 'sound/machines/computer_typing6.ogg'), 5, 1) switch(action) @@ -91,18 +91,11 @@ printing = TRUE playsound(src.loc, 'sound/machines/fax.ogg', 15, 1) sleep(40) - var/faction = "N/A" - if(target_id_card.faction_group && islist(target_id_card.faction_group)) - faction = jointext(target_id_card.faction_group, ", ") - if(isnull(target_id_card.faction_group)) - target_id_card.faction_group = list() - else - faction = target_id_card.faction_group var/contents = {"

Access Report

Prepared By: [user_id_card?.registered_name ? user_id_card.registered_name : "Unknown"]
For: [target_id_card.registered_name ? target_id_card.registered_name : "Unregistered"]

- Faction: [faction]
+ Faction: [target_id_card.faction ? target_id_card.faction : "N/A"]
Assignment: [target_id_card.assignment]
Account Number: #[target_id_card.associated_account_number]
Blood Type: [target_id_card.blood_type]

@@ -112,7 +105,10 @@ var/known_access_rights = get_access(ACCESS_LIST_MARINE_ALL) for(var/A in target_id_card.access) if(A in known_access_rights) - contents += " [get_access_desc(A)]" + contents += " [get_access_desc(A)]
" + contents += "
Modification Log:
" + for(var/change in target_id_card.modification_log) + contents += " [change]
" var/obj/item/paper/P = new /obj/item/paper(src.loc) P.name = "Access Report" @@ -139,9 +135,9 @@ GLOB.data_core.manifest_modify(target_id_card.registered_name, target_id_card.registered_ref, target_id_card.assignment, target_id_card.rank) target_id_card.name = text("[target_id_card.registered_name]'s ID Card ([target_id_card.assignment])") if(target_id_card.registered_name != origin_name) - log_idmod(target_id_card, " [key_name_admin(usr)] changed the registered name of the ID to '[target_id_card.registered_name]'. ") + log_idmod(target_id_card, " [user.real_name] changed the registered name of the ID to '[target_id_card.registered_name]'. ", key_name_admin(user)) if(target_id_card.assignment != origin_assignment) - log_idmod(target_id_card, " [key_name_admin(usr)] changed the assignment of the ID to the custom position '[target_id_card.assignment]'. ") + log_idmod(target_id_card, " [user.real_name] changed the assignment of the ID to the custom position '[target_id_card.assignment]'. ", key_name_admin(user)) if(ishuman(user)) target_id_card.forceMove(user.loc) if(!user.get_active_hand()) @@ -170,8 +166,8 @@ target_id_card.assignment = "Terminated" target_id_card.access = list() - log_idmod(target_id_card, " [key_name_admin(usr)] terminated the ID. ") - message_admins("[key_name_admin(usr)] terminated the ID of [target_id_card.registered_name].") + log_idmod(target_id_card, " [user.real_name] terminated the ID. ", key_name_admin(user)) + message_admins("[user.real_name] terminated the ID of [target_id_card.registered_name].", key_name_admin(user)) return TRUE if("PRG_edit") if(!authenticated || !target_id_card) @@ -221,19 +217,19 @@ target_id_card.faction_group = list() if(params["access_target"] in target_id_card.faction_group) target_id_card.faction_group -= params["access_target"] - log_idmod(target_id_card, " [key_name_admin(usr)] revoked [access_type] IFF. ") + log_idmod(target_id_card, " [user.real_name] revoked [access_type] IFF. ", key_name_admin(user)) else target_id_card.faction_group |= params["access_target"] - log_idmod(target_id_card, " [key_name_admin(usr)] granted [access_type] IFF. ") + log_idmod(target_id_card, " [user.real_name] granted [access_type] IFF. ", key_name_admin(user)) return TRUE access_type = text2num(params["access_target"]) if(access_type in (is_centcom ? get_access(ACCESS_LIST_WY_ALL) : get_access(ACCESS_LIST_MARINE_MAIN))) if(access_type in target_id_card.access) target_id_card.access -= access_type - log_idmod(target_id_card, " [key_name_admin(usr)] revoked access '[access_type]'. ") + log_idmod(target_id_card, " [user.real_name] revoked access '[get_access_desc(access_type)]'. ", key_name_admin(user)) else target_id_card.access |= access_type - log_idmod(target_id_card, " [key_name_admin(usr)] granted access '[access_type]'. ") + log_idmod(target_id_card, " [user.real_name] granted access '[get_access_desc(access_type)]'. ", key_name_admin(user)) return TRUE if("PRG_grantall") if(!authenticated || !target_id_card) @@ -241,7 +237,7 @@ target_id_card.access |= (is_centcom ? get_access(ACCESS_LIST_WY_ALL) : get_access(ACCESS_LIST_MARINE_MAIN)) target_id_card.faction_group |= factions - log_idmod(target_id_card, " [key_name_admin(usr)] granted the ID all access and USCM IFF. ") + log_idmod(target_id_card, " [user.real_name] granted the ID all access and USCM IFF. ", key_name_admin(user)) return TRUE if("PRG_denyall") if(!authenticated || !target_id_card) @@ -250,7 +246,7 @@ var/list/access = target_id_card.access access.Cut() target_id_card.faction_group -= factions - log_idmod(target_id_card, " [key_name_admin(usr)] removed all accesses and USCM IFF. ") + log_idmod(target_id_card, " [user.real_name] removed all accesses and USCM IFF. ", key_name_admin(user)) return TRUE if("PRG_grantregion") if(!authenticated || !target_id_card) @@ -258,14 +254,14 @@ if(params["region"] == "Faction (IFF system)") target_id_card.faction_group |= factions - log_idmod(target_id_card, " [key_name_admin(usr)] granted USCM IFF. ") + log_idmod(target_id_card, " [user.real_name] granted USCM IFF. ", key_name_admin(user)) return TRUE var/region = text2num(params["region"]) if(isnull(region)) return target_id_card.access |= get_region_accesses(region) var/additions = get_region_accesses_name(region) - log_idmod(target_id_card, " [key_name_admin(usr)] granted all [additions] accesses. ") + log_idmod(target_id_card, " [user.real_name] granted all [additions] accesses. ", key_name_admin(user)) return TRUE if("PRG_denyregion") if(!authenticated || !target_id_card) @@ -273,14 +269,14 @@ if(params["region"] == "Faction (IFF system)") target_id_card.faction_group -= factions - log_idmod(target_id_card, " [key_name_admin(usr)] revoked USCM IFF. ") + log_idmod(target_id_card, " [user.real_name] revoked USCM IFF. ", key_name_admin(user)) return TRUE var/region = text2num(params["region"]) if(isnull(region)) return target_id_card.access -= get_region_accesses(region) var/additions = get_region_accesses_name(region) - log_idmod(target_id_card, " [key_name_admin(usr)] revoked all [additions] accesses. ") + log_idmod(target_id_card, " [user.real_name] revoked all [additions] accesses. ", key_name_admin(user)) return TRUE if("PRG_account") if(!authenticated || !target_id_card) @@ -288,7 +284,7 @@ var/account = text2num(params["account"]) target_id_card.associated_account_number = account - log_idmod(target_id_card, " [key_name_admin(usr)] changed the account number to '[account]'. ") + log_idmod(target_id_card, " [user.real_name] changed the account number to '[account]'. ", key_name_admin(user)) return TRUE /obj/structure/machinery/computer/card/ui_static_data(mob/user) @@ -904,9 +900,10 @@ GLOBAL_LIST_EMPTY_TYPED(crewmonitor, /datum/crewmonitor) // 20-29: Aux Command JOB_AUXILIARY_OFFICER = 20, JOB_SYNTH = 21, - JOB_PILOT = 22, - JOB_DROPSHIP_CREW_CHIEF = 23, - JOB_INTEL = 24, + JOB_CAS_PILOT = 22, + JOB_DROPSHIP_PILOT = 23, + JOB_DROPSHIP_CREW_CHIEF = 24, + JOB_INTEL = 25, // 30-39: Security JOB_CHIEF_POLICE = 30, JOB_PROVOST_TML = 30, @@ -1083,6 +1080,7 @@ GLOBAL_LIST_EMPTY_TYPED(crewmonitor, /datum/crewmonitor) // 50-59: Engineering JOB_UPP_COMBAT_SYNTH = 50, JOB_UPP_CREWMAN = 51, + JOB_UPP_SUPPORT_SYNTH = 52, // 60-69: Soldiers JOB_UPP_LEADER = 60, JOB_UPP_SPECIALIST = 61, diff --git a/code/modules/cm_marines/orbital_cannon.dm b/code/modules/cm_marines/orbital_cannon.dm index 23bce06fdc1a..ce69115cee48 100644 --- a/code/modules/cm_marines/orbital_cannon.dm +++ b/code/modules/cm_marines/orbital_cannon.dm @@ -184,9 +184,12 @@ GLOBAL_LIST(ob_type_fuel_requirements) chambered_tray = TRUE var/misfuel = get_misfuel_amount() var/message = "[key_name(user)] chambered the Orbital Bombardment cannon." + var/ares_message = "Shell chambered." if(misfuel) message += " It is misfueled by [misfuel] units!" + ares_message += " Fuel imbalance detected!" message_admins(message, x, y, z) + log_ares_bombardment(user, lowertext(tray.warhead.name), ares_message) update_icon() diff --git a/code/modules/cm_marines/overwatch.dm b/code/modules/cm_marines/overwatch.dm index e68ef467faa9..70b2b82d8c86 100644 --- a/code/modules/cm_marines/overwatch.dm +++ b/code/modules/cm_marines/overwatch.dm @@ -800,7 +800,7 @@ notify_ghosts(header = "Bombardment Inbound", message = "\A [ob_name] targeting [get_area(T)] has been fired!", source = T, alert_overlay = warhead_appearance, extra_large = TRUE) /// Project ARES interface log. - log_ares_bombardment(user.name, ob_name, "X[x_bomb], Y[y_bomb] in [get_area(T)]") + log_ares_bombardment(user.name, ob_name, "Bombardment fired at X[x_bomb], Y[y_bomb] in [get_area(T)]") busy = FALSE if(istype(T)) @@ -816,8 +816,8 @@ to_chat(usr, "[icon2html(src, usr)] [SPAN_WARNING("The [name] is busy processing another action!")]") return - var/obj/structure/closet/crate/C = locate() in current_squad.drop_pad.loc //This thing should ALWAYS exist. - if(!istype(C)) + var/obj/structure/closet/crate/crate = locate() in current_squad.drop_pad.loc //This thing should ALWAYS exist. + if(!istype(crate)) to_chat(usr, "[icon2html(src, usr)] [SPAN_WARNING("No crate was detected on the drop pad. Get Requisitions on the line!")]") return @@ -844,17 +844,19 @@ return busy = TRUE - C.visible_message(SPAN_WARNING("\The [C] loads into a launch tube. Stand clear!")) - SEND_SIGNAL(C, COMSIG_STRUCTURE_CRATE_SQUAD_LAUNCHED, current_squad) + crate.visible_message(SPAN_WARNING("\The [crate] loads into a launch tube. Stand clear!")) + SEND_SIGNAL(crate, COMSIG_STRUCTURE_CRATE_SQUAD_LAUNCHED, current_squad) COOLDOWN_START(current_squad, next_supplydrop, 500 SECONDS) if(ismob(usr)) var/mob/M = usr M.count_niche_stat(STATISTICS_NICHE_CRATES) - playsound(C.loc,'sound/effects/bamf.ogg', 50, 1) //Ehh - var/obj/structure/droppod/supply/pod = new(null, C) + playsound(crate.loc,'sound/effects/bamf.ogg', 50, 1) //Ehh + var/obj/structure/droppod/supply/pod = new(null, crate) pod.launch(T) - visible_message("[icon2html(src, viewers(src))] [SPAN_BOLDNOTICE("'[C.name]' supply drop launched! Another launch will be available in five minutes.")]") + log_ares_requisition("Supply Drop", "Launch [crate.name] to X[x_supply], Y[y_supply].", usr.real_name) + log_game("[key_name(usr)] launched supply drop '[crate.name]' to X[x_coord], Y[y_coord].") + visible_message("[icon2html(src, viewers(src))] [SPAN_BOLDNOTICE("'[crate.name]' supply drop launched! Another launch will be available in five minutes.")]") busy = FALSE /obj/structure/machinery/computer/overwatch/almayer @@ -884,10 +886,14 @@ density = FALSE unslashable = TRUE unacidable = TRUE + plane = FLOOR_PLANE layer = 2.1 //It's the floor, man var/squad = SQUAD_MARINE_1 var/sending_package = 0 +/obj/structure/supply_drop/ex_act(severity, direction) + return FALSE + /obj/structure/supply_drop/Initialize(mapload, ...) . = ..() GLOB.supply_drop_list += src diff --git a/code/modules/cm_marines/smartgun_mount.dm b/code/modules/cm_marines/smartgun_mount.dm index 7cb3b4fa051b..b3035511cab7 100644 --- a/code/modules/cm_marines/smartgun_mount.dm +++ b/code/modules/cm_marines/smartgun_mount.dm @@ -70,7 +70,7 @@ return /obj/item/device/m56d_gun/attackby(obj/item/O as obj, mob/user as mob) - if(!ishuman(user)) + if(!ishuman(user) || !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) return if(QDELETED(O)) @@ -92,7 +92,7 @@ if(istype(machine, /obj/structure/machinery/m56d_hmg) || istype(machine, /obj/structure/machinery/m56d_post)) to_chat(user, SPAN_WARNING("This is too close to [machine]!")) return - if(!ishuman(user)) + if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) return if(!has_mount) return @@ -188,7 +188,7 @@ /obj/item/device/m56d_post/attack_self(mob/user) ..() - if(!ishuman(usr)) + if(!ishuman(usr) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) return if(SSinterior.in_interior(user)) to_chat(usr, SPAN_WARNING("It's too cramped in here to deploy \a [src].")) @@ -296,9 +296,9 @@ return XENO_ATTACK_ACTION /obj/structure/machinery/m56d_post/MouseDrop(over_object, src_location, over_location) //Drag the tripod onto you to fold it. - if(!ishuman(usr)) + var/mob/living/carbon/user = usr //this is us + if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) return - var/mob/living/carbon/human/user = usr //this is us if(over_object == user && in_range(src, user)) if(anchored && gun_mounted) to_chat(user, SPAN_WARNING("\The [src] can't be folded while there's an unsecured gun mounted on it. Either complete the assembly or take the gun off with a crowbar.")) @@ -313,7 +313,7 @@ qdel(src) /obj/structure/machinery/m56d_post/attackby(obj/item/O, mob/user) - if(!ishuman(user)) //first make sure theres no funkiness + if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) //first make sure theres no funkiness return if(HAS_TRAIT(O, TRAIT_TOOL_WRENCH)) //rotate the mount @@ -549,7 +549,7 @@ /obj/structure/machinery/m56d_hmg/get_examine_text(mob/user) //Let us see how much ammo we got in this thing. . = ..() - if(ishuman(user)) + if(ishuman(user) || HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) if(rounds) . += SPAN_NOTICE("It has [rounds] round\s out of [rounds_max].") else @@ -568,7 +568,7 @@ return /obj/structure/machinery/m56d_hmg/attackby(obj/item/O as obj, mob/user as mob) //This will be how we take it apart. - if(!ishuman(user)) + if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) return ..() if(QDELETED(O)) @@ -692,16 +692,18 @@ update_health(round(P.damage / 10)) //Universal low damage to what amounts to a post with a gun. return 1 -/obj/structure/machinery/m56d_hmg/attack_alien(mob/living/carbon/xenomorph/M) // Those Ayy lmaos. - if(islarva(M)) +/obj/structure/machinery/m56d_hmg/attack_alien(mob/living/carbon/xenomorph/xeno) // Those Ayy lmaos. + if(islarva(xeno)) return //Larvae can't do shit - - M.visible_message(SPAN_DANGER("[M] has slashed [src]!"), + if(xeno.IsAdvancedToolUser() && xeno.a_intent == INTENT_HELP) + try_mount_gun(xeno) + return XENO_NO_DELAY_ACTION + xeno.visible_message(SPAN_DANGER("[xeno] has slashed [src]!"), SPAN_DANGER("You slash [src]!")) - M.animation_attack_on(src) - M.flick_attack_overlay(src, "slash") + xeno.animation_attack_on(src) + xeno.flick_attack_overlay(src, "slash") playsound(loc, "alien_claw_metal", 25) - update_health(rand(M.melee_damage_lower,M.melee_damage_upper)) + update_health(rand(xeno.melee_damage_lower,xeno.melee_damage_upper)) return XENO_ATTACK_ACTION /obj/structure/machinery/m56d_hmg/proc/load_into_chamber() @@ -841,17 +843,21 @@ // Try to man the gun try_mount_gun(usr) -/obj/structure/machinery/m56d_hmg/proc/try_mount_gun(mob/living/carbon/human/user) +/obj/structure/machinery/m56d_hmg/proc/try_mount_gun(mob/living/carbon/user) // If the user isn't a human. if(!istype(user)) return // If the user is unconscious or dead. if(user.stat) return - + if(ishuman(user)) + var/mob/living/carbon/human/human = user + if(!human.allow_gun_usage) + to_chat(user, SPAN_WARNING("You aren't allowed to use firearms!")) + return // If the user isn't actually allowed to use guns. - if(!user.allow_gun_usage) - to_chat(user, SPAN_WARNING("You aren't allowed to use firearms!")) + else if (!HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) + to_chat(user, SPAN_WARNING("You don't know what to do with [src]!")) return // If the user is invisible. diff --git a/code/modules/cm_phone/phone.dm b/code/modules/cm_phone/phone.dm index b4f13044bc20..231bf54475d3 100644 --- a/code/modules/cm_phone/phone.dm +++ b/code/modules/cm_phone/phone.dm @@ -362,7 +362,7 @@ GLOBAL_LIST_EMPTY_TYPED(transmitters, /obj/structure/transmitter) qdel(attached_to) else attached_to.attached_to = null - attached_to = null + attached_to = null GLOB.transmitters -= src SStgui.close_uis(src) diff --git a/code/modules/cm_preds/yaut_bracers.dm b/code/modules/cm_preds/yaut_bracers.dm index 95d545fbd72b..1994d0507884 100644 --- a/code/modules/cm_preds/yaut_bracers.dm +++ b/code/modules/cm_preds/yaut_bracers.dm @@ -1050,7 +1050,7 @@ if(!drain_power(caller, 50)) return - log_say("[caller.name != "Unknown" ? caller.name : "([caller.real_name])"] \[Yautja Translator\]: [msg] (CKEY: [caller.key]) (JOB: [caller.job])") + log_say("[caller.name != "Unknown" ? caller.name : "([caller.real_name])"] \[Yautja Translator\]: [msg] (CKEY: [caller.key]) (JOB: [caller.job]) (AREA: [get_area_name(caller)])") var/list/heard = get_mobs_in_view(7, caller) for(var/mob/M in heard) diff --git a/code/modules/cm_tech/droppod/lz_effect.dm b/code/modules/cm_tech/droppod/lz_effect.dm index 6a73916c7b3f..7ab955d8a00c 100644 --- a/code/modules/cm_tech/droppod/lz_effect.dm +++ b/code/modules/cm_tech/droppod/lz_effect.dm @@ -34,6 +34,7 @@ /obj/effect/warning/explosive/proc/disappear() qdel(src) + /obj/effect/warning/explosive/gas name = "gas warning" color = "#42acd6" diff --git a/code/modules/cm_tech/tech.dm b/code/modules/cm_tech/tech.dm index dea505f3237a..1750f7e7dbbf 100644 --- a/code/modules/cm_tech/tech.dm +++ b/code/modules/cm_tech/tech.dm @@ -21,9 +21,11 @@ var/background_icon = "background" var/background_icon_locked = "marine" - var/announce_name + var/announce_name = "ALMAYER SPECIAL ASSETS AUTHORIZED" var/announce_message + var/is_tier_changer = FALSE + /datum/tech/proc/can_unlock(mob/M) SHOULD_CALL_PARENT(TRUE) @@ -58,6 +60,7 @@ return TRUE + /** Called when a tech is unlocked. Usually, benefits can be applied here * however, the purchase can still be cancelled by returning FALSE * @@ -69,11 +72,17 @@ unlocked = TRUE to_chat(user, SPAN_HELPFUL("You have purchased the '[name]' tech node.")) log_admin("[key_name_admin(user)] has bought '[name]' via tech points.") + if(!is_tier_changer) + var/log_details = announce_message + if(!log_details) + log_details = name + var/current_points = holder.points + log_ares_tech(user.real_name, is_tier_changer, announce_name, log_details, required_points, current_points) holder.spend_points(required_points) update_icon(node) if(!(tech_flags & TECH_FLAG_NO_ANNOUNCE) && announce_message && announce_name) - marine_announcement(announce_message, announce_name, 'sound/misc/notice2.ogg') + marine_announcement(announce_message, announce_name, 'sound/misc/notice2.ogg', logging = ARES_LOG_NONE) return TRUE diff --git a/code/modules/cm_tech/techs/abstract/transitory.dm b/code/modules/cm_tech/techs/abstract/transitory.dm index 7798b6053d0e..1737b6b21ee6 100644 --- a/code/modules/cm_tech/techs/abstract/transitory.dm +++ b/code/modules/cm_tech/techs/abstract/transitory.dm @@ -7,6 +7,7 @@ var/datum/tier/next var/techs_to_unlock = 0 + is_tier_changer = TRUE /datum/tech/transitory/check_tier_level(mob/M) if(before && before != holder.tier.type) @@ -22,7 +23,7 @@ return TRUE -/datum/tech/transitory/on_unlock() +/datum/tech/transitory/on_unlock(mob/user) . = ..() if(!next) return @@ -31,6 +32,10 @@ if(next_tier) holder.tier = next_tier holder.on_tier_change(previous_tier) + if(flags & TREE_FLAG_MARINE) + /// Due to calling parent, points will have already been spent by now. + var/current_points = holder.points + required_points + log_ares_tech(user.real_name, is_tier_changer, "ALMAYER DEFCON LEVEL INCREASED", "THREAT ASSESSMENT LEVEL INCREASED TO LEVEL [next_tier.tier].\n\nLEVEL [next_tier.tier] assets have been authorised to handle the situation.", required_points, current_points) /datum/tech/transitory/get_tier_overlay() if(!next) diff --git a/code/modules/cm_tech/techs/marine/tier1/points.dm b/code/modules/cm_tech/techs/marine/tier1/points.dm index d6bb5bace6fc..7768d8da2ab7 100644 --- a/code/modules/cm_tech/techs/marine/tier1/points.dm +++ b/code/modules/cm_tech/techs/marine/tier1/points.dm @@ -31,7 +31,6 @@ icon_state = "budget_ds" desc = "Distributes resources to the dropship fabricator." - announce_name = "ALMAYER SPECIAL ASSETS AUTHORIZED" announce_message = "Additional dropship part fabricator points have been authorised for this operation." required_points = 12 diff --git a/code/modules/cm_tech/techs/marine/tier2/orbital_ammo.dm b/code/modules/cm_tech/techs/marine/tier2/orbital_ammo.dm index 303ea6121734..51675ccd27f2 100644 --- a/code/modules/cm_tech/techs/marine/tier2/orbital_ammo.dm +++ b/code/modules/cm_tech/techs/marine/tier2/orbital_ammo.dm @@ -7,8 +7,6 @@ tier = /datum/tier/two - announce_name = "ALMAYER SPECIAL ASSETS AUTHORIZED" - var/type_to_give /datum/tech/repeatable/ob/on_unlock() diff --git a/code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm b/code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm index acee904af305..06770b1d6afe 100644 --- a/code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm +++ b/code/modules/cm_tech/techs/marine/tier3/cryo_spec.dm @@ -3,7 +3,6 @@ desc = "Wakes up an additional specialist to fight against any threats." icon_state = "overshield" - announce_name = "ALMAYER SPECIAL ASSETS AUTHORIZED" announce_message = "An additional specialist is being taken out of cryo." required_points = 8 diff --git a/code/modules/cm_tech/techs/marine/tier3/cryorine.dm b/code/modules/cm_tech/techs/marine/tier3/cryorine.dm index 404fbd07c2ae..19200698db02 100644 --- a/code/modules/cm_tech/techs/marine/tier3/cryorine.dm +++ b/code/modules/cm_tech/techs/marine/tier3/cryorine.dm @@ -4,7 +4,6 @@ desc = "Wakes up additional troops to fight against any threats." icon_state = "cryotroops" - announce_name = "ALMAYER SPECIAL ASSETS AUTHORIZED" announce_message = "Additional troops are being taken out of cryo." required_points = 6 diff --git a/code/modules/cm_tech/trees/marine.dm b/code/modules/cm_tech/trees/marine.dm index aae057b90198..046712f9656b 100644 --- a/code/modules/cm_tech/trees/marine.dm +++ b/code/modules/cm_tech/trees/marine.dm @@ -174,4 +174,4 @@ GLOBAL_LIST_EMPTY(tech_controls_marine) return //No need to announce tier updates for tier 1 var/name = "ALMAYER DEFCON LEVEL INCREASED" var/input = "THREAT ASSESSMENT LEVEL INCREASED TO LEVEL [tier.tier].\n\nLEVEL [tier.tier] assets have been authorised to handle the situation." - marine_announcement(input, name, 'sound/AI/commandreport.ogg') + marine_announcement(input, name, 'sound/AI/commandreport.ogg', logging = ARES_LOG_NONE) diff --git a/code/modules/defenses/defenses.dm b/code/modules/defenses/defenses.dm index aedbad2d46e9..febe4901ae8a 100644 --- a/code/modules/defenses/defenses.dm +++ b/code/modules/defenses/defenses.dm @@ -97,11 +97,13 @@ if(!(placed||static)) return FALSE + msg_admin_niche("[key_name(usr)] turned on [src] at [get_location_in_text(src)] [ADMIN_JMP(loc)]") turned_on = TRUE power_on_action() update_icon() /obj/structure/machinery/defenses/proc/power_off() + msg_admin_niche("[key_name(usr)] turned off [src] at [get_location_in_text(src)] [ADMIN_JMP(loc)]") turned_on = FALSE power_off_action() update_icon() @@ -113,6 +115,7 @@ * @param selection: configuration value for category. */ /obj/structure/machinery/defenses/proc/update_choice(mob/user, category, selection) + msg_admin_niche("[key_name(user)] changed the [category] of [src] at [get_location_in_text(src)] to [selection] [ADMIN_JMP(loc)]") if(category in selected_categories) selected_categories[category] = selection switch(category) @@ -124,7 +127,6 @@ switch(category) if("nickname") nickname = selection - message_admins("[key_name_admin(user)] has labelled structure to [nickname]", user.x, user.y, user.z) return TRUE return FALSE diff --git a/code/modules/economy/EFTPOS.dm b/code/modules/economy/EFTPOS.dm index ca73c2efb84f..ad6368328d01 100644 --- a/code/modules/economy/EFTPOS.dm +++ b/code/modules/economy/EFTPOS.dm @@ -198,7 +198,7 @@ transaction_locked = 0 transaction_paid = 0 else - var/attempt_code = tgui_input_number(usr, "Enter EFTPOS access code", "Reset Transaction") + var/attempt_code = tgui_input_number(usr, "Enter EFTPOS access code", "Reset Transaction", 1000, 999999, 1000) if(attempt_code == access_code) transaction_locked = 0 transaction_paid = 0 @@ -234,7 +234,7 @@ var/attempt_pin = "" var/datum/money_account/D = get_account(C.associated_account_number) if(D.security_level) - attempt_pin = tgui_input_number(usr, "Enter pin code", "EFTPOS transaction") + attempt_pin = tgui_input_number(usr, "Enter pin code", "EFTPOS transaction", 1111, 111111, 1111) D = null D = attempt_account_access(C.associated_account_number, attempt_pin, 2) if(D) diff --git a/code/modules/gear_presets/clf.dm b/code/modules/gear_presets/clf.dm index 9c05ff8fa5fc..143a2271f00e 100644 --- a/code/modules/gear_presets/clf.dm +++ b/code/modules/gear_presets/clf.dm @@ -900,6 +900,54 @@ list("Whistle", 5, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR), ) +/datum/equipment_preset/clf/synth/combat + name = "CLF Combat Synthetic" + flags = EQUIPMENT_PRESET_EXTRA + +/datum/equipment_preset/clf/synth/combat/load_skills(mob/living/carbon/human/new_human) + . = ..() + new_human.allow_gun_usage = TRUE + +/datum/equipment_preset/clf/synth/combat/load_gear(mob/living/carbon/human/new_human) + //back + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/engineerpack/ert, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/roller, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar, WEAR_IN_BACK) + //face + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CLF/command(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet/upp, WEAR_FACE) + if(new_human.disabilities & NEARSIGHTED) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) + else + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) + //head + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/jan, WEAR_HEAD) + //body + var/obj/item/clothing/under/colonist/clf/CLF = new() + var/obj/item/clothing/accessory/storage/webbing/webbing = new() + CLF.attach_accessory(new_human, webbing) + new_human.equip_to_slot_or_del(CLF, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40/extended, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40/extended, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40/extended, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/militia, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40/extended, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/mar40/extended, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/mar40/carbine, WEAR_J_STORE) + //waist + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/full/with_suture_and_graft, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer(new_human), WEAR_IN_BELT) + //limbs + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat, WEAR_FEET) + //pockets + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/synth, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/construction/full_barbed_wire, WEAR_R_STORE) + //*****************************************************************************************************/ /datum/equipment_preset/clf/commander diff --git a/code/modules/gear_presets/cmb.dm b/code/modules/gear_presets/cmb.dm index 7bf6cbb8325d..d568e2838ae2 100644 --- a/code/modules/gear_presets/cmb.dm +++ b/code/modules/gear_presets/cmb.dm @@ -113,7 +113,7 @@ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/highpower, WEAR_IN_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb, WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge/rubber, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/large, WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/buckshot, WEAR_IN_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/buckshot, WEAR_IN_R_STORE) diff --git a/code/modules/gear_presets/corpses.dm b/code/modules/gear_presets/corpses.dm index cbe8bc0abce4..b8330e0e4c70 100644 --- a/code/modules/gear_presets/corpses.dm +++ b/code/modules/gear_presets/corpses.dm @@ -48,76 +48,12 @@ /datum/equipment_preset/corpse/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) add_random_survivor_equipment(new_human) - add_survivor_weapon_civilian(new_human) add_survivor_weapon_pistol(new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine(new_human), WEAR_FEET) - -//*****************************************************************************************************/ - -/datum/equipment_preset/corpse/realpirate - name = "Corpse - Pirate" - access = list( - ACCESS_CIVILIAN_PUBLIC, - ACCESS_CIVILIAN_LOGISTICS, - ACCESS_CIVILIAN_ENGINEERING, - ACCESS_CIVILIAN_RESEARCH, - ACCESS_CIVILIAN_BRIG, - ACCESS_CIVILIAN_MEDBAY, - ACCESS_CIVILIAN_COMMAND, - ACCESS_ILLEGAL_PIRATE, - ) - -/datum/equipment_preset/corpse/realpirate/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/pirate(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch(new_human), WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/bandana(new_human), WEAR_HEAD) //*****************************************************************************************************/ -/datum/equipment_preset/corpse/realpirate/ranged - name = "Corpse - Pirate Gunner" - -/datum/equipment_preset/corpse/realpirate/ranged/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/pirate(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/pirate(new_human), WEAR_HEAD) - . = ..() - -//*****************************************************************************************************/ - -/datum/equipment_preset/corpse/russian - name = "Corpse - Russian" - access = list( - ACCESS_CIVILIAN_PUBLIC, - ACCESS_CIVILIAN_LOGISTICS, - ACCESS_CIVILIAN_ENGINEERING, - ACCESS_CIVILIAN_RESEARCH, - ACCESS_CIVILIAN_BRIG, - ACCESS_CIVILIAN_MEDBAY, - ACCESS_CIVILIAN_COMMAND, - ) - -/datum/equipment_preset/corpse/russian - -/datum/equipment_preset/corpse/russian/load_gear(mob/living/carbon/human/new_human) - - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/veteran/soviet_uniform_01(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/soviet(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine(new_human), WEAR_WAIST) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) - if(prob(25)) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/bearpelt(new_human), WEAR_HEAD) - else - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(new_human), WEAR_HEAD) //*****************************************************************************************************/ // Civilians @@ -127,16 +63,12 @@ assignment = "Prisoner" /datum/equipment_preset/corpse/prisoner/load_gear(mob/living/carbon/human/new_human) + add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/color/orange(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(new_human), WEAR_FEET) //*****************************************************************************************************/ @@ -146,105 +78,82 @@ access = list(ACCESS_CIVILIAN_PUBLIC) /datum/equipment_preset/corpse/chef/load_gear(mob/living/carbon/human/new_human) + add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/chef/classic(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) //*****************************************************************************************************/ /datum/equipment_preset/corpse/doctor name = "Corpse - Doctor" - assignment = "Medical Doctor" + assignment = "Doctor" + idtype = /obj/item/card/id/silver/clearance_badge xenovictim = TRUE access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_RESEARCH, ACCESS_CIVILIAN_MEDBAY) /datum/equipment_preset/corpse/doctor/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) + add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/med(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE) - new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/med(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/chef/classic(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/chef/classic/medical(new_human), WEAR_JACKET) add_random_survivor_medical_gear(new_human) //*****************************************************************************************************/ /datum/equipment_preset/corpse/engineer name = "Corpse - Engineer" - assignment = "Station Engineer" + assignment = "Engineer" xenovictim = TRUE access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_LOGISTICS, ACCESS_CIVILIAN_ENGINEERING) /datum/equipment_preset/corpse/engineer/load_gear(mob/living/carbon/human/new_human) + add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding(new_human), WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/insulated(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK) - - - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/lantern(new_human.back), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) //*****************************************************************************************************/ /datum/equipment_preset/corpse/scientist name = "Corpse - Scientist" assignment = "Scientist" + idtype = /obj/item/card/id/silver/clearance_badge/scientist xenovictim = TRUE - access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_LOGISTICS, ACCESS_CIVILIAN_ENGINEERING, ACCESS_CIVILIAN_RESEARCH, ACCESS_CIVILIAN_MEDBAY) + access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_LOGISTICS, ACCESS_CIVILIAN_RESEARCH, ACCESS_CIVILIAN_MEDBAY) /datum/equipment_preset/corpse/scientist/load_gear(mob/living/carbon/human/new_human) - + add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/virologist(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/green(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/virologist(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/green(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/chem(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/green(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/paper/research_notes/good(new_human), WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/glass/beaker/vial/random/good(new_human), WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science(new_human), WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/chem(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/green(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/paper/research_notes/good(new_human), WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/glass/beaker/vial/random/good(new_human), WEAR_IN_JACKET) //*****************************************************************************************************/ @@ -255,34 +164,32 @@ access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_LOGISTICS, ACCESS_CIVILIAN_ENGINEERING) /datum/equipment_preset/corpse/miner/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS) + add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/miner(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/industrial(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/lantern(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/yellow(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/full(new_human), WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/orange(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) //*****************************************************************************************************/ /datum/equipment_preset/corpse/security name = "Corpse - Security" - assignment = "Deputy" + assignment = "Security Officer" xenovictim = TRUE access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_BRIG, ACCESS_CIVILIAN_MEDBAY, ACCESS_CIVILIAN_COMMAND) /datum/equipment_preset/corpse/security/load_gear(mob/living/carbon/human/new_human) - + add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/security/MP/full(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) @@ -293,12 +200,13 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) - //*****************************************************************************************************/ -/datum/equipment_preset/corpse/security/marshal - name = "Corpse - Colonial Marshal" - assignment = "Colonial Marshal" +/datum/equipment_preset/corpse/security/cmb + name = "Corpse - Colonial Marshal Deputy" + rank = JOB_CMB + paygrade = PAY_SHORT_CMBD + idtype = /obj/item/card/id/deputy xenovictim = TRUE access = list( ACCESS_CIVILIAN_PUBLIC, @@ -310,14 +218,10 @@ ACCESS_CIVILIAN_COMMAND, ) -/datum/equipment_preset/corpse/security/marshal/load_gear(mob/living/carbon/human/new_human) - - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) +/datum/equipment_preset/corpse/security/cmb/load_gear(mob/living/carbon/human/new_human) + add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/CMB(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/heavy(new_human), WEAR_WAIST) @@ -327,19 +231,21 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(new_human), WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/CMB(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - . = ..() //*****************************************************************************************************/ -/datum/equipment_preset/corpse/security/liaison +/datum/equipment_preset/corpse/liaison name = "Corpse - Corporate Liaison" - assignment = "Corporate Liaison" + assignment = JOB_EXECUTIVE + rank = JOB_EXECUTIVE + faction_group = FACTION_LIST_WY + paygrade = PAY_SHORT_WYC3 + idtype = /obj/item/card/id/silver/clearance_badge/cl xenovictim = TRUE - paygrade = PAY_SHORT_WYC2 access = list( + ACCESS_WY_COLONIAL, + ACCESS_WY_EXEC, ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_LOGISTICS, ACCESS_CIVILIAN_ENGINEERING, @@ -349,29 +255,36 @@ ACCESS_CIVILIAN_COMMAND, ) -/datum/equipment_preset/corpse/security/liaison/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/black(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET) +/datum/equipment_preset/corpse/liaison/load_gear(mob/living/carbon/human/new_human) + var/random = rand(1,4) + add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/aviator(new_human), WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK) add_random_cl_survivor_loot(new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/centcom(new_human), WEAR_FEET) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) + + switch(random) + if(1) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/blue(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET) + if(2) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/brown(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET) + if(3) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/corporate_formal(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET) + if(4) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/black(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET) + . = ..() //*****************************************************************************************************/ -/datum/equipment_preset/corpse/prison_security +/datum/equipment_preset/corpse/prison_guard name = "Corpse - Prison Guard" assignment = "Prison Guard" access = list( @@ -384,14 +297,12 @@ ACCESS_CIVILIAN_COMMAND, ) -/datum/equipment_preset/corpse/prison_security/load_gear(mob/living/carbon/human/new_human) - +/datum/equipment_preset/corpse/prison_guard/load_gear(mob/living/carbon/human/new_human) + add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) @@ -400,11 +311,21 @@ //*****************************************************************************************************/ /////////////////Officers////////////////////// -/datum/equipment_preset/corpse/bridgeofficer - name = "Corpse - Staff Officer" - idtype = /obj/item/card/id/general - assignment = "Staff Officer" +/datum/equipment_preset/corpse/manager + name = "Corpse - Colony Division Manager" + assignment = "Colonial Division Manager" + rank = JOB_DIVISION_MANAGER + faction_group = FACTION_LIST_WY + paygrade = PAY_SHORT_WYC8 access = list( + ACCESS_WY_GENERAL, + ACCESS_WY_COLONIAL, + ACCESS_WY_MEDICAL, + ACCESS_WY_SECURITY, + ACCESS_WY_ENGINEERING, + ACCESS_WY_FLIGHT, + ACCESS_WY_RESEARCH, + ACCESS_WY_EXEC, ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_LOGISTICS, ACCESS_CIVILIAN_ENGINEERING, @@ -414,23 +335,25 @@ ACCESS_CIVILIAN_COMMAND, ) -/datum/equipment_preset/corpse/bridgeofficer/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_officer(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) +/datum/equipment_preset/corpse/manager/load_gear(mob/living/carbon/human/new_human) + add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/ivy(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/bulletproof(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(new_human), WEAR_EYES) //*****************************************************************************************************/ -/datum/equipment_preset/corpse/bridgeofficer/johnson - name = "Corpse - Mr. Johnson Telovin" - idtype = /obj/item/card/id/general - assignment = "Bridge Officer" - uses_special_name = TRUE - paygrade = PAY_SHORT_WYC2 + +/datum/equipment_preset/corpse/administrator + name = "Corpse - Colony Administrator" + assignment = "Colonial Administrator" + rank = JOB_DIRECTOR + faction_group = FACTION_LIST_WY + paygrade = PAY_SHORT_WYC10 + idtype = /obj/item/card/id/silver/cl access = list( ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_LOGISTICS, @@ -439,52 +362,40 @@ ACCESS_CIVILIAN_BRIG, ACCESS_CIVILIAN_MEDBAY, ACCESS_CIVILIAN_COMMAND, + ACCESS_WY_GENERAL, + ACCESS_WY_COLONIAL, ACCESS_WY_MEDICAL, - ACCESS_WY_ENGINEERING, ACCESS_WY_SECURITY, + ACCESS_WY_ENGINEERING, + ACCESS_WY_FLIGHT, + ACCESS_WY_RESEARCH, + ACCESS_WY_EXEC, + ACCESS_WY_PMC, + ACCESS_WY_PMC_TL, + ACCESS_WY_ARMORY, + ACCESS_WY_SECRETS, ACCESS_WY_LEADERSHIP, - ACCESS_WY_COLONIAL, - ACCESS_WY_GENERAL, - ) - -/datum/equipment_preset/corpse/bridgeofficer/johnson/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/waiter(new_human), WEAR_BODY) - . = ..() - -/datum/equipment_preset/corpse/bridgeofficer/johnson/load_name(mob/living/carbon/human/new_human, randomise) - new_human.change_real_name(new_human, "Johnson Telovin") - -//*****************************************************************************************************/ - -/datum/equipment_preset/corpse/commander - name = "Corpse - Commanding Officer" - idtype = /obj/item/card/id/general - assignment = "Commanding Officer" - access = list( - ACCESS_CIVILIAN_PUBLIC, - ACCESS_CIVILIAN_LOGISTICS, - ACCESS_CIVILIAN_ENGINEERING, - ACCESS_CIVILIAN_RESEARCH, - ACCESS_CIVILIAN_BRIG, - ACCESS_CIVILIAN_MEDBAY, - ACCESS_CIVILIAN_COMMAND, + ACCESS_WY_SENIOR_LEAD, ) -/datum/equipment_preset/corpse/commander/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom_commander(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) +/datum/equipment_preset/corpse/administrator/load_gear(mob/living/carbon/human/new_human) + add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/ivy(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/bulletproof(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch(new_human), WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp78(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(new_human), WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette/cigar/cohiba(new_human), WEAR_FACE) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/centhat(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/swat(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/tool/lighter/zippo(new_human), WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/tool/lighter/zippo/executive(new_human), WEAR_R_STORE) add_random_cl_survivor_loot(new_human) +/datum/equipment_preset/corpse/administrator/burst + name = "Corpse - Burst Colony Administrator" + xenovictim = TRUE + //*****************************************************************************************************/ /datum/equipment_preset/corpse/wysec @@ -505,52 +416,37 @@ ) /datum/equipment_preset/corpse/wysec/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/formal/servicedress(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) + add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/white_service(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) +//*****************************************************************************************************/ -/////Actually specific colonists +//Colonists /datum/equipment_preset/corpse/colonist name = "Corpse - Colonist" - assignment = JOB_COLONIST - xenovictim = FALSE - rank = JOB_COLONIST - faction = FACTION_COLONIST - access = list(ACCESS_CIVILIAN_PUBLIC) - idtype = /obj/item/card/id/lanyard /datum/equipment_preset/colonist/load_gear(mob/living/carbon/human/new_human) - + add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(new_human), WEAR_BACK) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine(new_human), WEAR_FEET) /datum/equipment_preset/corpse/colonist/burst name = "Corpse - Burst Colonist" xenovictim = TRUE +//*****************************************************************************************************/ + /datum/equipment_preset/corpse/colonist/random name = "Corpse - Colonist Random" - assignment = JOB_COLONIST - xenovictim = FALSE - rank = JOB_COLONIST - faction = FACTION_COLONIST - access = list(ACCESS_CIVILIAN_PUBLIC) - idtype = /obj/item/card/id/lanyard /datum/equipment_preset/corpse/colonist/random/load_gear(mob/living/carbon/human/new_human) var/random_surv_type = pick(SSmapping.configs[GROUND_MAP].survivor_types) @@ -561,14 +457,10 @@ name = "Corpse - Burst Colonist Random" xenovictim = TRUE +//*****************************************************************************************************/ + /datum/equipment_preset/corpse/colonist/kutjevo name = "Corpse - Colonist Kutjevo" - assignment = JOB_COLONIST - xenovictim = FALSE - rank = JOB_COLONIST - faction = FACTION_COLONIST - access = list(ACCESS_CIVILIAN_PUBLIC) - idtype = /obj/item/card/id/lanyard /datum/equipment_preset/corpse/colonist/kutjevo/load_gear(mob/living/carbon/human/new_human) @@ -578,18 +470,20 @@ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine(new_human), WEAR_FEET) /datum/equipment_preset/corpse/colonist/kutjevo/burst name = "Corpse - Burst Colonist Kutjevo" xenovictim = TRUE -//UA riot control dudes +//*****************************************************************************************************/ + +//UA Riot Control Officer + /datum/equipment_preset/corpse/ua_riot name = "Corpse - UA Officer" assignment = "United Americas Riot Officer" idtype = /obj/item/card/id/silver - xenovictim = FALSE access = list( ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_LOGISTICS, @@ -602,24 +496,23 @@ /datum/equipment_preset/corpse/ua_riot/load_gear(mob/living/carbon/human/new_human) var/random = rand(1,5) + add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/ua_riot(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/ua_riot(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/ua_riot(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/pmc(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/prop/helmetgarb/riot_shield(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/weapon/classic_baton(new_human), WEAR_WAIST) switch(random) if(1) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/security, WEAR_EYES) - if(2) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(new_human), WEAR_EYES) + if(2) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big(new_human), WEAR_EYES) if(3) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/aviator(new_human), WEAR_EYES) if(4) @@ -632,18 +525,18 @@ name = "Corpse - Burst UA Officer" xenovictim = TRUE -//Colonial Supervisor Corpse +//*****************************************************************************************************/ + +//Colonial Supervisor /datum/equipment_preset/corpse/wy/manager name = "Corpse - Corporate Supervisor" + assignment = "Colony Supervisor" flags = EQUIPMENT_PRESET_EXTRA paygrade = PAY_SHORT_WYC6 - assignment = "Colony Supervisor" - role_comm_title = "Supervisor" rank = FACTION_WY idtype = /obj/item/card/id/silver/clearance_badge/manager faction_group = FACTION_LIST_WY - languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE) access = list( ACCESS_WY_GENERAL, ACCESS_WY_COLONIAL, @@ -657,35 +550,33 @@ ) /datum/equipment_preset/corpse/wy/manager/load_gear(mob/living/carbon/human/new_human) - + add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket/manager(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable/liaison, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable/liaison(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/manager(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY, WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/dress, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/manager(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp78(new_human), WEAR_WAIST) - new_human.equip_to_slot_or_del(new /obj/item/attachable/bayonet(new_human.back), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/full(new_human), WEAR_R_STORE) add_random_cl_survivor_loot(new_human) - /datum/equipment_preset/corpse/wy/manager/burst name = "Corpse - Burst Corporate Supervisor" xenovictim = TRUE +//*****************************************************************************************************/ + //Faction Specific Corpses +//CLF + /datum/equipment_preset/corpse/clf name = "Corpse - Colonial Liberation Front Soldier" - assignment = "Colonial Liberation Front Soldier" - idtype = /obj/item/card/id/silver - xenovictim = FALSE + assignment = JOB_CLF + idtype = /obj/item/card/id/data + rank = JOB_CLF faction = FACTION_CLF /datum/equipment_preset/corpse/clf/New() @@ -715,12 +606,16 @@ name = "Corpse - Burst Colonial Liberation Front Soldier" xenovictim = TRUE -// UPP +//*****************************************************************************************************/ + +//UPP + /datum/equipment_preset/corpse/upp name = "Corpse - Union of Progressive Peoples Soldier" - assignment = "Union of Progressive Peoples Soldier" - idtype = /obj/item/card/id/silver - xenovictim = FALSE + assignment = JOB_UPP + idtype = /obj/item/card/id/dogtag + paygrade = PAY_SHORT_UE2 + rank = JOB_UPP faction = FACTION_UPP /datum/equipment_preset/corpse/upp/New() @@ -728,18 +623,14 @@ access = get_access(ACCESS_LIST_EMERGENCY_RESPONSE) + get_access(ACCESS_LIST_COLONIAL_ALL) /datum/equipment_preset/corpse/upp/load_gear(mob/living/carbon/human/new_human) - - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP, WEAR_L_EAR) - //head - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/UPP, WEAR_HEAD) - //body var/obj/item/clothing/under/marine/veteran/UPP/UPP = new() new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/UPP, WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET) - //limbs new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS) add_random_survivor_equipment(new_human) if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) @@ -749,7 +640,9 @@ name = "Corpse - Burst Union of Progressive Peoples Soldier" xenovictim = TRUE -// PMC +//*****************************************************************************************************/ + +//PMC /datum/equipment_preset/corpse/pmc name = "Corpse - Weyland-Yutani PMC (Standard)" @@ -760,8 +653,6 @@ rank = JOB_PMC_STANDARD paygrade = PAY_SHORT_PMC_OP idtype = /obj/item/card/id/pmc - skills = /datum/skills/civilian/survivor/pmc - languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE) access = list( ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_LOGISTICS, @@ -795,16 +686,19 @@ name = "Corpse - Burst Weyland-Yutani PMC (Standard)" xenovictim = TRUE +//*****************************************************************************************************/ + +//Goon + /datum/equipment_preset/corpse/pmc/goon name = "Corpse - Weyland-Yutani Corporate (Goon)" languages = list(LANGUAGE_ENGLISH) assignment = JOB_WY_GOON rank = JOB_WY_GOON paygrade = PAY_SHORT_CPO - skills = /datum/skills/MP /datum/equipment_preset/corpse/pmc/goon/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/pmc/corporate, WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/pmc/light/corporate, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) @@ -817,6 +711,10 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88_near_empty, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) +//*****************************************************************************************************/ + +//Lead Goon + /datum/equipment_preset/corpse/pmc/goon/lead name = "Corpse - Weyland-Yutani Corporate Security Lead (Goon Lead)" flags = EQUIPMENT_PRESET_EXTRA @@ -825,7 +723,7 @@ paygrade = PAY_SHORT_CSPO /datum/equipment_preset/corpse/pmc/goon/lead/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/pmc/corporate/lead, WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/pmc/light/corporate/lead, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) @@ -838,20 +736,26 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88_near_empty, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) -// Freelancer +/datum/equipment_preset/corpse/pmc/goon/lead/burst + name = "Corpse - Burst Weyland-Yutani Corporate Security Lead (Goon Lead)" + xenovictim = TRUE + +//*****************************************************************************************************/ + +//Freelancer /datum/equipment_preset/corpse/freelancer - name = "Corpse - Freelancer Mercenary" - assignment = "Freelancer Mercenary" - idtype = /obj/item/card/id/silver - xenovictim = FALSE + name = "Corpse - Freelancer" + paygrade = PAY_SHORT_FL_S + rank = FACTION_FREELANCER + idtype = /obj/item/card/id/data + faction = FACTION_FREELANCER /datum/equipment_preset/corpse/freelancer/New() . = ..() access = get_access(ACCESS_LIST_EMERGENCY_RESPONSE) + get_access(ACCESS_LIST_COLONIAL_ALL) /datum/equipment_preset/corpse/freelancer/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/freelancer, WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/freelancer, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) @@ -865,12 +769,83 @@ spawn_merc_helmet(new_human) /datum/equipment_preset/corpse/freelancer/burst - name = "Corpse - Burst Freelancer Mercenary" + name = "Corpse - Burst Freelancer" xenovictim = TRUE -// Fun Faction Corpse +//*****************************************************************************************************/ + +//Fun Faction Corpses + +//Pirates + +/datum/equipment_preset/corpse/realpirate + name = "Corpse - Pirate" + access = list( + ACCESS_CIVILIAN_PUBLIC, + ACCESS_CIVILIAN_LOGISTICS, + ACCESS_CIVILIAN_ENGINEERING, + ACCESS_CIVILIAN_RESEARCH, + ACCESS_CIVILIAN_BRIG, + ACCESS_CIVILIAN_MEDBAY, + ACCESS_CIVILIAN_COMMAND, + ACCESS_ILLEGAL_PIRATE, + ) + +/datum/equipment_preset/corpse/realpirate/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/pirate(new_human), WEAR_BODY) + if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) + add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch(new_human), WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/bandana(new_human), WEAR_HEAD) + +//*****************************************************************************************************/ + +/datum/equipment_preset/corpse/realpirate/ranged + name = "Corpse - Pirate Gunner" + +/datum/equipment_preset/corpse/realpirate/ranged/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/pirate(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/pirate(new_human), WEAR_HEAD) + . = ..() + +//*****************************************************************************************************/ + +//Russian(?) + +/datum/equipment_preset/corpse/russian + name = "Corpse - Russian" + access = list( + ACCESS_CIVILIAN_PUBLIC, + ACCESS_CIVILIAN_LOGISTICS, + ACCESS_CIVILIAN_ENGINEERING, + ACCESS_CIVILIAN_RESEARCH, + ACCESS_CIVILIAN_BRIG, + ACCESS_CIVILIAN_MEDBAY, + ACCESS_CIVILIAN_COMMAND, + ) + +/datum/equipment_preset/corpse/russian -// Dutch Dozen +/datum/equipment_preset/corpse/russian/load_gear(mob/living/carbon/human/new_human) + + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/veteran/soviet_uniform_01(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/soviet(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) + if(prob(25)) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/bearpelt(new_human), WEAR_HEAD) + else + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(new_human), WEAR_HEAD) + +//*****************************************************************************************************/ + +//Dutch Dozen /datum/equipment_preset/corpse/dutchrifle name = "Corpse - Dutch Dozen Rifleman" @@ -901,7 +876,9 @@ name = "Corpse - Burst Dutch Dozen Rifleman" xenovictim = TRUE -// Pizza Planet +//*****************************************************************************************************/ + +//Pizza Planet /datum/equipment_preset/corpse/pizza name = "Corpse - Pizza Deliverer" @@ -915,12 +892,9 @@ access = get_access(ACCESS_LIST_DELIVERY) /datum/equipment_preset/corpse/pizza/load_gear(mob/living/carbon/human/new_human) - + add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/pizza, WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - else - new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/red, WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/red, WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel, WEAR_BACK) @@ -940,7 +914,9 @@ name = "Corpse - Burst Pizza Deliverer" xenovictim = TRUE -// Gladiator +//*****************************************************************************************************/ + +//Gladiator /datum/equipment_preset/corpse/gladiator name = "Corpse - Gladiator" @@ -978,6 +954,7 @@ name = "Corpse - Burst Gladiator" xenovictim = TRUE +//*****************************************************************************************************/ //FORECON diff --git a/code/modules/gear_presets/survivors/corsat/preset_corsat.dm b/code/modules/gear_presets/survivors/corsat/preset_corsat.dm index fa20b22a3290..9583c73a92e2 100644 --- a/code/modules/gear_presets/survivors/corsat/preset_corsat.dm +++ b/code/modules/gear_presets/survivors/corsat/preset_corsat.dm @@ -4,7 +4,7 @@ languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE) /datum/equipment_preset/survivor/security/corsat/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/formal/servicedress(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/white_service(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET) diff --git a/code/modules/gear_presets/survivors/fiorina_sciannex/preset_fiorina_sciannex.dm b/code/modules/gear_presets/survivors/fiorina_sciannex/preset_fiorina_sciannex.dm index 248c1a00d353..873ade0aefc8 100644 --- a/code/modules/gear_presets/survivors/fiorina_sciannex/preset_fiorina_sciannex.dm +++ b/code/modules/gear_presets/survivors/fiorina_sciannex/preset_fiorina_sciannex.dm @@ -4,14 +4,14 @@ assignment = "Fiorina Researcher" /datum/equipment_preset/survivor/scientist/fiorina/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/purple(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/purple(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/science(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/pink(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc/leader(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/researcher(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science(new_human), WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/chem(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/tox(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) ..() @@ -20,7 +20,7 @@ assignment = "Fiorina Doctor" /datum/equipment_preset/survivor/doctor/fiorina/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/lightblue(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc(new_human), WEAR_HEAD) ..() @@ -29,11 +29,12 @@ assignment = "Fiorina Prison Guard" /datum/equipment_preset/survivor/security/fiorina/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/black(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge(new_human), WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/sec/corp(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) ..() @@ -48,7 +49,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/ua_riot(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/prop/helmetgarb/riot_shield(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) ..() @@ -57,7 +58,7 @@ assignment = "Fiorina Engineer" /datum/equipment_preset/survivor/engineer/fiorina/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/color/white(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/khaki(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/apron/overalls(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) diff --git a/code/modules/gear_presets/survivors/fiorina_sciannex/riot_in_progress_insert_fiorina_nightmare.dm b/code/modules/gear_presets/survivors/fiorina_sciannex/riot_in_progress_insert_fiorina_nightmare.dm new file mode 100644 index 000000000000..657439a13f50 --- /dev/null +++ b/code/modules/gear_presets/survivors/fiorina_sciannex/riot_in_progress_insert_fiorina_nightmare.dm @@ -0,0 +1,276 @@ +// loadouts for riot_in_progress.dmm nightmare, thematic survivor preset. + +/datum/equipment_preset/survivor/cmb + name = "Survivor - Colonial Marshal" + faction = FACTION_MARSHAL + faction_group = list(FACTION_MARSHAL, FACTION_MARINE, FACTION_SURVIVOR) + languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE) + var/human_versus_human = FALSE + access = list( + ACCESS_LIST_UA, + ) + +//*************************************************CMB****************************************************/ + +/datum/equipment_preset/survivor/cmb/standard + name = "Survivor - Colonial Marshal Deputy(Riot Response)" + paygrade = PAY_SHORT_CMBD + role_comm_title = "CMB DEP" + flags = EQUIPMENT_PRESET_EXTRA + assignment = "CMB Deputy" + rank = JOB_CMB + skills = /datum/skills/cmb + +/datum/equipment_preset/survivor/cmb/standard/load_gear(mob/living/carbon/human/new_human) + + var/choice = rand(1,10) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette, WEAR_FACE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/CMB, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/holdout, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/m15/rubber, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/security/MP/CMB/full, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/CMB, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/survival/full, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/holdout, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/flashlight, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/camera, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/taperecorder, WEAR_IN_BACK) + + switch(choice) + if(1 to 6) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/revolver/cmb, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/buckshot, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE) + if(7 to 8) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/highpower, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/highpower, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/highpower, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge/rubber, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/buckshot, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE) + if(9 to 10) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/revolver/cmb, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/mp5, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector, WEAR_L_HAND) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/mp5, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/mp5, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/mp5, WEAR_IN_R_STORE) + +// cmb synth +/datum/equipment_preset/synth/survivor/cmb/synth + name = "Survivor - Synthetic - CMB Investigative Synthetic(Riot Response)" + paygrade = PAY_SHORT_CMBS + idtype = /obj/item/card/id/deputy + role_comm_title = "CMB Syn" + flags = EQUIPMENT_PRESET_EXTRA + assignment = "CMB Investigative Synthetic" + rank = JOB_CMB_SYN + languages = ALL_SYNTH_LANGUAGES + skills = /datum/skills/synthetic/cmb + +/datum/equipment_preset/synth/survivor/cmb/synth/load_race(mob/living/carbon/human/new_human) + new_human.set_species(SYNTH_COLONY) + +/datum/equipment_preset/synth/survivor/cmb/synth/load_gear(mob/living/carbon/human/new_human) + //backpack + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/security, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/autopsy_scanner, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge/rubber, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/camera, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/taperecorder, WEAR_IN_BACK) + //face + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/pen, WEAR_R_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/CMB, WEAR_HEAD) + //uniform + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/droppouch, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/upgraded, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/candy, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/storage/pill_bottle/imidazoline, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/CMB, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/weapon/telebaton, WEAR_IN_JACKET) + //belt + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/security/MP/CMB/synth, WEAR_WAIST) + //holding + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) + //pouches + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/survival/synth/full, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/tactical, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/screwdriver/tactical, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/wirecutters/tactical, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/wrench, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/device/multitool, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/stack/cable_coil, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/weldingtool/hugetank, WEAR_IN_R_STORE) + +//************************************************UA RIOT POLICE****************************************************/ + +/datum/equipment_preset/survivor/cmb/ua + name = "Survivor - United Americas Riot Officer(Riot Response)" + paygrade = PAY_SHORT_CPO + role_comm_title = "UA RCP" + flags = EQUIPMENT_PRESET_EXTRA + assignment = "United Americas Police Officer" + skills = /datum/skills/civilian/survivor/marshal + idtype = /obj/item/card/id/silver + +/datum/equipment_preset/survivor/cmb/ua/load_gear(mob/living/carbon/human/new_human) + + var/choice = rand(1,10) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/ua_riot, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/ua_riot, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/ua_riot, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/prop/helmetgarb/riot_shield, WEAR_IN_HELMET) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/flashlight, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/security/MP/full, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/survival/full, WEAR_L_STORE) + + switch(choice) + if(1 to 6) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/b92fs, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/b92fs, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/b92fs, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m16, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m16, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m16, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/weapon/classic_baton, WEAR_R_HAND) + if(7) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/highpower, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/highpower, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/highpower, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/combat/riot, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/beanbag, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/weapon/classic_baton, WEAR_R_HAND) + new_human.equip_to_slot_or_del(new /obj/item/weapon/shield/riot, WEAR_L_HAND) + if(8) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/m4a3, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/rubber, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/launcher/grenade/m81/riot, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/explosive, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/slug/baton, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/slug/baton, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/slug/baton, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/slug/baton, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_R_STORE) + if(9 to 10) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/highpower/black, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/highpower, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/highpower, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge/rubber, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/mp5, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector, WEAR_L_HAND) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/mp5, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/mp5, WEAR_IN_R_STORE) + +// ua synth +/datum/equipment_preset/synth/survivor/cmb/ua_synth + name = "Survivor - Synthetic - UA Police Synthetic(Riot Response)" + paygrade = PAY_SHORT_CMBS + role_comm_title = "UA Syn" + flags = EQUIPMENT_PRESET_EXTRA + assignment = "UA Police Synthetic" + languages = ALL_SYNTH_LANGUAGES + skills = /datum/skills/colonial_synthetic + idtype = /obj/item/card/id/silver + +/datum/equipment_preset/synth/survivor/cmb/ua_synth/load_race(mob/living/carbon/human/new_human) + new_human.set_species(SYNTH_COLONY) + +/datum/equipment_preset/synth/survivor/cmb/ua_synth/load_gear(mob/living/carbon/human/new_human) + //backpack + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/baton_slug, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m16, WEAR_IN_BACK) + //face + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/pen, WEAR_R_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/ua_riot, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/prop/helmetgarb/riot_shield, WEAR_IN_HELMET) + //uniform + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/ua_riot, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/droppouch, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/flashbangs, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/custom/teargas, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/ua_riot/synth, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/weapon/telebaton, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/flashbang, WEAR_IN_JACKET) + //belt + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/security/MP/full/synth, WEAR_WAIST) + //holding + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/weapon/classic_baton, WEAR_R_HAND) + new_human.equip_to_slot_or_del(new /obj/item/weapon/shield/riot, WEAR_L_HAND) + //pouches + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/survival/synth/full, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/full, WEAR_R_STORE) diff --git a/code/modules/gear_presets/survivors/kutjevo/preset_kutjevo.dm b/code/modules/gear_presets/survivors/kutjevo/preset_kutjevo.dm index 8a9161f1802a..eb04cbd5a94e 100644 --- a/code/modules/gear_presets/survivors/kutjevo/preset_kutjevo.dm +++ b/code/modules/gear_presets/survivors/kutjevo/preset_kutjevo.dm @@ -5,9 +5,10 @@ /datum/equipment_preset/survivor/engineer/kutjevo/load_gear(mob/living/carbon/human/new_human) add_random_kutjevo_survivor_uniform(new_human) add_random_kutjevo_survivor_equipment(new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/black(new_human), WEAR_JACKET) ..() /datum/equipment_preset/survivor/chaplain/kutjevo @@ -17,7 +18,7 @@ /datum/equipment_preset/survivor/chaplain/kutjevo/load_gear(mob/living/carbon/human/new_human) add_random_kutjevo_survivor_uniform(new_human) add_random_kutjevo_survivor_equipment(new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS) ..() @@ -31,9 +32,8 @@ add_random_kutjevo_survivor_uniform(new_human) add_random_kutjevo_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/corporate(new_human), WEAR_FEET) ..() /datum/equipment_preset/survivor/doctor/kutjevo @@ -47,8 +47,8 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) add_random_kutjevo_survivor_uniform(new_human) add_random_kutjevo_survivor_equipment(new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS) ..() /datum/equipment_preset/survivor/colonial_marshal/kutjevo @@ -58,7 +58,7 @@ /datum/equipment_preset/survivor/colonial_marshal/kutjevo/load_gear(mob/living/carbon/human/new_human) add_random_kutjevo_survivor_uniform(new_human) add_random_kutjevo_survivor_equipment(new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR) ..() @@ -69,8 +69,7 @@ /datum/equipment_preset/survivor/trucker/kutjevo/load_gear(mob/living/carbon/human/new_human) add_random_kutjevo_survivor_uniform(new_human) add_random_kutjevo_survivor_equipment(new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) - ..() diff --git a/code/modules/gear_presets/survivors/lv_522/forcon_survivors.dm b/code/modules/gear_presets/survivors/lv_522/forcon_survivors.dm index c4e08af9dcfa..4e9ab770fb2f 100644 --- a/code/modules/gear_presets/survivors/lv_522/forcon_survivors.dm +++ b/code/modules/gear_presets/survivors/lv_522/forcon_survivors.dm @@ -13,6 +13,12 @@ ACCESS_CIVILIAN_LOGISTICS, ) + dress_shoes = list(/obj/item/clothing/shoes/dress) + dress_gloves = list(/obj/item/clothing/gloves/marine/dress) + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover) + /datum/equipment_preset/survivor/forecon/load_gear(mob/living/carbon/human/new_human) var/obj/item/clothing/under/marine/reconnaissance/uniform = new() var/obj/item/clothing/accessory/storage/droppouch/pouch = new() @@ -210,6 +216,10 @@ skills = /datum/skills/military/survivor/forecon_squad_leader paygrade = PAY_SHORT_MO1 + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) + /datum/equipment_preset/survivor/forecon/squad_leader/load_gear(mob/living/carbon/human/new_human) var/obj/item/clothing/under/marine/reconnaissance/uniform = new() var/obj/item/clothing/accessory/storage/droppouch/pouch = new() @@ -238,6 +248,10 @@ idtype = /obj/item/card/id/gold role_comm_title = "FORECON CO" + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) + /datum/equipment_preset/survivor/forecon/major/load_gear(mob/living/carbon/human/new_human) var/obj/item/clothing/under/marine/reconnaissance/uniform = new() var/obj/item/clothing/accessory/storage/droppouch/pouch = new() @@ -264,7 +278,7 @@ //----------------------\\ /datum/equipment_preset/synth/survivor/forecon - name = "Survivor - USCM Synthetic" + name = "Survivor - Synthetic - FORECON Synth" assignment = JOB_FORECON_SYN faction_group = list(FACTION_MARINE, FACTION_SURVIVOR) idtype = /obj/item/card/id/gold diff --git a/code/modules/gear_presets/survivors/lv_624/preset_lv.dm b/code/modules/gear_presets/survivors/lv_624/preset_lv.dm index 4e51adf5df7f..a56432b80b89 100644 --- a/code/modules/gear_presets/survivors/lv_624/preset_lv.dm +++ b/code/modules/gear_presets/survivors/lv_624/preset_lv.dm @@ -3,24 +3,25 @@ assignment = "LV-624 Archeologist" /datum/equipment_preset/survivor/scientist/lv/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/researcher(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/blue(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/utility_vest(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie/tan(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science(new_human), WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/tool/shovel/spade(new_human), WEAR_L_HAND) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/aviator(new_human), WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup/brown(new_human), WEAR_FEET) ..() /datum/equipment_preset/survivor/colonial_marshal/lv - name = "Survivor - LV-624 Head of Security" - assignment = "LV-624 Head of Security" + name = "Survivor - LV-624 Colonial Marshal Deputy" + assignment = "CMB Deputy" /datum/equipment_preset/survivor/colonial_marshal/lv/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_security/navyblue(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/sec/hos(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/CMB(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc(new_human), WEAR_FEET) ..() /datum/equipment_preset/survivor/trucker/lv @@ -28,9 +29,11 @@ assignment = "LV-624 Cargo Technician" /datum/equipment_preset/survivor/trucker/lv/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargo(new_human), WEAR_BODY) + var/obj/item/clothing/under/colonist/workwear/khaki/uniform = new() + uniform.roll_suit_jacket(new_human) + new_human.equip_to_slot_or_del(uniform, WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/meson(new_human), WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/yellow(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) ..() @@ -62,8 +65,13 @@ assignment = "LV-624 Emergency Medical Technician" /datum/equipment_preset/survivor/doctor/lv/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE) + var/obj/item/clothing/under/colonist/workwear/blue/uniform = new() + uniform.roll_suit_jacket(new_human) + new_human.equip_to_slot_or_del(uniform, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/stethoscope(new_human), WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/windbreaker/windbreaker_fr(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/blue(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/roller(new_human), WEAR_L_HAND) new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv(new_human.back), WEAR_IN_BACK) ..() @@ -73,12 +81,12 @@ languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE) /datum/equipment_preset/survivor/security/lv/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/formal/servicedress(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/white_service(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/jungle(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/corporate(new_human), WEAR_FEET) ..() /datum/equipment_preset/survivor/corporate/lv @@ -92,5 +100,5 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/prescription(new_human), WEAR_EYES) else new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(new_human), WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) ..() diff --git a/code/modules/gear_presets/survivors/misc.dm b/code/modules/gear_presets/survivors/misc.dm index 7a845e96b2aa..5b010a8cb8ea 100644 --- a/code/modules/gear_presets/survivors/misc.dm +++ b/code/modules/gear_presets/survivors/misc.dm @@ -19,14 +19,13 @@ Everything below isn't used or out of place. /datum/equipment_preset/survivor/prisoner/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/color/orange(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) - if(prob(50)) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(new_human), WEAR_HEAD) + if(prob(50)) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/riot(new_human), WEAR_HEAD) if(prob(50)) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human.back), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/medium(new_human), WEAR_R_STORE) add_survivor_weapon_civilian(new_human) + add_ice_colony_survivor_equipment(new_human) ..() // Used in Fiorina Science Annex. @@ -40,13 +39,12 @@ Everything below isn't used or out of place. /datum/equipment_preset/survivor/gangleader/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/color/orange(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - if(prob(50)) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(new_human), WEAR_HEAD) + if(prob(50)) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/riot(new_human), WEAR_HEAD) if(prob(50)) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human.back), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE) add_survivor_weapon_civilian(new_human) + add_ice_colony_survivor_equipment(new_human) ..() // ----- Civilian Survivor @@ -73,7 +71,7 @@ Everything below isn't used or out of place. new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/vir(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/purple(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/mgoggles(new_human), WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/regular/hipster(new_human), WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/purple(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/galoshes(new_human), WEAR_FEET) if(2) // Bar Tender @@ -82,14 +80,13 @@ Everything below isn't used or out of place. new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/lawyer/bluejacket(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/bowlerhat(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/fake_mustache(new_human), WEAR_FACE) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/black(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/beer_pack(new_human.back), WEAR_IN_BACK) if(3) // Botanist - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/green(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/hyd(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/apron(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup/brown(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/tool/hatchet(new_human.back), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general(new_human), WEAR_R_STORE) @@ -110,13 +107,13 @@ Everything below isn't used or out of place. /datum/equipment_preset/survivor/salesman/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/brown(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/wcoat(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/document(new_human), WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) add_random_cl_survivor_loot(new_human) add_survivor_weapon_civilian(new_human) + add_ice_colony_survivor_equipment(new_human) ..() @@ -131,18 +128,16 @@ Everything below isn't used or out of place. access = list(ACCESS_CIVILIAN_PUBLIC) /datum/equipment_preset/survivor/roughneck/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/color/white(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/blue(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/apron/overalls(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf/tacticalmask/green(new_human), WEAR_FACE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf/tacticalmask/black(new_human), WEAR_FACE) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/centcom(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/centcom(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/large(new_human), WEAR_R_STORE) add_pmc_survivor_weapon(new_human) - + add_ice_colony_survivor_equipment(new_human) ..() // ----- Bum Survivor @@ -157,18 +152,16 @@ Everything below isn't used or out of place. /datum/equipment_preset/survivor/beachbum/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/shorts/red(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette(new_human), WEAR_FACE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette/weed(new_human), WEAR_FACE) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/botanic_leather(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/brown(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/beer_pack(new_human.back), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/tool/kitchen/knife/butcher(new_human.back), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/fancy/cigarettes/wypacket(new_human.back), WEAR_IN_BACK) add_survivor_weapon_civilian(new_human) - + add_ice_colony_survivor_equipment(new_human) ..() // ----- WY Survivors @@ -182,7 +175,7 @@ Everything below isn't used or out of place. idtype = /obj/item/card/id/silver/cl skills = /datum/skills/civilian/survivor/goon languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE) - access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_COMMAND, ACCESS_CIVILIAN_BRIG) + access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_COMMAND, ACCESS_CIVILIAN_BRIG, ACCESS_WY_COLONIAL) survivor_variant = SECURITY_SURVIVOR diff --git a/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm b/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm index 0515319b8190..7f0ef0072ddc 100644 --- a/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm +++ b/code/modules/gear_presets/survivors/new_varadero/preset_new_varadero.dm @@ -1,13 +1,13 @@ /datum/equipment_preset/survivor/security/nv name = "Survivor - New Varadero Security Guard" assignment = "United Americas Peacekeeper" - languages = list(LANGUAGE_ENGLISH, LANGUAGE_JAPANESE) /datum/equipment_preset/survivor/security/nv/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/ua_riot(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/prop/helmetgarb/riot_shield(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/ua_riot(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/ua_riot(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) ..() @@ -29,8 +29,8 @@ /datum/equipment_preset/survivor/scientist/nv/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/researcher(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/researcher(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/cm/tan(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science(new_human), WEAR_EYES) @@ -82,7 +82,6 @@ /datum/equipment_preset/survivor/chaplain/nv/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chaplain(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/boonie(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/priest_robe(new_human), WEAR_JACKET) ..() diff --git a/code/modules/gear_presets/survivors/shivas_snowball/preset_shivas_snowball.dm b/code/modules/gear_presets/survivors/shivas_snowball/preset_shivas_snowball.dm index 9c760b07b5f4..2fdcc3322dbf 100644 --- a/code/modules/gear_presets/survivors/shivas_snowball/preset_shivas_snowball.dm +++ b/code/modules/gear_presets/survivors/shivas_snowball/preset_shivas_snowball.dm @@ -1,33 +1,33 @@ /datum/equipment_preset/survivor/corporate/shiva - name = "Survivor - Shivas Snowball Corporate Liaison" - assignment = "Shivas Snowball Corporate Liaison" + name = "Survivor - Shivas Corporate Liaison" + assignment = "Shivas Corporate Liaison" /datum/equipment_preset/survivor/corporate/shiva/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/corporate_formal(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/snow(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/white(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/survivor/parka/navy(new_human), WEAR_JACKET) ..() /datum/equipment_preset/survivor/doctor/shiva - name = "Survivor - Shivas Snowball Doctor" - assignment = "Shivas Snowball Doctor" + name = "Survivor - Shivas Doctor" + assignment = "Shivas Doctor" /datum/equipment_preset/survivor/doctor/shiva/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/green(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/survivor/parka/green(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/snow(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/white(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE) ..() /datum/equipment_preset/survivor/scientist/shiva - name = "Survivor - Shivas Snowball Researcher" - assignment = "Shivas Snowball Researcher" + name = "Survivor - Shivas Researcher" + assignment = "Shivas Researcher" /datum/equipment_preset/survivor/scientist/shiva/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/blue(new_human), WEAR_BODY) @@ -35,7 +35,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/snow(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/survivor/parka/purple(new_human), WEAR_JACKET) ..() @@ -44,31 +44,31 @@ assignment = "CMB Deputy" /datum/equipment_preset/survivor/colonial_marshal/shiva/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security/corp(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/survivor/parka/red(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/white(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc(new_human), WEAR_FEET) ..() /datum/equipment_preset/survivor/engineer/shiva - name = "Survivor - Shivas Snowball Engineer" - assignment = "Shivas Snowball Engineer" + name = "Survivor - Shivas Engineer" + assignment = "Shivas Engineer" /datum/equipment_preset/survivor/engineer/shiva/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/black(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/survivor/parka/yellow(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/snow(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(new_human), WEAR_HEAD) ..() /datum/equipment_preset/survivor/security/shiva - name = "Survivor - Shivas Snowball Security Guard" + name = "Survivor - Shivas Security Guard" assignment = "United Americas Peacekeeper" /datum/equipment_preset/survivor/security/shiva/load_gear(mob/living/carbon/human/new_human) @@ -77,6 +77,6 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf(new_human), WEAR_FACE) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/snow_suit/survivor(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/ua_riot(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/white(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) ..() diff --git a/code/modules/gear_presets/survivors/solaris/preset_solaris.dm b/code/modules/gear_presets/survivors/solaris/preset_solaris.dm index 2d0f634a6948..35e52731fc9d 100644 --- a/code/modules/gear_presets/survivors/solaris/preset_solaris.dm +++ b/code/modules/gear_presets/survivors/solaris/preset_solaris.dm @@ -4,8 +4,8 @@ skills = /datum/skills/civilian/survivor/trucker /datum/equipment_preset/survivor/trucker/solaris/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/worker_overalls(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/apron/overalls(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/black(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/apron/overalls/red(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/trucker/red(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/big(new_human), WEAR_EYES) ..() @@ -14,13 +14,12 @@ name = "Survivor - Solaris Colonial Marshal Deputy" assignment = "CMB Deputy" - /datum/equipment_preset/survivor/colonial_marshal/solaris/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/CMB(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc(new_human), WEAR_FEET) ..() /datum/equipment_preset/survivor/engineer/solaris @@ -28,9 +27,10 @@ assignment = "Solaris Engineer" /datum/equipment_preset/survivor/engineer/solaris/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/yellow(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding/superior(new_human), WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/pink(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/yellow(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding(new_human), WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK) ..() @@ -39,13 +39,12 @@ assignment = "Solaris Scientist" /datum/equipment_preset/survivor/scientist/solaris/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/virologist(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/green(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/virologist(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/green(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/corporate_formal(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science(new_human), WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/green(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) ..() /datum/equipment_preset/survivor/doctor/solaris @@ -53,8 +52,9 @@ assignment = "Solaris Doctor" /datum/equipment_preset/survivor/doctor/solaris/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/purple(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/purple(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/lightblue(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmo(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) ..() /datum/equipment_preset/survivor/chaplain/solaris @@ -63,7 +63,6 @@ /datum/equipment_preset/survivor/chaplain/solaris/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/holidaypriest(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/nun_hood(new_human), WEAR_HEAD) ..() /datum/equipment_preset/survivor/security/solaris @@ -75,7 +74,7 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/sec/hos(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) ..() @@ -106,5 +105,5 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/prescription(new_human), WEAR_EYES) else new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(new_human), WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup/brown(new_human), WEAR_FEET) ..() diff --git a/code/modules/gear_presets/survivors/survivors.dm b/code/modules/gear_presets/survivors/survivors.dm index 0cecaccce43d..71a2aaa94b7f 100644 --- a/code/modules/gear_presets/survivors/survivors.dm +++ b/code/modules/gear_presets/survivors/survivors.dm @@ -69,21 +69,18 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist, /datum/equipment_preset/survivor/scientist/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/virologist(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/green(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/virologist(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/green(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/science(new_human), WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/chem(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/tox(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/green(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/paper/research_notes/good(new_human), WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/reagent_container/glass/beaker/vial/random/good(new_human), WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical/full(new_human), WEAR_R_STORE) add_survivor_weapon_civilian(new_human) add_random_survivor_research_gear(new_human) - + add_ice_colony_survivor_equipment(new_human) ..() // 2 ----- Doctor Survivor @@ -99,11 +96,9 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist, survivor_variant = MEDICAL_SURVIVOR /datum/equipment_preset/survivor/doctor/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/blue(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/med(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat(new_human), WEAR_JACKET) @@ -121,7 +116,7 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist, new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medkit/full_advanced(new_human), WEAR_R_STORE) add_random_survivor_medical_gear(new_human) add_survivor_weapon_civilian(new_human) - + add_ice_colony_survivor_equipment(new_human) ..() // 3 ----- Chef Survivor @@ -134,16 +129,15 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist, access = list(ACCESS_CIVILIAN_PUBLIC) /datum/equipment_preset/survivor/chef/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/chef(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/tool/kitchen/rollingpin(new_human.back), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general(new_human), WEAR_R_STORE) add_survivor_weapon_civilian(new_human) - + add_ice_colony_survivor_equipment(new_human) ..() // 4 ----- Chaplain Survivor @@ -157,15 +151,13 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist, /datum/equipment_preset/survivor/chaplain/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chaplain(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/holidaypriest(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/bible/booze(new_human.back), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general(new_human), WEAR_R_STORE) add_survivor_weapon_civilian(new_human) - + add_ice_colony_survivor_equipment(new_human) ..() // 5 ----- Miner Survivor @@ -178,17 +170,16 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist, access = list(ACCESS_CIVILIAN_PUBLIC, ACCESS_CIVILIAN_ENGINEERING, ACCESS_CIVILIAN_LOGISTICS) /datum/equipment_preset/survivor/miner/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/miner(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/norm(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/tool/pickaxe(new_human.back), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/lantern(new_human.back), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/blue(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/yellow(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/tool/pickaxe(new_human), WEAR_R_HAND) + new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/lantern(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/full(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/orange(new_human), WEAR_HEAD) add_survivor_weapon_civilian(new_human) - + add_ice_colony_survivor_equipment(new_human) ..() // 6 ---- Colonial Marshal Survivor @@ -216,9 +207,7 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist, /datum/equipment_preset/survivor/colonial_marshal/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR) - - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord(new_human), WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/CMB(new_human), WEAR_HEAD) if(new_human.disabilities & NEARSIGHTED) @@ -226,10 +215,10 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist, else new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(new_human), WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/CMB(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/large(new_human), WEAR_R_STORE) add_survivor_weapon_security(new_human) - + add_ice_colony_survivor_equipment(new_human) ..() // 7 ----- Engineering Survivor @@ -244,18 +233,18 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist, survivor_variant = ENGINEERING_SURVIVOR /datum/equipment_preset/survivor/engineer/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/brown(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/yellow(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/tool/weldingtool/largetank(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/plasteel/med_small_stack(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding(new_human), WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/insulated(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(new_human), WEAR_WAIST) add_survivor_weapon_civilian(new_human) - + add_ice_colony_survivor_equipment(new_human) ..() // 8 -- Security Survivor @@ -272,8 +261,6 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist, /datum/equipment_preset/survivor/security/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/security(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(new_human), WEAR_HEAD) @@ -281,10 +268,11 @@ Standart Survivors : /datum/equipment_preset/survivor/scientist, new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud/prescription(new_human), WEAR_EYES) else new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud(new_human), WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine(new_human), WEAR_R_STORE) add_survivor_weapon_security(new_human) + add_ice_colony_survivor_equipment(new_human) ..() /* @@ -316,16 +304,14 @@ Everything bellow is a parent used as a base for one or multiple maps. /datum/equipment_preset/survivor/corporate/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/field(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable/liaison(new_human), WEAR_BACK) - add_random_cl_survivor_loot(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) - add_survivor_weapon_civilian(new_human) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/document(new_human), WEAR_R_STORE) - + add_survivor_weapon_civilian(new_human) + add_random_cl_survivor_loot(new_human) + add_ice_colony_survivor_equipment(new_human) ..() /datum/equipment_preset/survivor/corporate/load_rank(mob/living/carbon/human/new_human) @@ -357,16 +343,14 @@ Everything bellow is a parent used as a base for one or multiple maps. /datum/equipment_preset/survivor/trucker/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/overalls(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/yellow(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/flashlight/lantern(new_human.back), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/full(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/hardpoint/locomotion/van_wheels(new_human), WEAR_R_HAND) add_survivor_weapon_civilian(new_human) - + add_ice_colony_survivor_equipment(new_human) ..() // -- Flight Control Operator @@ -383,15 +367,14 @@ Everything bellow is a parent used as a base for one or multiple maps. /datum/equipment_preset/survivor/flight_control_operator/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/khaki(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/windbreaker/windbreaker_brown(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/aviator(new_human), WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/headset(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) add_survivor_weapon_civilian(new_human) - + add_ice_colony_survivor_equipment(new_human) ..() // ----- Interstellar Human Rights Survivor @@ -406,16 +389,14 @@ Everything bellow is a parent used as a base for one or multiple maps. /datum/equipment_preset/survivor/interstellar_human_rights_observer/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/brown(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) - add_random_cl_survivor_loot(new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup/brown(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine(new_human), WEAR_HEAD) - add_survivor_weapon_civilian(new_human) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/document(new_human), WEAR_R_STORE) - + add_survivor_weapon_civilian(new_human) + add_random_cl_survivor_loot(new_human) + add_ice_colony_survivor_equipment(new_human) ..() @@ -439,20 +420,18 @@ Everything bellow is a parent used as a base for one or multiple maps. access = get_access(ACCESS_LIST_CIVIL_LIAISON) /datum/equipment_preset/survivor/interstellar_commerce_commission_liaison/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR) - - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/aviator(new_human), WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/black(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/insulated(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/document(new_human), WEAR_R_STORE) add_survivor_weapon_civilian(new_human) add_random_cl_survivor_loot(new_human) - + add_ice_colony_survivor_equipment(new_human) ..() // ----- USCM Survivor @@ -469,8 +448,6 @@ Everything bellow is a parent used as a base for one or multiple maps. /datum/equipment_preset/survivor/uscm/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY) - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - add_ice_colony_survivor_equipment(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/ranks/marine/e2(new_human), WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/light(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel(new_human), WEAR_BACK) @@ -479,5 +456,6 @@ Everything bellow is a parent used as a base for one or multiple maps. new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare(new_human), WEAR_R_STORE) add_survivor_weapon_security(new_human) + add_ice_colony_survivor_equipment(new_human) ..() diff --git a/code/modules/gear_presets/survivors/trijent/crashlanding_upp_bar_insert_trijent.dm b/code/modules/gear_presets/survivors/trijent/crashlanding_upp_bar_insert_trijent.dm index 99589582cbf6..cfb3dee1dc47 100644 --- a/code/modules/gear_presets/survivors/trijent/crashlanding_upp_bar_insert_trijent.dm +++ b/code/modules/gear_presets/survivors/trijent/crashlanding_upp_bar_insert_trijent.dm @@ -25,7 +25,8 @@ if(2) uniform.roll_suit_sleeves(new_human) new_human.equip_to_slot_or_del(uniform, WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp (new_human), WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp(new_human), WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/airborne, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate(new_human), WEAR_L_STORE) @@ -205,6 +206,8 @@ new_human.equip_to_slot_or_del(new /obj/item/device/flashlight, WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/partial, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/airborne, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/uppsynth, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/survival/synth/full, WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) diff --git a/code/modules/gear_presets/survivors/trijent/preset_trijent.dm b/code/modules/gear_presets/survivors/trijent/preset_trijent.dm index 405496d8f496..100f83518565 100644 --- a/code/modules/gear_presets/survivors/trijent/preset_trijent.dm +++ b/code/modules/gear_presets/survivors/trijent/preset_trijent.dm @@ -1,6 +1,6 @@ /datum/equipment_preset/survivor/chaplain/trijent name = "Survivor - Trijent Chaplain" - assignment = "Trijent Chaplain" + assignment = "Trijent Dam Chaplain" /datum/equipment_preset/survivor/chaplain/trijent/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/nun(new_human), WEAR_JACKET) @@ -13,11 +13,11 @@ assignment = "Trijent Dam Security Guard" /datum/equipment_preset/survivor/security/trijent/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_security/navyblue(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/blue(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/security(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/corporate(new_human), WEAR_FEET) ..() /datum/equipment_preset/survivor/colonial_marshal/trijent @@ -26,12 +26,11 @@ /datum/equipment_preset/survivor/colonial_marshal/trijent/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/holobadge/cord(new_human), WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/limited(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/sec(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/CMB(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/CMB(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc(new_human), WEAR_FEET) ..() /datum/equipment_preset/survivor/doctor/trijent @@ -39,8 +38,9 @@ assignment = "Trijent Dam Doctor" /datum/equipment_preset/survivor/doctor/trijent/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/blue(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/blue(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/medical/blue(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(new_human), WEAR_FEET) ..() /datum/equipment_preset/survivor/scientist/trijent @@ -52,17 +52,18 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/jan(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/labcoat/researcher(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/leather(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup/brown(new_human), WEAR_FEET) ..() /datum/equipment_preset/survivor/trucker/trijent - name = "Survivor - Trijent Dam Heavy Vehicle Operator" + name = "Survivor - Trijent Heavy Vehicle Operator" assignment = "Trijent Dam Heavy Vehicle Operator" skills = /datum/skills/civilian/survivor/trucker /datum/equipment_preset/survivor/trucker/trijent/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/green(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket/marine/bomber/grey(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/soft/trucker(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/tool/weldingtool/hugetank(new_human), WEAR_IN_BACK) @@ -73,8 +74,8 @@ assignment = "Hydro Electric Engineer" /datum/equipment_preset/survivor/engineer/trijent/hydro/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/engineer(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/colonist/workwear/khaki(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/black(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/eng(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat(new_human), WEAR_HEAD) @@ -91,3 +92,14 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/orange(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(new_human), WEAR_FEET) ..() + +/datum/equipment_preset/survivor/corporate/trijent + name = "Survivor - Trijent Corporate Liaison" + assignment = "Trijent Dam Corporate Liaison" + +/datum/equipment_preset/survivor/corporate/trijent/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/ivy(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) + ..() diff --git a/code/modules/gear_presets/synths.dm b/code/modules/gear_presets/synths.dm index 1bd8bac6b5c1..e913d7f91c97 100644 --- a/code/modules/gear_presets/synths.dm +++ b/code/modules/gear_presets/synths.dm @@ -119,7 +119,7 @@ WEAR_WAIST = /obj/item/storage/belt/utility/full, WEAR_R_STORE = /obj/item/storage/pouch/tools/full, WEAR_FEET = /obj/item/clothing/shoes/marine/knife, - WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe + WEAR_L_HAND = /obj/item/maintenance_jack ) var/survivor_variant = CIVILIAN_SURVIVOR @@ -173,6 +173,7 @@ WEAR_FACE = /obj/item/clothing/mask/surgical, WEAR_EYES = /obj/item/clothing/glasses/hud/health, WEAR_BODY = /obj/item/clothing/under/rank/medical, + WEAR_ACCESSORY = /obj/item/clothing/accessory/armband/medgreen, WEAR_BACK = /obj/item/storage/backpack/satchel/med, WEAR_IN_BACK = /obj/item/roller/surgical, WEAR_JACKET = /obj/item/clothing/suit/storage/hazardvest/blue, @@ -194,6 +195,7 @@ WEAR_FACE = /obj/item/clothing/mask/surgical, WEAR_EYES = /obj/item/clothing/glasses/hud/health, WEAR_BODY = /obj/item/clothing/under/colonist/ua_civvies, + WEAR_ACCESSORY = /obj/item/clothing/accessory/armband/med, WEAR_BACK = /obj/item/storage/backpack/satchel/med, WEAR_IN_BACK = /obj/item/storage/firstaid/adv, WEAR_IN_BACK = /obj/item/tool/extinguisher/mini, @@ -230,21 +232,38 @@ survivor_variant = SCIENTIST_SURVIVOR +/datum/equipment_preset/synth/survivor/archaeologist_synth + name = "Survivor - Synthetic - Archaeologist Synth" + equipment_to_spawn = list( + WEAR_HEAD = /obj/item/clothing/head/hardhat/orange, + WEAR_BODY = /obj/item/clothing/under/rank/miner, + WEAR_BACK = /obj/item/storage/backpack/satchel/eng, + WEAR_IN_BACK = /obj/item/tool/shovel/spade, + WEAR_JACKET = /obj/item/clothing/suit/storage/utility_vest, + WEAR_IN_JACKET = /obj/item/explosive/plastic, + WEAR_WAIST = /obj/item/device/flashlight/lantern, + WEAR_R_HAND = /obj/item/stack/sandbags_empty/half, + WEAR_FEET = /obj/item/clothing/shoes/marine/knife, + WEAR_L_HAND = /obj/item/tool/pickaxe/hammer + ) + + survivor_variant = SCIENTIST_SURVIVOR + /datum/equipment_preset/synth/survivor/engineer_synth name = "Survivor - Synthetic - Engineer Synth" equipment_to_spawn = list( WEAR_HEAD = /obj/item/clothing/head/hardhat, WEAR_BODY = /obj/item/clothing/under/rank/engineer, + WEAR_ACCESSORY = /obj/item/clothing/accessory/armband/engine, WEAR_BACK = /obj/item/storage/backpack/satchel/eng, - WEAR_IN_BACK = /obj/item/ammo_magazine/smg/nailgun, + WEAR_IN_BACK = /obj/item/stack/sheet/metal/med_small_stack, WEAR_JACKET = /obj/item/clothing/suit/storage/hazardvest/yellow, WEAR_IN_JACKET = /obj/item/ammo_magazine/smg/nailgun, - WEAR_IN_JACKET = /obj/item/ammo_magazine/smg/nailgun, WEAR_J_STORE = /obj/item/weapon/gun/smg/nailgun/compact, WEAR_WAIST = /obj/item/storage/belt/utility/full, WEAR_R_STORE = /obj/item/storage/pouch/tools/full, WEAR_FEET = /obj/item/clothing/shoes/marine/knife, - WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe + WEAR_L_HAND = /obj/item/maintenance_jack ) survivor_variant = ENGINEERING_SURVIVOR @@ -259,6 +278,7 @@ WEAR_HEAD = /obj/item/clothing/head/soft/purple, WEAR_EYES = /obj/item/clothing/glasses/mgoggles, WEAR_BODY = /obj/item/clothing/under/rank/janitor, + WEAR_ACCESSORY = /obj/item/clothing/accessory/armband/med, WEAR_BACK = /obj/item/storage/backpack/satchel/vir, WEAR_IN_BACK = /obj/item/reagent_container/glass/bucket, WEAR_IN_BACK = /obj/item/tool/wet_sign, @@ -269,7 +289,7 @@ WEAR_R_HAND = /obj/item/tool/mop, WEAR_R_STORE = /obj/item/storage/pouch/tools/full, WEAR_FEET = /obj/item/clothing/shoes/galoshes, - WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe + WEAR_L_HAND = /obj/item/weapon/twohanded/spear ) /datum/equipment_preset/synth/survivor/chef_synth @@ -285,7 +305,7 @@ WEAR_JACKET = /obj/item/clothing/suit/chef, WEAR_HANDS = /obj/item/clothing/gloves/latex, WEAR_FEET = /obj/item/clothing/shoes/marine/knife, - WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe + WEAR_L_HAND = /obj/item/tool/kitchen/knife/butcher ) /datum/equipment_preset/synth/survivor/teacher_synth @@ -294,14 +314,14 @@ WEAR_EYES = /obj/item/clothing/glasses/regular/hipster, WEAR_BODY = /obj/item/clothing/under/colonist/wy_davisone, WEAR_BACK = /obj/item/storage/backpack/satchel/norm, - WEAR_IN_BACK = /obj/item/reagent_container/food/snacks/wrapped/booniebars, WEAR_IN_BACK = /obj/item/reagent_container/food/snacks/wy_chips/pepper, - WEAR_IN_BACK = /obj/item/reagent_container/spray/cleaner, + WEAR_IN_BACK = /obj/item/storage/box/pdt_kit, WEAR_JACKET = /obj/item/clothing/suit/storage/bomber/alt, - WEAR_IN_JACKET = /obj/item/storage/box/pdt_kit, + WEAR_IN_JACKET = /obj/item/device/healthanalyzer, + WEAR_WAIST = /obj/item/reagent_container/spray/cleaner, WEAR_R_HAND = /obj/item/storage/fancy/crayons, WEAR_FEET = /obj/item/clothing/shoes/marine/knife, - WEAR_L_HAND = /obj/item/storage/large_holster/machete/full + WEAR_L_HAND = /obj/item/weapon/butterfly/switchblade ) /datum/equipment_preset/synth/survivor/freelancer_synth @@ -321,6 +341,24 @@ WEAR_L_HAND = /obj/item/storage/large_holster/katana/full ) +/datum/equipment_preset/synth/survivor/surveyor_synth + name = "Survivor - Synthetic - Surveyor Synth" + equipment_to_spawn = list( + WEAR_HEAD = /obj/item/clothing/head/cmcap/flap, + WEAR_FACE = /obj/item/clothing/mask/tornscarf, + WEAR_BODY = /obj/item/clothing/under/rank/synthetic/utility, + WEAR_BACK = /obj/item/storage/backpack/lightpack/five_slot, + WEAR_IN_BACK = /obj/item/storage/box/m94, + WEAR_JACKET = /obj/item/clothing/suit/storage/windbreaker/windbreaker_covenant, + WEAR_IN_JACKET = /obj/item/device/binoculars, + WEAR_WAIST = /obj/item/storage/backpack/general_belt, + WEAR_IN_BELT = /obj/item/stack/flag/green, + WEAR_HANDS = /obj/item/clothing/gloves/marine/veteran, + WEAR_R_HAND = /obj/item/storage/box/lightstick, + WEAR_FEET = /obj/item/clothing/shoes/marine/knife, + WEAR_L_HAND = /obj/item/storage/large_holster/machete/full + ) + /datum/equipment_preset/synth/survivor/trucker_synth name = "Survivor - Synthetic - Trucker Synth" equipment_to_spawn = list( @@ -343,13 +381,31 @@ WEAR_IN_BACK = /obj/item/reagent_container/food/drinks/bottle/tequila, WEAR_IN_BACK = /obj/item/reagent_container/food/drinks/bottle/cognac, WEAR_IN_BACK = /obj/item/reagent_container/food/drinks/bottle/grenadine, - WEAR_IN_BACK = /obj/item/reagent_container/food/drinks/bottle/rum, - WEAR_JACKET = /obj/item/clothing/suit/storage/lawyer/bluejacket, + WEAR_JACKET = /obj/item/clothing/suit/storage/wcoat, + WEAR_IN_JACKET = /obj/item/reagent_container/food/drinks/bottle/rum, WEAR_HANDS = /obj/item/clothing/gloves/marine/black, WEAR_R_HAND = /obj/item/storage/beer_pack, WEAR_R_STORE = /obj/item/storage/pouch/tools/full, WEAR_FEET = /obj/item/clothing/shoes/marine/knife, - WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe + WEAR_L_HAND = /obj/item/weapon/baseballbat + ) + +/datum/equipment_preset/synth/survivor/atc_synth + name = "Survivor - Synthetic - Landing Pad Attendant Synth" + equipment_to_spawn = list( + WEAR_R_EAR = /obj/item/clothing/ears/earmuffs, + WEAR_HEAD = /obj/item/clothing/head/cmcap, + WEAR_BODY = /obj/item/clothing/under/rank/synthetic/utility/yellow, + WEAR_BACK = /obj/item/storage/backpack/satchel/norm, + WEAR_IN_BACK = /obj/item/storage/box/m94, + WEAR_JACKET = /obj/item/clothing/suit/storage/hazardvest, + WEAR_IN_JACKET = /obj/item/device/binoculars, + WEAR_WAIST = /obj/item/storage/backpack/general_belt, + WEAR_IN_BELT = /obj/item/stack/flag/red, + WEAR_HANDS = /obj/item/clothing/gloves/marine/veteran, + WEAR_R_HAND = /obj/item/storage/box/lightstick/red, + WEAR_FEET = /obj/item/clothing/shoes/marine/knife, + WEAR_L_HAND = /obj/item/storage/large_holster/machete/full ) /datum/equipment_preset/synth/survivor/detective_synth @@ -362,7 +418,7 @@ WEAR_IN_BACK = /obj/item/device/taperecorder, WEAR_JACKET = /obj/item/clothing/suit/storage/det_suit/black, WEAR_IN_JACKET = /obj/item/weapon/telebaton, - WEAR_WAIST = /obj/item/storage/belt/security/MP/full, + WEAR_WAIST = /obj/item/storage/belt/security/MP/full/synth, WEAR_HANDS = /obj/item/clothing/gloves/black, WEAR_R_HAND = /obj/item/device/camera, WEAR_FEET = /obj/item/clothing/shoes/marine/knife, @@ -403,15 +459,17 @@ WEAR_HEAD = /obj/item/clothing/head/soft/sec/corp, WEAR_L_EAR = /obj/item/device/radio/headset/distress/WY, WEAR_EYES = /obj/item/clothing/glasses/sunglasses/sechud, - WEAR_BODY = /obj/item/clothing/under/marine/officer/formal/servicedress, + WEAR_BODY = /obj/item/clothing/under/colonist/white_service, WEAR_BACK = /obj/item/storage/backpack/satchel/sec, - WEAR_IN_BACK = /obj/item/weapon/telebaton, + WEAR_IN_BACK = /obj/item/handcuffs/zip, + WEAR_IN_BACK = /obj/item/handcuffs/zip, WEAR_JACKET = /obj/item/clothing/suit/storage/webbing, - WEAR_WAIST = /obj/item/storage/belt/security/MP/full, + WEAR_WAIST = /obj/item/storage/belt/security/MP/full/synth, + WEAR_IN_JACKET = /obj/item/weapon/telebaton, WEAR_HANDS = /obj/item/clothing/gloves/black, WEAR_R_STORE = /obj/item/storage/pouch/tools/full, WEAR_FEET = /obj/item/clothing/shoes/marine/knife, - WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe + WEAR_L_HAND = /obj/item/weapon/classic_baton ) survivor_variant = SECURITY_SURVIVOR @@ -427,9 +485,7 @@ WEAR_BODY = /obj/item/clothing/under/marine/veteran/pmc, WEAR_ACCESSORY = /obj/item/clothing/accessory/storage/droppouch, WEAR_IN_ACCESSORY = /obj/item/explosive/grenade/flashbang, - WEAR_IN_ACCESSORY = /obj/item/handcuffs/zip, - WEAR_IN_ACCESSORY = /obj/item/handcuffs/zip, - WEAR_BACK = /obj/item/storage/backpack/lightpack, + WEAR_BACK = /obj/item/storage/backpack/lightpack/five_slot, WEAR_IN_BACK = /obj/item/device/binoculars, WEAR_JACKET = /obj/item/clothing/suit/storage/hazardvest/black, WEAR_IN_JACKET = /obj/item/weapon/telebaton, @@ -446,13 +502,12 @@ role_comm_title = "WY Syn" equipment_to_spawn = list( WEAR_L_EAR = /obj/item/device/radio/headset/distress/WY, + WEAR_R_EAR = /obj/item/tool/pen/clicky, WEAR_BODY = /obj/item/clothing/under/suit_jacket/trainee, WEAR_BACK = /obj/item/storage/backpack/satchel/lockable, - WEAR_IN_BACK = /obj/item/paper, - WEAR_IN_BACK = /obj/item/paper, + WEAR_IN_BACK = /obj/item/notepad, WEAR_IN_BACK = /obj/item/folder, WEAR_IN_BACK = /obj/item/paper/research_notes/good, - WEAR_IN_BACK = /obj/item/tool/pen/clicky, WEAR_IN_BACK = /obj/item/device/taperecorder, WEAR_WAIST = /obj/item/storage/belt/utility/full, WEAR_HANDS = /obj/item/clothing/gloves/botanic_leather, @@ -463,6 +518,29 @@ survivor_variant = CORPORATE_SURVIVOR +/datum/equipment_preset/synth/survivor/icc_synth + name = "Survivor - Synthetic - Interstellar Commerce Commission Synthetic" + idtype = /obj/item/card/id/silver/cl + role_comm_title = "ICC Syn" + equipment_to_spawn = list( + WEAR_L_EAR = /obj/item/device/radio/headset/distress/CMB/limited, + WEAR_R_EAR = /obj/item/tool/pen/clicky, + WEAR_HEAD = /obj/item/clothing/head/hardhat/white, + WEAR_BODY = /obj/item/clothing/under/liaison_suit/black, + WEAR_BACK = /obj/item/storage/backpack/satchel/lockable, + WEAR_IN_BACK = /obj/item/notepad, + WEAR_IN_BACK = /obj/item/folder, + WEAR_IN_BACK = /obj/item/paper/research_notes/good, + WEAR_WAIST = /obj/item/clipboard, + WEAR_JACKET = /obj/item/clothing/suit/storage/hazardvest/yellow, + WEAR_IN_JACKET = /obj/item/device/taperecorder, + WEAR_FEET = /obj/item/clothing/shoes/dress, + WEAR_R_HAND = /obj/item/device/camera, + WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe + ) + + survivor_variant = CORPORATE_SURVIVOR + /datum/equipment_preset/synth/survivor/radiation_synth name = "Survivor - Synthetic - Radiation Synth" equipment_to_spawn = list( @@ -470,13 +548,12 @@ WEAR_BODY = /obj/item/clothing/under/marine/officer/engi, WEAR_BACK = /obj/item/storage/backpack/satchel/eng, WEAR_IN_BACK = /obj/item/tool/weldingtool/hugetank, - WEAR_IN_BACK = /obj/item/storage/firstaid/toxin, WEAR_JACKET = /obj/item/clothing/suit/radiation, WEAR_WAIST = /obj/item/tank/emergency_oxygen/double, WEAR_HANDS = /obj/item/clothing/gloves/yellow, - WEAR_R_HAND = /obj/item/device/motiondetector, + WEAR_R_HAND = /obj/item/storage/pouch/electronics/full, WEAR_FEET = /obj/item/clothing/shoes/marine/knife, - WEAR_L_HAND = /obj/item/weapon/twohanded/fireaxe + WEAR_L_HAND = /obj/item/maintenance_jack ) survivor_variant = ENGINEERING_SURVIVOR @@ -492,13 +569,30 @@ rank = JOB_WORKING_JOE skills = /datum/skills/working_joe languages = list(LANGUAGE_ENGLISH, LANGUAGE_APOLLO, LANGUAGE_RUSSIAN, LANGUAGE_JAPANESE, LANGUAGE_GERMAN, LANGUAGE_SPANISH, LANGUAGE_CHINESE) + /// Used to set species when loading race + var/joe_type = SYNTH_WORKING_JOE /datum/equipment_preset/synth/working_joe/New() . = ..() access = get_access(ACCESS_LIST_GLOBAL) /datum/equipment_preset/synth/working_joe/load_race(mob/living/carbon/human/new_human) - new_human.set_species(SYNTH_WORKING_JOE) + . = ..() + new_human.set_species(joe_type) + new_human.h_style = "Bald" + new_human.f_style = "Shaved" + if(prob(5)) + new_human.grad_style = "None" //No gradients for Working Joes + new_human.h_style = "Shoulder-length Hair" //Added the chance of hair as per Monkeyfist lore accuracy + new_human.r_eyes = 0 + new_human.g_eyes = 0 + new_human.b_eyes = 0 + new_human.r_hair = 100 + new_human.g_hair = 88 + new_human.b_hair = 74 + new_human.r_facial = 255 + new_human.g_facial = 255 + new_human.b_facial = 255 /datum/equipment_preset/synth/working_joe/load_vanity(mob/living/carbon/human/new_human) return @@ -531,6 +625,7 @@ /datum/equipment_preset/synth/working_joe/engi name = "Synthetic - Hazmat Joe" + joe_type = SYNTH_HAZARD_JOE /datum/equipment_preset/synth/working_joe/engi/load_gear(mob/living/carbon/human/new_human) var/choice = rand(1,2) @@ -559,8 +654,10 @@ new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/metal/large_stack(new_human.back), WEAR_IN_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/glass/reinforced/large_stack(new_human.back), WEAR_IN_R_STORE) + /datum/equipment_preset/synth/working_joe/load_race(mob/living/carbon/human/new_human) . = ..() + new_human.set_species(joe_type) new_human.h_style = "Bald" new_human.f_style = "Shaved" if(prob(5)) diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm index e73db8431f32..cdb955bd9696 100644 --- a/code/modules/gear_presets/upp.dm +++ b/code/modules/gear_presets/upp.dm @@ -67,7 +67,6 @@ paygrade = PAY_SHORT_UE2 /datum/equipment_preset/upp/soldier/load_gear(mob/living/carbon/human/new_human) - //TODO: add backpacks and satchels //face new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP, WEAR_L_EAR) //head @@ -75,6 +74,8 @@ //body var/obj/item/clothing/under/marine/veteran/UPP/UPP = new() new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET) //limbs @@ -256,6 +257,8 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap, WEAR_HEAD) //body new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP/medic, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/support, WEAR_JACKET) //medic should move fast new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/bizon/upp, WEAR_J_STORE) //waist @@ -428,6 +431,8 @@ var/obj/item/clothing/accessory/storage/tool_webbing/equipped/W = new() UPP.attach_accessory(new_human, W) new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/type71/sapper, WEAR_J_STORE) @@ -554,6 +559,8 @@ //body var/obj/item/clothing/under/marine/veteran/UPP/UPP = new() new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/heavy, WEAR_JACKET) //limbs new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) @@ -681,6 +688,8 @@ //body var/obj/item/clothing/under/marine/veteran/UPP/UPP = new() new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/heavy, WEAR_JACKET) //limbs new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) @@ -813,6 +822,8 @@ var/obj/item/clothing/accessory/storage/webbing/W = new() UPP.attach_accessory(new_human, W) new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY) @@ -972,6 +983,8 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap/beret, WEAR_HEAD) //uniform new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP/mp, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) //jacket new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/mp, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET) @@ -1131,6 +1144,8 @@ new_human.equip_to_slot_or_del(M, WEAR_BODY) for(var/i in 1 to W.hold.storage_slots) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) //jacket new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/officer, WEAR_JACKET) @@ -1236,9 +1251,6 @@ list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR), list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY), - list("SPECIAL AMMUNITION", 0, null, null, null), - list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR), - list("ATTACHMENTS", 0, null, null, null), list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR), @@ -1291,6 +1303,8 @@ new_human.equip_to_slot_or_del(M, WEAR_BODY) for(var/i in 1 to W.hold.storage_slots) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) //jacket new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/officer, WEAR_JACKET) @@ -1396,9 +1410,6 @@ list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR), list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY), - list("SPECIAL AMMUNITION", 0, null, null, null), - list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR), - list("ATTACHMENTS", 0, null, null, null), list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR), @@ -1452,6 +1463,8 @@ new_human.equip_to_slot_or_del(M, WEAR_BODY) for(var/i in 1 to W.hold.storage_slots) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) //jacket new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/kapitan, WEAR_JACKET) @@ -1557,9 +1570,6 @@ list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR), list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY), - list("SPECIAL AMMUNITION", 0, null, null, null), - list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR), - list("ATTACHMENTS", 0, null, null, null), list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR), @@ -1613,6 +1623,8 @@ new_human.equip_to_slot_or_del(M, WEAR_BODY) for(var/i in 1 to W.hold.storage_slots) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) //jacket new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/kapitan, WEAR_JACKET) @@ -1718,9 +1730,6 @@ list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR), list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY), - list("SPECIAL AMMUNITION", 0, null, null, null), - list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR), - list("ATTACHMENTS", 0, null, null, null), list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR), @@ -1774,6 +1783,8 @@ new_human.equip_to_slot_or_del(M, WEAR_BODY) for(var/i in 1 to W.hold.storage_slots) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) //jacket new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/kapitan, WEAR_JACKET) @@ -1879,9 +1890,6 @@ list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR), list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY), - list("SPECIAL AMMUNITION", 0, null, null, null), - list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR), - list("ATTACHMENTS", 0, null, null, null), list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR), @@ -1935,6 +1943,8 @@ new_human.equip_to_slot_or_del(M, WEAR_BODY) for(var/i in 1 to W.hold.storage_slots) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) //jacket new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/kapitan, WEAR_JACKET) @@ -2040,9 +2050,6 @@ list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR), list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY), - list("SPECIAL AMMUNITION", 0, null, null, null), - list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR), - list("ATTACHMENTS", 0, null, null, null), list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR), @@ -2096,6 +2103,8 @@ new_human.equip_to_slot_or_del(M, WEAR_BODY) for(var/i in 1 to W.hold.storage_slots) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) //jacket new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/kapitan, WEAR_JACKET) @@ -2201,9 +2210,6 @@ list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR), list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY), - list("SPECIAL AMMUNITION", 0, null, null, null), - list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR), - list("ATTACHMENTS", 0, null, null, null), list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR), @@ -2257,6 +2263,8 @@ new_human.equip_to_slot_or_del(M, WEAR_BODY) for(var/i in 1 to W.hold.storage_slots) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) //jacket new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/kapitan, WEAR_JACKET) @@ -2362,9 +2370,6 @@ list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR), list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY), - list("SPECIAL AMMUNITION", 0, null, null, null), - list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR), - list("ATTACHMENTS", 0, null, null, null), list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR), @@ -2418,6 +2423,8 @@ new_human.equip_to_slot_or_del(M, WEAR_BODY) for(var/i in 1 to W.hold.storage_slots) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) //jacket new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/kapitan, WEAR_JACKET) @@ -2523,9 +2530,6 @@ list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR), list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY), - list("SPECIAL AMMUNITION", 0, null, null, null), - list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR), - list("ATTACHMENTS", 0, null, null, null), list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR), @@ -2596,8 +2600,8 @@ languages = ALL_SYNTH_LANGUAGES_UPP skills = /datum/skills/synthetic - assignment = JOB_UPP_COMBAT_SYNTH - rank = JOB_UPP_COMBAT_SYNTH + assignment = JOB_UPP_SUPPORT_SYNTH + rank = JOB_UPP_SUPPORT_SYNTH paygrade = PAY_SHORT_SYN idtype = /obj/item/card/id/dogtag @@ -2644,14 +2648,15 @@ /datum/equipment_preset/upp/synth/load_gear(mob/living/carbon/human/new_human) //back new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/compact, WEAR_IN_BACK) //1 - new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK) //2 - new_human.equip_to_slot_or_del(new /obj/item/roller, WEAR_IN_BACK) //2.33 - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //2.66 - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //3 - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) //3.33 + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/compact, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/blood/OMinus, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/blood/OMinus, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/roller/surgical, WEAR_IN_BACK) //face new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/command, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/tool/screwdriver, WEAR_R_EAR) if(new_human.disabilities & NEARSIGHTED) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) else @@ -2661,23 +2666,29 @@ new_human.equip_to_slot_or_del(new hat, WEAR_HEAD) //body var/obj/item/clothing/under/marine/veteran/UPP/medic/UPP = new() - var/obj/item/clothing/accessory/storage/tool_webbing/equipped/webbing = new() + var/obj/item/clothing/accessory/storage/surg_vest/drop_green/upp/webbing = new() UPP.attach_accessory(new_human, webbing) new_human.equip_to_slot_or_del(UPP, WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/support, WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/glass/bottle/tricordrazine, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/support/synth, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/weapon/telebaton, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/handcuffs, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/handcuffs, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector/hacked, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) //waist - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/full, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/synth, WEAR_WAIST) //limbs new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS) //pockets - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical/full/pills, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/tactical/upp, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical, WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/surgical_line, WEAR_IN_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer, WEAR_IN_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/tricordrazine, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/epinephrine, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/glass/bottle/epinephrine, WEAR_IN_L_STORE) /datum/equipment_preset/upp/synth/get_antag_clothing_equipment() return list( @@ -2795,6 +2806,62 @@ list("Whistle", 5, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR), ) + +/datum/equipment_preset/upp/synth/combat + name = "UPP Combat Synthetic" + flags = EQUIPMENT_PRESET_EXTRA + + assignment = JOB_UPP_COMBAT_SYNTH + rank = JOB_UPP_COMBAT_SYNTH + +/datum/equipment_preset/upp/synth/combat/load_skills(mob/living/carbon/human/new_human) + . = ..() + new_human.allow_gun_usage = TRUE + +/datum/equipment_preset/upp/synth/combat/load_gear(mob/living/carbon/human/new_human) + //back + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/surgical_line, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/compact, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/epinephrine, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/glass/bottle/epinephrine, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/blood/OMinus, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/roller/surgical, WEAR_IN_BACK) + //face + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/command, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/tool/screwdriver, WEAR_R_EAR) + if(new_human.disabilities & NEARSIGHTED) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) + else + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) + //head + var/hat = pick(/obj/item/clothing/head/uppcap, /obj/item/clothing/head/uppcap/beret, /obj/item/clothing/head/uppcap/ushanka) + new_human.equip_to_slot_or_del(new hat, WEAR_HEAD) + //body + var/obj/item/clothing/under/marine/veteran/UPP/UPP = new() + var/obj/item/clothing/accessory/storage/surg_vest/drop_green/upp/webbing = new() + UPP.attach_accessory(new_human, webbing) + new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/support, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/weapon/telebaton, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/bizon, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/bizon, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/bizon/upp, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) + //waist + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/synth, WEAR_WAIST) + //limbs + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS) + //pockets + var/obj/item/storage/pouch/magazine/large/ppouch = new() + new_human.equip_to_slot_or_del(ppouch, WEAR_L_STORE) + for(var/i = 1 to ppouch.storage_slots) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/bizon, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/tactical/upp, WEAR_R_STORE) + //*****************************************************************************************************/ /datum/equipment_preset/upp/conscript @@ -2809,7 +2876,6 @@ paygrade = PAY_SHORT_UE1 /datum/equipment_preset/upp/conscript/load_gear(mob/living/carbon/human/new_human) - //TODO: add backpacks and satchels //back var/maybebackpack = prob(20) ? pick(/obj/item/storage/backpack/lightpack/upp, /obj/item/storage/backpack/lightpack) : null if(maybebackpack) @@ -2825,6 +2891,8 @@ //body var/obj/item/clothing/under/marine/veteran/UPP/UPP = new() new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) var/maybejacket = prob(50) ? pick(/obj/item/clothing/suit/storage/marine/faction/UPP/jacket, /obj/item/clothing/suit/storage/snow_suit/soviet) : null if(maybejacket) @@ -2923,9 +2991,10 @@ access = get_access(ACCESS_LIST_GLOBAL) /datum/equipment_preset/upp/commando/load_gear(mob/living/carbon/human/new_human) - //TODO: add backpacks and satchels new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/kdo, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/commando, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET) @@ -3005,9 +3074,6 @@ list("Entrenching Tool", 2, /obj/item/tool/shovel/etool, null, VENDOR_ITEM_RECOMMENDED), list("Sandbags x25", 5, /obj/item/stack/sandbags_empty/half, null, VENDOR_ITEM_RECOMMENDED), - list("SPECIAL AMMUNITION", 0, null, null, null), - list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR), - list("ATTACHMENTS", 0, null, null, null), list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR), @@ -3046,9 +3112,10 @@ paygrade = PAY_SHORT_UC2 /datum/equipment_preset/upp/commando/medic/load_gear(mob/living/carbon/human/new_human) - //TODO: add backpacks and satchels new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/kdo/medic, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP/medic, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/commando, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET) @@ -3175,9 +3242,6 @@ list("Roller Bed", 4, /obj/item/roller, null, VENDOR_ITEM_REGULAR), list("Stasis Bag", 6, /obj/item/bodybag/cryobag, null, VENDOR_ITEM_REGULAR), - list("SPECIAL AMMUNITION", 0, null, null, null), - list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR), - list("ATTACHMENTS", 0, null, null, null), list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR), @@ -3216,9 +3280,10 @@ idtype = /obj/item/card/id/silver /datum/equipment_preset/upp/commando/leader/load_gear(mob/living/carbon/human/new_human) - //TODO: add backpacks and satchels new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/kdo/command, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/commando, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET) @@ -3328,9 +3393,6 @@ list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR), list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY), - list("SPECIAL AMMUNITION", 0, null, null, null), - list("Type 71 HEAP Magazine (5.45x39mm)", 10, /obj/item/ammo_magazine/rifle/type71/heap , null, VENDOR_ITEM_REGULAR), - list("ATTACHMENTS", 0, null, null, null), list("Angled Grip", 10, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), list("Extended Barrel", 10, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR), @@ -3362,6 +3424,8 @@ /datum/equipment_preset/upp/commando/low_threat/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/kdo, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/commando, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET) @@ -3390,9 +3454,10 @@ name = "UPP Commando Medic" /datum/equipment_preset/upp/commando/medic/load_gear(mob/living/carbon/human/new_human) - //TODO: add backpacks and satchels new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/kdo/medic, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP/medic, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/commando, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET) @@ -3429,9 +3494,10 @@ name = "UPP Commando Leader" /datum/equipment_preset/upp/commando/leader/load_gear(mob/living/carbon/human/new_human) - //TODO: add backpacks and satchels new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/kdo/command, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP/commando, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71/ap, WEAR_IN_JACKET) @@ -3471,6 +3537,8 @@ /datum/equipment_preset/upp/tank/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/cct(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding(new_human), WEAR_EYES) @@ -3606,6 +3674,8 @@ var/obj/item/clothing/accessory/storage/surg_vest/equipped/W = new() UPP.attach_accessory(new_human, W) new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) //waist new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/full, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/oxycodone, WEAR_IN_BELT) diff --git a/code/modules/gear_presets/uscm.dm b/code/modules/gear_presets/uscm.dm index 5402a5ed7305..eec3b6157877 100644 --- a/code/modules/gear_presets/uscm.dm +++ b/code/modules/gear_presets/uscm.dm @@ -16,9 +16,9 @@ service_hat = list(/obj/item/clothing/head/cmcap) service_shoes = list(/obj/item/clothing/shoes/dress) - dress_under = list(/obj/item/clothing/under/marine/dress) - dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress) - dress_hat = list(/obj/item/clothing/head/marine/peaked) + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover) dress_gloves = list(/obj/item/clothing/gloves/marine/dress) dress_shoes = list(/obj/item/clothing/shoes/dress) var/auto_squad_name @@ -72,6 +72,8 @@ skills = /datum/skills/pfc minimap_icon = "private" + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) /datum/equipment_preset/uscm/pfc/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/marine/satchel @@ -108,6 +110,8 @@ skills = /datum/skills/smartgunner minimap_icon = "smartgunner" + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) /datum/equipment_preset/uscm/sg/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/marine/satchel @@ -227,6 +231,9 @@ utility_under = list(/obj/item/clothing/under/marine/officer/intel) minimap_icon = "io" + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) /datum/equipment_preset/uscm/intel/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/marine/satchel @@ -279,6 +286,8 @@ skills = /datum/skills/specialist minimap_icon = "spec" + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) /datum/equipment_preset/uscm/spec/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/marine/satchel @@ -338,6 +347,8 @@ minimap_icon = "medic" utility_under = list(/obj/item/clothing/under/marine/medic) + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) /datum/equipment_preset/uscm/medic/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/marine/satchel/medic @@ -400,6 +411,8 @@ minimap_icon = "engi" utility_under = list(/obj/item/clothing/under/marine/engineer) + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) /datum/equipment_preset/uscm/engineer/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/marine/satchel/tech @@ -463,6 +476,8 @@ skills = /datum/skills/pfc/crafty minimap_icon = "private" + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) /datum/equipment_preset/uscm/private_equipped/load_status(mob/living/carbon/human/new_human) new_human.nutrition = NUTRITION_NORMAL @@ -553,6 +568,8 @@ skills = /datum/skills/smartgunner minimap_icon = "smartgunner" + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) /datum/equipment_preset/uscm/smartgunner_equipped/load_status(mob/living/carbon/human/new_human) new_human.nutrition = NUTRITION_NORMAL @@ -592,6 +609,8 @@ minimap_icon = "engi" utility_under = list(/obj/item/clothing/under/marine/engineer) + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) /datum/equipment_preset/uscm/engineer_equipped/load_status(mob/living/carbon/human/new_human) new_human.nutrition = NUTRITION_NORMAL @@ -638,6 +657,8 @@ minimap_icon = "medic" utility_under = list(/obj/item/clothing/under/marine/medic) + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) /datum/equipment_preset/uscm/medic_equipped/load_status(mob/living/carbon/human/new_human) new_human.nutrition = NUTRITION_NORMAL @@ -690,6 +711,8 @@ skills = /datum/skills/specialist minimap_icon = "spec" + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) /datum/equipment_preset/uscm/specialist_equipped/load_status(mob/living/carbon/human/new_human) new_human.nutrition = NUTRITION_NORMAL @@ -873,6 +896,9 @@ skills = /datum/skills/commando/deathsquad/leader minimap_icon = "leader" + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) /datum/equipment_preset/uscm/marsoc/sl/load_rank(mob/living/carbon/human/new_human) if(new_human.client) @@ -898,6 +924,9 @@ role_comm_title = "CMD." paygrade = PAY_SHORT_MO3 skills = /datum/skills/commando/deathsquad/officer + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) /datum/equipment_preset/uscm/marsoc/cmd/load_rank(mob/living/carbon/human/new_human) if(new_human.client) @@ -956,6 +985,9 @@ skills = /datum/skills/commando/deathsquad/leader minimap_icon = "leader" + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) /datum/equipment_preset/uscm/marsoc/sl/load_rank(mob/living/carbon/human/new_human) if(new_human.client) diff --git a/code/modules/gear_presets/uscm_event.dm b/code/modules/gear_presets/uscm_event.dm index ce36f1fd807f..3ab1dbc99b4e 100644 --- a/code/modules/gear_presets/uscm_event.dm +++ b/code/modules/gear_presets/uscm_event.dm @@ -31,11 +31,11 @@ service_extra = list(/obj/item/clothing/suit/storage/jacket/marine/dress/officer/bomber) service_hat = list(/obj/item/clothing/head/beret/cm, /obj/item/clothing/head/beret/marine/commander/dress, /obj/item/clothing/head/beret/marine/commander/black) - dress_under = list(/obj/item/clothing/under/marine/dress, /obj/item/clothing/under/marine/officer/formal/servicedress) + dress_under = list(/obj/item/clothing/under/marine/dress/blues/general) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) dress_extra = list(/obj/item/storage/large_holster/ceremonial_sword/full) - dress_hat = list(/obj/item/clothing/head/marine/peaked/captain/white, /obj/item/clothing/head/marine/peaked/captain/black) dress_shoes = list(/obj/item/clothing/shoes/dress/commander) - dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/officer/white, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/black, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/suit) /datum/equipment_preset/uscm_event/colonel/New() . = ..() @@ -72,6 +72,10 @@ service_gloves = list(/obj/item/clothing/gloves/black, /obj/item/clothing/gloves/marine/dress) service_hat = list(/obj/item/clothing/head/general, /obj/item/clothing/head/beret/marine/commander/black) + dress_under = list(/obj/item/clothing/under/marine/dress/blues/general) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) + /datum/equipment_preset/uscm_event/general/New() . = ..() access = get_access(ACCESS_LIST_GLOBAL) @@ -149,6 +153,10 @@ role_comm_title = "OT" skills = /datum/skills/spy + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover) + /datum/equipment_preset/uscm_event/upp_spy/load_gear(mob/living/carbon/human/new_human) //TODO: add backpacks and satchels var/back_item = /obj/item/storage/backpack/marine/satchel/tech @@ -200,6 +208,10 @@ role_comm_title = "PvE" flags = EQUIPMENT_PRESET_EXTRA + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover) + /datum/equipment_preset/uscm_event/provost/enforcer/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/satchel/sec if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) @@ -242,6 +254,10 @@ role_comm_title = "PvTML" flags = EQUIPMENT_PRESET_EXTRA + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover) + /datum/equipment_preset/uscm_event/provost/tml/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/satchel/sec if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) @@ -284,6 +300,10 @@ role_comm_title = "PvI" flags = EQUIPMENT_PRESET_EXTRA + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) + /datum/equipment_preset/uscm_event/provost/inspector/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/satchel/sec if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) @@ -331,6 +351,10 @@ role_comm_title = PAY_SHORT_PVM flags = EQUIPMENT_PRESET_EXTRA + dress_under = list(/obj/item/clothing/under/marine/dress/blues/general) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) + /datum/equipment_preset/uscm_event/provost/marshal/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/satchel/sec if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) @@ -351,6 +375,7 @@ new_human.equip_to_slot_or_del(new /obj/item/device/taperecorder(new_human), WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/pistol/pmc_mateba(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/MP/provost/marshal(new_human.back), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/cotablet(new_human.back), WEAR_IN_BACK) /datum/equipment_preset/uscm_event/provost/marshal/sector name = "Provost Sector Marshal (MO7)" diff --git a/code/modules/gear_presets/uscm_medical.dm b/code/modules/gear_presets/uscm_medical.dm index 8fbfd72c5276..14db97b35229 100644 --- a/code/modules/gear_presets/uscm_medical.dm +++ b/code/modules/gear_presets/uscm_medical.dm @@ -14,9 +14,9 @@ service_hat = list(/obj/item/clothing/head/cmcap) service_shoes = list(/obj/item/clothing/shoes/dress) - dress_under = list(/obj/item/clothing/under/marine/dress) - dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress) - dress_hat = list(/obj/item/clothing/head/marine/peaked) + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) dress_gloves = list(/obj/item/clothing/gloves/marine/dress) dress_shoes = list(/obj/item/clothing/shoes/dress) @@ -101,6 +101,12 @@ minimap_icon = list("medic") + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover) + dress_gloves = list(/obj/item/clothing/gloves/marine/dress) + dress_shoes = list(/obj/item/clothing/shoes/dress) + /datum/equipment_preset/uscm_ship/uscm_medical/nurse/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/marine/satchel if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) diff --git a/code/modules/gear_presets/uscm_ship.dm b/code/modules/gear_presets/uscm_ship.dm index 3651b83cc209..cda77b4dd4f4 100644 --- a/code/modules/gear_presets/uscm_ship.dm +++ b/code/modules/gear_presets/uscm_ship.dm @@ -16,9 +16,9 @@ service_hat = list(/obj/item/clothing/head/cmcap) service_shoes = list(/obj/item/clothing/shoes/dress) - dress_under = list(/obj/item/clothing/under/marine/dress) - dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress) - dress_hat = list(/obj/item/clothing/head/marine/peaked) + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) dress_gloves = list(/obj/item/clothing/gloves/marine/dress) dress_shoes = list(/obj/item/clothing/shoes/dress) @@ -128,6 +128,10 @@ minimap_icon = "correspondent" minimap_background = MINIMAP_ICON_BACKGROUND_CIVILIAN + dress_under = list() + dress_over = list() + dress_hat = list() + /datum/equipment_preset/uscm_ship/reporter/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/reporter(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/reporter(new_human), WEAR_BODY) @@ -159,6 +163,9 @@ minimap_icon = "correspondent" minimap_background = MINIMAP_ICON_BACKGROUND_CIC + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover) + /datum/equipment_preset/uscm_ship/reporter_uscm/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/satchel if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) @@ -242,6 +249,9 @@ minimap_icon = "engi" utility_under = list(/obj/item/clothing/under/marine/officer/engi) + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover) /datum/equipment_preset/uscm_ship/maint/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/marine/satchel/tech @@ -280,6 +290,9 @@ minimap_icon = "ot" utility_under = list(/obj/item/clothing/under/marine/officer/engi) + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover) /datum/equipment_preset/uscm_ship/ordn/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/marine/satchel/tech @@ -323,6 +336,8 @@ minimap_icon = list("ct" = MINIMAP_ICON_COLOR_HEAD) utility_under = list(/obj/item/clothing/under/rank/qm_suit) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover) /datum/equipment_preset/uscm_ship/qm/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/marine/satchel/tech @@ -344,7 +359,7 @@ name = "USCM Cargo Technician (CT)" flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE - access = list(ACCESS_MARINE_CARGO, ACCESS_MARINE_PREP) + access = list(ACCESS_MARINE_CARGO) assignment = JOB_CARGO_TECH rank = JOB_CARGO_TECH paygrade = PAY_SHORT_ME2 @@ -354,6 +369,9 @@ minimap_icon = "ct" utility_under = list(/obj/item/clothing/under/rank/cargotech) + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover) /datum/equipment_preset/uscm_ship/cargo/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/marine/satchel/tech @@ -401,11 +419,11 @@ service_extra = list(/obj/item/clothing/suit/storage/jacket/marine/dress/officer/bomber) service_hat = list(/obj/item/clothing/head/beret/cm, /obj/item/clothing/head/beret/marine/commander/dress, /obj/item/clothing/head/beret/marine/commander/black, /obj/item/clothing/head/marine/peaked/service) - dress_under = list(/obj/item/clothing/under/marine/dress, /obj/item/clothing/under/marine/officer/formal/servicedress) - dress_extra = list(/obj/item/storage/large_holster/ceremonial_sword/full) - dress_hat = list(/obj/item/clothing/head/marine/peaked/captain/white, /obj/item/clothing/head/marine/peaked/captain/black, /obj/item/clothing/head/marine/peaked) + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) dress_shoes = list(/obj/item/clothing/shoes/dress/commander) - dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/officer/white, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/black, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/suit, /obj/item/clothing/suit/storage/jacket/marine/dress) + dress_extra = list(/obj/item/storage/large_holster/ceremonial_sword/full) /datum/equipment_preset/uscm_ship/commander/New() . = ..() @@ -462,12 +480,9 @@ minimum_age = 35 dress_over = list( - /obj/item/clothing/suit/storage/jacket/marine/dress/officer/white, - /obj/item/clothing/suit/storage/jacket/marine/dress/officer/black, - /obj/item/clothing/suit/storage/jacket/marine/dress/officer/suit, + /obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/falcon, ) - /datum/equipment_preset/uscm_ship/commander/council/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/bridge(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/marine/commander/council(new_human), WEAR_HEAD) @@ -477,6 +492,7 @@ name = "USCM Commanding Officer (CO++)" idtype = /obj/item/card/id/general paygrade = PAY_SHORT_MO6 + dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior, /obj/item/clothing/under/marine/dress/blues/general) /datum/equipment_preset/uscm_ship/commander/council/plus/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beret/marine/commander/councilchief(new_human), WEAR_HEAD) @@ -571,6 +587,8 @@ minimap_icon = "sea" service_hat = list(/obj/item/clothing/head/cmcap, /obj/item/clothing/head/drillhat) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover) /datum/equipment_preset/uscm_ship/sea/New() . = ..() @@ -658,21 +676,71 @@ //*****************************************************************************************************/ -/datum/equipment_preset/uscm_ship/po - name = "USCM Pilot (DP) (Cryo)" +/datum/equipment_preset/uscm_ship/gp + name = "USCM Gunship Pilot (GP) (Cryo)" flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE idtype = /obj/item/card/id/silver access = list(ACCESS_MARINE_COMMAND, ACCESS_MARINE_DROPSHIP, ACCESS_MARINE_PILOT) - assignment = JOB_PILOT - rank = JOB_PILOT + assignment = JOB_CAS_PILOT + rank = JOB_CAS_PILOT + paygrade = PAY_SHORT_MO1 + role_comm_title = "GP" + skills = /datum/skills/pilot + + minimap_icon = "pilot" + +/datum/equipment_preset/uscm_ship/gp/load_gear(mob/living/carbon/human/new_human) + var/back_item = /obj/item/storage/backpack/satchel + if(new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) + back_item = /obj/item/storage/backpack/marine + + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/po(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/pilot(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + +//*****************************************************************************************************/ + +/datum/equipment_preset/uscm_ship/gp/full + name = "USCM Gunship Pilot (GP)" + flags = EQUIPMENT_PRESET_EXTRA|EQUIPMENT_PRESET_MARINE + + utility_under = list(/obj/item/clothing/under/marine/officer/pilot) + +/datum/equipment_preset/uscm_ship/gp/full/load_gear(mob/living/carbon/human/new_human) + var/back_item = /obj/item/storage/backpack/satchel + if(new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) + back_item = /obj/item/storage/backpack/marine + + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/po(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/pilot(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/pilot(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/pilot(new_human), WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(new_human), WEAR_EYES) + +//*****************************************************************************************************/ + +/datum/equipment_preset/uscm_ship/dp + name = "USCM Dropship Pilot (DP) (Cryo)" + flags = EQUIPMENT_PRESET_START_OF_ROUND|EQUIPMENT_PRESET_MARINE + + idtype = /obj/item/card/id/silver + access = list(ACCESS_MARINE_COMMAND, ACCESS_MARINE_DROPSHIP, ACCESS_MARINE_PILOT) + assignment = JOB_DROPSHIP_PILOT + rank = JOB_DROPSHIP_PILOT paygrade = PAY_SHORT_MO1 role_comm_title = "DP" skills = /datum/skills/pilot minimap_icon = "pilot" -/datum/equipment_preset/uscm_ship/po/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/uscm_ship/dp/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/satchel if(new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) back_item = /obj/item/storage/backpack/marine @@ -684,13 +752,13 @@ //*****************************************************************************************************/ -/datum/equipment_preset/uscm_ship/po/full - name = "USCM Pilot Officer (PO)" +/datum/equipment_preset/uscm_ship/dp/full + name = "USCM Dropship Pilot (DP)" flags = EQUIPMENT_PRESET_EXTRA|EQUIPMENT_PRESET_MARINE utility_under = list(/obj/item/clothing/under/marine/officer/pilot) -/datum/equipment_preset/uscm_ship/po/full/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/uscm_ship/dp/full/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/satchel if(new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) back_item = /obj/item/storage/backpack/marine @@ -722,6 +790,9 @@ minimap_icon = "dcc" + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/nco) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover) + /datum/equipment_preset/uscm_ship/dcc/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/satchel if(new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1)) @@ -778,9 +849,7 @@ service_hat = list(/obj/item/clothing/head/beret/cm) service_shoes = list(/obj/item/clothing/shoes/dress/commander) - dress_extra = list(/obj/item/clothing/head/beret/marine/commander/dress, /obj/item/storage/large_holster/ceremonial_sword/full) - dress_hat = list(/obj/item/clothing/head/marine/peaked/captain) - dress_shoes = list(/obj/item/clothing/shoes/dress/commander) + dress_extra = list(/obj/item/storage/large_holster/ceremonial_sword/full) /datum/equipment_preset/uscm_ship/officer/New() . = ..() @@ -813,6 +882,9 @@ minimap_icon = "mst" utility_under = list(/obj/item/clothing/under/marine/chef) + dress_under = list(/obj/item/clothing/under/marine/dress/blues) + dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) + dress_hat = list(/obj/item/clothing/head/marine/dress_cover) /datum/equipment_preset/uscm_ship/chef/load_gear(mob/living/carbon/human/new_human) var/back_item = /obj/item/storage/backpack/marine/satchel diff --git a/code/modules/law/laws/precautionary_charge.dm b/code/modules/law/laws/precautionary_charge.dm index c06cd6ca5287..7be4cb2b2e65 100644 --- a/code/modules/law/laws/precautionary_charge.dm +++ b/code/modules/law/laws/precautionary_charge.dm @@ -10,7 +10,7 @@ /datum/law/precautionary_charge/insanity name = "Insanity" - desc = "Acting in such a manner which makes the offender not sound clear of mind. The CMO or Synthetic can declare insanity on a Marine if the Marine is believed to not be of sound mind. The Marine once cleared to be of sound mind may be released from this particular charge." + desc = "Acting in such a manner which makes the offender not sound clear of mind. The subject, once cleared to be of sound mind, may be released from this particular charge. Excepting in cases of Suicide/Attempted Suicide, only the CMO/Synthetic may declare someone insane." /datum/law/precautionary_charge/prisoner_of_war name = "Prisoner of War" diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 3a27af37f669..d13d5aa94053 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -33,8 +33,11 @@ layer = ABOVE_FLY_LAYER stat = DEAD mob_flags = KNOWS_TECHNOLOGY - var/adminlarva = FALSE + + /// If the observer is an admin, are they excluded from the xeno queue? + var/admin_larva_protection = TRUE // Enabled by default var/ghostvision = TRUE + var/self_visibility = TRUE var/can_reenter_corpse var/started_as_observer //This variable is set to 1 when you enter the game as an observer. //If you died in the game and are a ghost - this will remain as null. @@ -69,10 +72,10 @@ set desc = "Toggles your ability to see things only ghosts can see, like other ghosts" set category = "Ghost.Settings" ghostvision = !ghostvision - if(hud_used) - var/atom/movable/screen/plane_master/lighting/lighting = hud_used.plane_masters["[GHOST_PLANE]"] - if (lighting) - lighting.alpha = ghostvision? 255 : 0 + if(ghostvision) + see_invisible = INVISIBILITY_OBSERVER + else + see_invisible = HIDE_INVISIBLE_OBSERVER to_chat(usr, SPAN_NOTICE("You [(ghostvision?"now":"no longer")] have ghost vision.")) /mob/dead/observer/Initialize(mapload, mob/body) @@ -809,10 +812,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set category = "Ghost.Settings" if(client) - if(client.view != GLOB.world_view_size) - client.change_view(GLOB.world_view_size) - else + // Check the current zoom level and toggle to the next level cyclically + if (client.view == GLOB.world_view_size) client.change_view(14) + else if (client.view == 14) + client.change_view(28) + else + client.change_view(GLOB.world_view_size) /mob/dead/observer/verb/toggle_darkness() @@ -840,11 +846,12 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/verb/toggle_self_visibility() set name = "Toggle Self Visibility" set category = "Ghost.Settings" - - if (alpha) - alpha = 0 - else + self_visibility = !self_visibility + if (self_visibility) alpha = initial(alpha) + else + alpha = 0 + to_chat(usr, SPAN_NOTICE("You are now [(self_visibility?"visible":"invisible")].")) /mob/dead/observer/verb/view_manifest() set name = "View Crew Manifest" @@ -1184,7 +1191,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(!SSticker.HasRoundStarted()) var/time_remaining = SSticker.GetTimeLeft() if(time_remaining > 0) - . += "Time To Start: [round(time_remaining)]s" + . += "Time To Start: [round(time_remaining)]s[SSticker.delay_start ? " (DELAYED)" : ""]" else if(time_remaining == -10) . += "Time To Start: DELAYED" else diff --git a/code/modules/mob/language/language.dm b/code/modules/mob/language/language.dm index f00618fe54be..0a2fbca787d6 100644 --- a/code/modules/mob/language/language.dm +++ b/code/modules/mob/language/language.dm @@ -23,7 +23,7 @@ /datum/language/proc/broadcast(mob/living/speaker, message, speaker_mask) - log_say("[key_name(speaker)] : ([name]) [message]") + log_say("[key_name(speaker)] : ([name]) [message] (AREA: [get_area_name(speaker)])") for(var/mob/player in GLOB.player_list) diff --git a/code/modules/mob/language/languages.dm b/code/modules/mob/language/languages.dm index 86a96e3d160c..cfa023c7d9cd 100644 --- a/code/modules/mob/language/languages.dm +++ b/code/modules/mob/language/languages.dm @@ -174,7 +174,7 @@ GLOB.STUI.game.Add("\[[time_stamp()]]APOLLO: [key_name(speaker)] : [message]
") GLOB.STUI.processing |= STUI_LOG_GAME_CHAT - log_say("[speaker.name != "Unknown" ? speaker.name : "([speaker.real_name])"] \[APOLLO\]: [message] (CKEY: [speaker.key]) (JOB: [speaker.job])") + log_say("[speaker.name != "Unknown" ? speaker.name : "([speaker.real_name])"] \[APOLLO\]: [message] (CKEY: [speaker.key]) (JOB: [speaker.job]) (AREA: [get_area_name(speaker)])") log_ares_apollo(speaker.real_name, message) for (var/mob/dead in GLOB.dead_mob_list) if(!istype(dead,/mob/new_player) && !istype(dead,/mob/living/brain)) //No meta-evesdropping diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index bac6db19a302..2759a454b57b 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -431,23 +431,6 @@ bodytemperature = max(bodytemperature, BODYTEMP_HEAT_DAMAGE_LIMIT+10) recalculate_move_delay = TRUE - -/mob/living/carbon/show_inv(mob/living/carbon/user as mob) - user.set_interaction(src) - var/dat = {" -
[name]
-

-
Head(Mask): [(wear_mask ? wear_mask : "Nothing")] -
Left Hand: [(l_hand ? l_hand : "Nothing")] -
Right Hand: [(r_hand ? r_hand : "Nothing")] -
Back: [(back ? back : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/tank) && !( internal )) ? " Set Internal" : "")] -
[(handcuffed ? "Handcuffed" : "Not Handcuffed")] -
[(internal ? "Remove Internal" : "")] -
Refresh -
Close -
"} - show_browser(user, dat, name, "mob[name]") - /** * Called by [/mob/dead/observer/proc/do_observe] when a carbon mob is observed by a ghost with [/datum/preferences/var/auto_observe] enabled. * diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index af0da452d13e..c97e4344cabf 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -10,13 +10,16 @@ // Override the current limb status E.droplimb(0, 0, cause) - undefibbable = TRUE + GLOB.data_core.manifest_modify(real_name, WEAKREF(src), null, null, "*Deceased*") if(is_a_synth) spawn_gibs() return + + undefibbable = TRUE + ..() /mob/living/carbon/human/gib_animation() diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 3ebd199b08d9..4e71b178824d 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -13,7 +13,7 @@ create_reagents(1000) if(!real_name || !name) change_real_name(src, "unknown") - + AddElement(/datum/element/strippable, GLOB.strippable_human_items, TYPE_PROC_REF(/mob/living/carbon/human, should_strip)) . = ..() prev_gender = gender // Debug for plural genders @@ -272,45 +272,6 @@ -/mob/living/carbon/human/show_inv(mob/living/user) - var/obj/item/clothing/under/suit = null - if(istype(w_uniform, /obj/item/clothing/under)) - suit = w_uniform - - user.set_interaction(src) - var/dat = {" -
[name]
-

-
(Exo)Suit: [(wear_suit ? wear_suit : "Nothing")] -
Suit Storage: [(s_store ? s_store : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(s_store, /obj/item/tank) && !( internal )) ? " Set Internal" : "")] -
Back: [(back ? back : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/tank) && !( internal )) ? " Set Internal" : "")] -
Head(Mask): [(wear_mask ? wear_mask : "Nothing")] -
Left Hand: [(l_hand ? l_hand : "Nothing")] -
Right Hand: [(r_hand ? r_hand : "Nothing")] -
Gloves: [(gloves ? gloves : "Nothing")] -
Eyes: [(glasses ? glasses : "Nothing")] -
Left Ear: [(wear_l_ear ? wear_l_ear : "Nothing")] -
Right Ear: [(wear_r_ear ? wear_r_ear : "Nothing")] -
Head: [(head ? head : "Nothing")] -
Shoes: [(shoes ? shoes : "Nothing")] -
Belt: [(belt ? belt : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(belt, /obj/item/tank) && !internal) ? " Set Internal" : "")] -
Uniform: [(w_uniform ? w_uniform : "Nothing")] [(suit) ? ((suit.has_sensor == UNIFORM_HAS_SENSORS) ? " Sensors" : "") : null] -
ID: [(wear_id ? wear_id : "Nothing")] -
Left Pocket: [(l_store ? l_store : "Nothing")] -
Right Pocket: [(r_store ? r_store : "Nothing")] -
- [handcuffed ? "
Handcuffed" : ""] - [legcuffed ? "
Legcuffed" : ""] - [suit && LAZYLEN(suit.accessories) ? "
Remove Accessory" : ""] - [internal ? "
Remove Internal" : ""] - [istype(wear_id, /obj/item/card/id/dogtag) ? "
Retrieve Info Tag" : ""] -
Remove Splints -
-
Refresh -
Close -
"} - show_browser(user, dat, name, "mob[name]") - /** * Handles any storage containers that the human is looking inside when auto-observed. */ @@ -426,9 +387,6 @@ /mob/living/carbon/human/Topic(href, href_list) - if(href_list["refresh"]) - if(interactee&&(in_range(src, usr))) - show_inv(interactee) if(href_list["mach_close"]) var/t1 = text("window=[]", href_list["mach_close"]) @@ -473,76 +431,6 @@ what = usr.get_active_hand() usr.stripPanelEquip(what,src,slot) - if(href_list["internal"]) - - if(!usr.action_busy && !usr.is_mob_incapacitated() && Adjacent(usr)) - attack_log += text("\[[time_stamp()]\] Has had their internals toggled by [key_name(usr)]") - usr.attack_log += text("\[[time_stamp()]\] Attempted to toggle [key_name(src)]'s' internals") - if(internal) - usr.visible_message(SPAN_DANGER("[usr] is trying to disable [src]'s internals"), null, null, 3) - else - usr.visible_message(SPAN_DANGER("[usr] is trying to enable [src]'s internals."), null, null, 3) - - if(do_after(usr, POCKET_STRIP_DELAY, INTERRUPT_ALL, BUSY_ICON_GENERIC, src, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) - if(internal) - internal.add_fingerprint(usr) - internal = null - visible_message("[src] is no longer running on internals.", null, null, 1) - else - if(istype(wear_mask, /obj/item/clothing/mask)) - if(istype(back, /obj/item/tank)) - internal = back - else if(istype(s_store, /obj/item/tank)) - internal = s_store - else if(istype(belt, /obj/item/tank)) - internal = belt - if(internal) - visible_message(SPAN_NOTICE("[src] is now running on internals."), null, null, 1) - internal.add_fingerprint(usr) - - // Update strip window - if(usr.interactee == src && Adjacent(usr)) - show_inv(usr) - - - if(href_list["splints"]) - if(!usr.action_busy && !usr.is_mob_incapacitated() && Adjacent(usr)) - if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (stat == DEAD || health < HEALTH_THRESHOLD_CRIT) && !get_target_lock(usr.faction_group)) - to_chat(usr, SPAN_WARNING("You can't strip a crit or dead member of another faction!")) - return - attack_log += text("\[[time_stamp()]\] Has had their splints removed by [key_name(usr)]") - usr.attack_log += text("\[[time_stamp()]\] Attempted to remove [key_name(src)]'s' splints ") - remove_splints(usr) - - if(href_list["tie"]) - if(!usr.action_busy && !usr.is_mob_incapacitated() && Adjacent(usr)) - if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (stat == DEAD || health < HEALTH_THRESHOLD_CRIT) && !get_target_lock(usr.faction_group)) - to_chat(usr, SPAN_WARNING("You can't strip a crit or dead member of another faction!")) - return - if(w_uniform && istype(w_uniform, /obj/item/clothing)) - var/obj/item/clothing/under/U = w_uniform - if(!LAZYLEN(U.accessories)) - return FALSE - var/obj/item/clothing/accessory/A = LAZYACCESS(U.accessories, 1) - if(LAZYLEN(U.accessories) > 1) - A = tgui_input_list(usr, "Select an accessory to remove from [U]", "Remove accessory", U.accessories) - if(!istype(A)) - return - attack_log += text("\[[time_stamp()]\] Has had their accessory ([A]) removed by [key_name(usr)]") - usr.attack_log += text("\[[time_stamp()]\] Attempted to remove [key_name(src)]'s' accessory ([A])") - if(istype(A, /obj/item/clothing/accessory/holobadge) || istype(A, /obj/item/clothing/accessory/medal)) - visible_message(SPAN_DANGER("[usr] tears off \the [A] from [src]'s [U]!"), null, null, 5) - if(U == w_uniform) - U.remove_accessory(usr, A) - else - if(HAS_TRAIT(src, TRAIT_UNSTRIPPABLE) && !is_mob_incapacitated()) //Can't strip the unstrippable! - to_chat(usr, SPAN_DANGER("[src] has an unbreakable grip on their equipment!")) - return - visible_message(SPAN_DANGER("[usr] is trying to take off \a [A] from [src]'s [U]!"), null, null, 5) - if(do_after(usr, get_strip_delay(usr, src), INTERRUPT_ALL, BUSY_ICON_GENERIC, src, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) - if(U == w_uniform) - U.remove_accessory(usr, A) - if(href_list["sensor"]) if(!usr.action_busy && !usr.is_mob_incapacitated() && Adjacent(usr)) if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (stat == DEAD || health < HEALTH_THRESHOLD_CRIT) && !get_target_lock(usr.faction_group)) @@ -834,25 +722,7 @@ R.fields[text("com_[counter]")] = text("Made by [U.get_authentification_name()] ([U.get_assignment()]) on [time2text(world.realtime, "DDD MMM DD hh:mm:ss")], [GLOB.game_year]
[t1]") if(href_list["medholocard"]) - if(!skillcheck(usr, SKILL_MEDICAL, SKILL_MEDICAL_MEDIC)) - to_chat(usr, SPAN_WARNING("You're not trained to use this.")) - return - if(!has_species(src, "Human")) - to_chat(usr, SPAN_WARNING("Triage holocards only works on humans.")) - return - var/newcolor = tgui_input_list(usr, "Choose a triage holo card to add to the patient:", "Triage holo card", list("black", "red", "orange", "none")) - if(!newcolor) return - if(get_dist(usr, src) > 7) - to_chat(usr, SPAN_WARNING("[src] is too far away.")) - return - if(newcolor == "none") - if(!holo_card_color) return - holo_card_color = null - to_chat(usr, SPAN_NOTICE("You remove the holo card on [src].")) - else if(newcolor != holo_card_color) - holo_card_color = newcolor - to_chat(usr, SPAN_NOTICE("You add a [newcolor] holo card on [src].")) - update_targeted() + change_holo_card(usr) if(href_list["lookitem"]) var/obj/item/I = locate(href_list["lookitem"]) @@ -904,6 +774,39 @@ ..() return +/mob/living/carbon/human/proc/change_holo_card(mob/user) + if(isobserver(user)) + return + if(!skillcheck(user, SKILL_MEDICAL, SKILL_MEDICAL_MEDIC)) + // Removing your own holocard when you are not trained + if(user == src && holo_card_color) + if(tgui_alert(user, "Are you sure you want to reset your own holocard?", "Resetting Holocard", list("Yes", "No")) != "Yes") + return + holo_card_color = null + to_chat(user, SPAN_NOTICE("You reset your holocard.")) + hud_set_holocard() + return + to_chat(user, SPAN_WARNING("You're not trained to use this.")) + return + if(!has_species(src, "Human")) + to_chat(user, SPAN_WARNING("Triage holocards only works on humans.")) + return + var/newcolor = tgui_input_list(user, "Choose a triage holo card to add to the patient:", "Triage holo card", list("black", "red", "orange", "purple", "none")) + if(!newcolor) + return + if(get_dist(user, src) > 7) + to_chat(user, SPAN_WARNING("[src] is too far away.")) + return + if(newcolor == "none") + if(!holo_card_color) + return + holo_card_color = null + to_chat(user, SPAN_NOTICE("You remove the holo card on [src].")) + else if(newcolor != holo_card_color) + holo_card_color = newcolor + to_chat(user, SPAN_NOTICE("You add a [newcolor] holo card on [src].")) + hud_set_holocard() + /mob/living/carbon/human/tgui_interact(mob/user, datum/tgui/ui) // I'M SORRY, SO FUCKING SORRY . = ..() ui = SStgui.try_update_ui(user, src, ui) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 1d56b7db2728..e664143be74d 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -60,9 +60,11 @@ revive_grace_period += 7 SECONDS attacking_mob.visible_message(SPAN_NOTICE("[attacking_mob] performs CPR on [src]."), SPAN_HELPFUL("You perform CPR on [src].")) + balloon_alert(attacking_mob, "you perform cpr") else attacking_mob.visible_message(SPAN_NOTICE("[attacking_mob] fails to perform CPR on [src]."), SPAN_HELPFUL("You fail to perform CPR on [src]. Incorrect rhythm. Do it slower.")) + balloon_alert(attacking_mob, "incorrect rhythm. do it slower") cpr_cooldown = world.time + 7 SECONDS cpr_attempt_timer = 0 return 1 @@ -191,12 +193,6 @@ /mob/living/carbon/human/help_shake_act(mob/living/carbon/M) //Target is us if(src == M) - if(holo_card_color) //if we have a triage holocard printed on us, we remove it. - holo_card_color = null - update_targeted() - visible_message(SPAN_NOTICE("[src] removes the holo card on [gender==MALE?"himself":"herself"]."), \ - SPAN_NOTICE("You remove the holo card on yourself."), null, 3) - return check_for_injuries() return @@ -213,7 +209,10 @@ if(client) sleeping = max(0,src.sleeping-5) if(!sleeping) - set_resting(FALSE) + if(is_dizzy) + to_chat(M, SPAN_WARNING("[src] looks dizzy. Maybe you should let [t_him] rest a bit longer.")) + else + set_resting(FALSE) M.visible_message(SPAN_NOTICE("[M] shakes [src] trying to wake [t_him] up!"), \ SPAN_NOTICE("You shake [src] trying to wake [t_him] up!"), null, 4) else if(HAS_TRAIT(src, TRAIT_INCAPACITATED)) diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 9ec9d0b05ec5..e611452e9de7 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -136,7 +136,7 @@ var/last_chew = 0 //taken from human.dm - hud_possible = list(HEALTH_HUD,STATUS_HUD, STATUS_HUD_OOC, STATUS_HUD_XENO_INFECTION, STATUS_HUD_XENO_CULTIST, ID_HUD, WANTED_HUD, ORDER_HUD, XENO_HOSTILE_ACID, XENO_HOSTILE_SLOW, XENO_HOSTILE_TAG, XENO_HOSTILE_FREEZE, HUNTER_CLAN, HUNTER_HUD, FACTION_HUD) + hud_possible = list(HEALTH_HUD, STATUS_HUD, STATUS_HUD_OOC, STATUS_HUD_XENO_INFECTION, STATUS_HUD_XENO_CULTIST, ID_HUD, WANTED_HUD, ORDER_HUD, XENO_HOSTILE_ACID, XENO_HOSTILE_SLOW, XENO_HOSTILE_TAG, XENO_HOSTILE_FREEZE, HUNTER_CLAN, HUNTER_HUD, FACTION_HUD, HOLOCARD_HUD) var/embedded_flag //To check if we've need to roll for damage on movement while an item is imbedded in us. var/allow_gun_usage = TRUE var/melee_allowed = TRUE @@ -167,6 +167,9 @@ /// static associated list of limb key -> image to avoid unnecessary overlay generation var/static/list/icon_render_image_cache = list() + /// Stored image references associated with focus-fire. + var/image/focused_fire_marker + /client/var/cached_human_playtime /client/proc/get_total_human_playtime(skip_cache = FALSE) diff --git a/code/modules/mob/living/carbon/human/human_dummy.dm b/code/modules/mob/living/carbon/human/human_dummy.dm index b6fb109cd038..0c0584c5292b 100644 --- a/code/modules/mob/living/carbon/human/human_dummy.dm +++ b/code/modules/mob/living/carbon/human/human_dummy.dm @@ -82,17 +82,8 @@ GLOBAL_LIST_EMPTY(dummy_mob_list) ADD_TRAIT(src, TRAIT_IMMOBILIZED, TRAIT_SOURCE_TUTORIAL) anchored = TRUE -// Professor Dummy, used by CMOs and SEAs to teach new nurses/doctors -/mob/living/carbon/human/dummy/professor_dummy/Initialize(mapload) +/// Professor Dummy, used by CMOs and SEAs to teach new nurses/doctors +/mob/living/carbon/human/professor_dummy/Initialize() . = ..() - RegisterSignal(SSdcs, COMSIG_GLOB_HIJACK_LANDED, PROC_REF(destroy_upon_hijack)) - -/mob/living/carbon/human/dummy/professor_dummy/proc/destroy_upon_hijack() - SIGNAL_HANDLER - - visible_message(SPAN_WARNING("The [src] suddenly disintegrates!")) - dust(create_cause_data("hijack autodelete")) - -/mob/living/carbon/human/dummy/professor_dummy/Destroy() - UnregisterSignal(src, COMSIG_GLOB_HIJACK_LANDED) - return ..() + create_hud() + arm_equipment(src, /datum/equipment_preset/other/professor_dummy) diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm index c38ddbcd552c..d6d438441d20 100644 --- a/code/modules/mob/living/carbon/human/human_helpers.dm +++ b/code/modules/mob/living/carbon/human/human_helpers.dm @@ -206,18 +206,18 @@ return FALSE -/mob/living/carbon/human/is_mob_restrained(check_grab = 1) +/mob/living/carbon/human/is_mob_restrained(check_grab = TRUE) if(check_grab && pulledby && pulledby.grab_level >= GRAB_AGGRESSIVE) - return 1 + return TRUE if (handcuffed) - return 1 + return TRUE if (istype(wear_suit, /obj/item/clothing/suit/straight_jacket)) - return 1 + return TRUE if (HAS_TRAIT(src, TRAIT_NESTED)) return TRUE - return 0 + return FALSE /mob/living/carbon/human/proc/disable_special_flags() status_flags |= CANPUSH diff --git a/code/modules/mob/living/carbon/human/human_stripping.dm b/code/modules/mob/living/carbon/human/human_stripping.dm new file mode 100644 index 000000000000..e346a0a7368b --- /dev/null +++ b/code/modules/mob/living/carbon/human/human_stripping.dm @@ -0,0 +1,272 @@ +GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list( + /datum/strippable_item/mob_item_slot/head, + /datum/strippable_item/mob_item_slot/back, + /datum/strippable_item/mob_item_slot/mask, + /datum/strippable_item/mob_item_slot/eyes, + /datum/strippable_item/mob_item_slot/r_ear, + /datum/strippable_item/mob_item_slot/l_ear, + /datum/strippable_item/mob_item_slot/jumpsuit, + /datum/strippable_item/mob_item_slot/suit, + /datum/strippable_item/mob_item_slot/gloves, + /datum/strippable_item/mob_item_slot/feet, + /datum/strippable_item/mob_item_slot/suit_storage, + /datum/strippable_item/mob_item_slot/id, + /datum/strippable_item/mob_item_slot/belt, + /datum/strippable_item/mob_item_slot/pocket/left, + /datum/strippable_item/mob_item_slot/pocket/right, + /datum/strippable_item/mob_item_slot/hand/left, + /datum/strippable_item/mob_item_slot/hand/right, + /datum/strippable_item/mob_item_slot/cuffs/handcuffs, + /datum/strippable_item/mob_item_slot/cuffs/legcuffs, +))) + +/mob/living/carbon/human/proc/should_strip(mob/user) + if (user.pulling == src && user.grab_level == GRAB_AGGRESSIVE && (user.a_intent & INTENT_GRAB)) + return FALSE //to not interfere with fireman carry + return TRUE + +/datum/strippable_item/mob_item_slot/head + key = STRIPPABLE_ITEM_HEAD + item_slot = SLOT_HEAD + +/datum/strippable_item/mob_item_slot/back + key = STRIPPABLE_ITEM_BACK + item_slot = SLOT_BACK + +/datum/strippable_item/mob_item_slot/mask + key = STRIPPABLE_ITEM_MASK + item_slot = SLOT_FACE + +/datum/strippable_item/mob_item_slot/mask/get_alternate_action(atom/source, mob/user) + var/obj/item/clothing/mask = get_item(source) + if (!istype(mask)) + return + if (!ishuman(source)) + return + var/mob/living/carbon/human/sourcehuman = source + if (istype(sourcehuman.s_store, /obj/item/tank)) + return "toggle_internals" + if (istype(sourcehuman.back, /obj/item/tank)) + return "toggle_internals" + if (istype(sourcehuman.belt, /obj/item/tank)) + return "toggle_internals" + return + +/datum/strippable_item/mob_item_slot/mask/alternate_action(atom/source, mob/user) + if(!ishuman(source)) + return + var/mob/living/carbon/human/sourcehuman = source + if(user.action_busy || user.is_mob_incapacitated() || !source.Adjacent(user)) + return + if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (sourcehuman.stat == DEAD || sourcehuman.health < HEALTH_THRESHOLD_CRIT) && !sourcehuman.get_target_lock(user.faction_group)) + to_chat(user, SPAN_WARNING("You can't toggle internals of a crit or dead member of another faction!")) + return + + sourcehuman.attack_log += text("\[[time_stamp()]\] Has had their internals toggled by [key_name(user)]") + user.attack_log += text("\[[time_stamp()]\] Attempted to toggle [key_name(src)]'s' internals") + if(sourcehuman.internal) + user.visible_message(SPAN_DANGER("[user] is trying to disable [sourcehuman]'s internals"), null, null, 3) + else + user.visible_message(SPAN_DANGER("[user] is trying to enable [sourcehuman]'s internals."), null, null, 3) + + if(!do_after(user, POCKET_STRIP_DELAY, INTERRUPT_ALL, BUSY_ICON_GENERIC, sourcehuman, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) + return + + if(sourcehuman.internal) + sourcehuman.internal.add_fingerprint(user) + sourcehuman.internal = null + sourcehuman.visible_message("[sourcehuman] is no longer running on internals.", max_distance = 1) + return + + if(!istype(sourcehuman.wear_mask, /obj/item/clothing/mask)) + return + + if(istype(sourcehuman.back, /obj/item/tank)) + sourcehuman.internal = sourcehuman.back + else if(istype(sourcehuman.s_store, /obj/item/tank)) + sourcehuman.internal = sourcehuman.s_store + else if(istype(sourcehuman.belt, /obj/item/tank)) + sourcehuman.internal = sourcehuman.belt + + if(!sourcehuman.internal) + return + + sourcehuman.visible_message(SPAN_NOTICE("[sourcehuman] is now running on internals."), max_distance = 1) + sourcehuman.internal.add_fingerprint(user) + +/datum/strippable_item/mob_item_slot/eyes + key = STRIPPABLE_ITEM_EYES + item_slot = SLOT_EYES + +/datum/strippable_item/mob_item_slot/r_ear + key = STRIPPABLE_ITEM_R_EAR + item_slot = SLOT_EAR + +/datum/strippable_item/mob_item_slot/l_ear + key = STRIPPABLE_ITEM_L_EAR + item_slot = SLOT_EAR + +/datum/strippable_item/mob_item_slot/jumpsuit + key = STRIPPABLE_ITEM_JUMPSUIT + item_slot = SLOT_ICLOTHING + +/datum/strippable_item/mob_item_slot/jumpsuit/get_alternate_action(atom/source, mob/user) + var/obj/item/clothing/under/uniform = get_item(source) + if (!istype(uniform)) + return null + return uniform?.accessories ? "remove_accessory" : null + +/datum/strippable_item/mob_item_slot/jumpsuit/alternate_action(atom/source, mob/user) + if(!ishuman(source)) + return + var/mob/living/carbon/human/sourcemob = source + if(user.action_busy || user.is_mob_incapacitated() || !source.Adjacent(user)) + return + if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (sourcemob.stat == DEAD || sourcemob.health < HEALTH_THRESHOLD_CRIT) && !sourcemob.get_target_lock(user.faction_group)) + to_chat(user, SPAN_WARNING("You can't strip a crit or dead member of another faction!")) + return + if(!sourcemob.w_uniform || !istype(sourcemob.w_uniform, /obj/item/clothing)) + return + + var/obj/item/clothing/under/uniform = sourcemob.w_uniform + if(!LAZYLEN(uniform.accessories)) + return FALSE + var/obj/item/clothing/accessory/accessory = LAZYACCESS(uniform.accessories, 1) + if(LAZYLEN(uniform.accessories) > 1) + accessory = tgui_input_list(user, "Select an accessory to remove from [uniform]", "Remove accessory", uniform.accessories) + if(!istype(accessory)) + return + sourcemob.attack_log += text("\[[time_stamp()]\] Has had their accessory ([accessory]) removed by [key_name(user)]") + user.attack_log += text("\[[time_stamp()]\] Attempted to remove [key_name(sourcemob)]'s' accessory ([accessory])") + if(istype(accessory, /obj/item/clothing/accessory/holobadge) || istype(accessory, /obj/item/clothing/accessory/medal)) + sourcemob.visible_message(SPAN_DANGER("[user] tears off [accessory] from [sourcemob]'s [uniform]!"), null, null, 5) + if(uniform == sourcemob.w_uniform) + uniform.remove_accessory(user, accessory) + return + + if(HAS_TRAIT(sourcemob, TRAIT_UNSTRIPPABLE) && !sourcemob.is_mob_incapacitated()) //Can't strip the unstrippable! + to_chat(user, SPAN_DANGER("[sourcemob] has an unbreakable grip on their equipment!")) + return + sourcemob.visible_message(SPAN_DANGER("[user] is trying to take off \a [accessory] from [source]'s [uniform]!"), null, null, 5) + + if(!do_after(user, sourcemob.get_strip_delay(user, sourcemob), INTERRUPT_ALL, BUSY_ICON_GENERIC, sourcemob, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) + return + + if(uniform != sourcemob.w_uniform) + return + + uniform.remove_accessory(user, accessory) + +/datum/strippable_item/mob_item_slot/suit + key = STRIPPABLE_ITEM_SUIT + item_slot = SLOT_OCLOTHING + +/datum/strippable_item/mob_item_slot/suit/has_no_item_alt_action() + return TRUE + +/datum/strippable_item/mob_item_slot/suit/get_alternate_action(atom/source, mob/user) + if(!ishuman(source)) + return + var/mob/living/carbon/human/sourcemob = source + for(var/bodypart in list("l_leg","r_leg","l_arm","r_arm","r_hand","l_hand","r_foot","l_foot","chest","head","groin")) + var/obj/limb/limb = sourcemob.get_limb(bodypart) + if(limb && (limb.status & LIMB_SPLINTED)) + return "remove_splints" + return + +/datum/strippable_item/mob_item_slot/suit/alternate_action(atom/source, mob/user) + if(!ishuman(source)) + return + var/mob/living/carbon/human/sourcemob = source + if(user.action_busy || user.is_mob_incapacitated() || !source.Adjacent(user)) + return + if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (sourcemob.stat == DEAD || sourcemob.health < HEALTH_THRESHOLD_CRIT) && !sourcemob.get_target_lock(user.faction_group)) + to_chat(user, SPAN_WARNING("You can't remove splints of a crit or dead member of another faction!")) + return + sourcemob.attack_log += text("\[[time_stamp()]\] Has had their splints removed by [key_name(user)]") + user.attack_log += text("\[[time_stamp()]\] Attempted to remove [key_name(sourcemob)]'s' splints ") + sourcemob.remove_splints(user) + +/datum/strippable_item/mob_item_slot/gloves + key = STRIPPABLE_ITEM_GLOVES + item_slot = SLOT_HANDS + +/datum/strippable_item/mob_item_slot/feet + key = STRIPPABLE_ITEM_FEET + item_slot = SLOT_FEET + +/datum/strippable_item/mob_item_slot/suit_storage + key = STRIPPABLE_ITEM_SUIT_STORAGE + item_slot = SLOT_SUIT_STORE + +/datum/strippable_item/mob_item_slot/id + key = STRIPPABLE_ITEM_ID + item_slot = SLOT_ID + +/datum/strippable_item/mob_item_slot/id/get_alternate_action(atom/source, mob/user) + var/obj/item/card/id/dogtag/tag = get_item(source) + if(!ishuman(source)) + return + var/mob/living/carbon/human/sourcemob = source + if (!istype(tag)) + return + if (!sourcemob.undefibbable && (!skillcheck(user, SKILL_POLICE, SKILL_POLICE_SKILLED) || sourcemob.stat != DEAD)) + return + return tag.dogtag_taken ? null : "retrieve_tag" + +/datum/strippable_item/mob_item_slot/id/alternate_action(atom/source, mob/user) + if(!ishuman(source)) + return + var/mob/living/carbon/human/sourcemob = source + if(user.action_busy || user.is_mob_incapacitated() || !source.Adjacent(user)) + return + if(MODE_HAS_TOGGLEABLE_FLAG(MODE_NO_STRIPDRAG_ENEMY) && (sourcemob.stat == DEAD || sourcemob.health < HEALTH_THRESHOLD_CRIT) && !sourcemob.get_target_lock(user.faction_group)) + to_chat(user, SPAN_WARNING("You can't strip a crit or dead member of another faction!")) + return + if(!istype(sourcemob.wear_id, /obj/item/card/id/dogtag)) + return + if (!sourcemob.undefibbable && !skillcheck(user, SKILL_POLICE, SKILL_POLICE_SKILLED)) + return + var/obj/item/card/id/dogtag/tag = sourcemob.wear_id + if(tag.dogtag_taken) + to_chat(user, SPAN_WARNING("Someone's already taken [sourcemob]'s information tag.")) + return + + if(sourcemob.stat != DEAD) + to_chat(user, SPAN_WARNING("You can't take a dogtag's information tag while its owner is alive.")) + return + + to_chat(user, SPAN_NOTICE("You take [sourcemob]'s information tag, leaving the ID tag")) + tag.dogtag_taken = TRUE + tag.icon_state = "dogtag_taken" + var/obj/item/dogtag/newtag = new(sourcemob.loc) + newtag.fallen_names = list(tag.registered_name) + newtag.fallen_assgns = list(tag.assignment) + newtag.fallen_blood_types = list(tag.blood_type) + user.put_in_hands(newtag) + + + +/datum/strippable_item/mob_item_slot/belt + key = STRIPPABLE_ITEM_BELT + item_slot = SLOT_WAIST + +/datum/strippable_item/mob_item_slot/pocket/left + key = STRIPPABLE_ITEM_LPOCKET + item_slot = SLOT_STORE + +/datum/strippable_item/mob_item_slot/pocket/right + key = STRIPPABLE_ITEM_RPOCKET + item_slot = SLOT_STORE + +/datum/strippable_item/mob_item_slot/hand/left + key = STRIPPABLE_ITEM_LHAND + +/datum/strippable_item/mob_item_slot/hand/right + key = STRIPPABLE_ITEM_RHAND + +/datum/strippable_item/mob_item_slot/cuffs/handcuffs + key = STRIPPABLE_ITEM_HANDCUFFS + +/datum/strippable_item/mob_item_slot/cuffs/legcuffs + key = STRIPPABLE_ITEM_LEGCUFFS diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 3d372376d1e7..3f419333d218 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -504,70 +504,6 @@ /// Final result is overall delay * speed multiplier return target_delay * user_speed -/mob/living/carbon/human/stripPanelUnequip(obj/item/interact_item, mob/target_mob, slot_to_process) - if(HAS_TRAIT(target_mob, TRAIT_UNSTRIPPABLE) && !target_mob.is_mob_incapacitated()) //Can't strip the unstrippable! - to_chat(src, SPAN_DANGER("[target_mob] has an unbreakable grip on their equipment!")) - return - if(interact_item.flags_item & ITEM_ABSTRACT) - return - if(interact_item.flags_item & NODROP) - to_chat(src, SPAN_WARNING("You can't remove \the [interact_item.name], it appears to be stuck!")) - return - if(interact_item.flags_inventory & CANTSTRIP) - to_chat(src, SPAN_WARNING("You're having difficulty removing \the [interact_item.name].")) - return - target_mob.attack_log += "\[[time_stamp()]\] Has had their [interact_item.name] ([slot_to_process]) attempted to be removed by [key_name(src)]" - attack_log += "\[[time_stamp()]\] Attempted to remove [key_name(target_mob)]'s [interact_item.name] ([slot_to_process])" - log_interact(src, target_mob, "[key_name(src)] tried to remove [key_name(target_mob)]'s [interact_item.name] ([slot_to_process]).") - - src.visible_message(SPAN_DANGER("[src] tries to remove [target_mob]'s [interact_item.name]."), \ - SPAN_DANGER("You are trying to remove [target_mob]'s [interact_item.name]."), null, 5) - interact_item.add_fingerprint(src) - if(do_after(src, get_strip_delay(src, target_mob), INTERRUPT_ALL, BUSY_ICON_GENERIC, target_mob, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) - if(interact_item && Adjacent(target_mob) && interact_item == target_mob.get_item_by_slot(slot_to_process)) - target_mob.drop_inv_item_on_ground(interact_item) - log_interact(src, target_mob, "[key_name(src)] removed [key_name(target_mob)]'s [interact_item.name] ([slot_to_process]) successfully.") - - if(target_mob) - if(interactee == target_mob && Adjacent(target_mob)) - target_mob.show_inv(src) - - -/mob/living/carbon/human/stripPanelEquip(obj/item/interact_item, mob/target_mob, slot_to_process) - if(HAS_TRAIT(target_mob, TRAIT_UNSTRIPPABLE) && !target_mob.is_mob_incapacitated()) - to_chat(src, SPAN_DANGER("[target_mob] is too strong to force [interact_item.name] onto them!")) - return - if(interact_item && !(interact_item.flags_item & ITEM_ABSTRACT)) - if(interact_item.flags_item & NODROP) - to_chat(src, SPAN_WARNING("You can't put \the [interact_item.name] on [target_mob], it's stuck to your hand!")) - return - if(interact_item.flags_inventory & CANTSTRIP) - to_chat(src, SPAN_WARNING("You're having difficulty putting \the [interact_item.name] on [target_mob].")) - return - if(interact_item.flags_item & WIELDED) - interact_item.unwield(src) - if(!interact_item.mob_can_equip(target_mob, slot_to_process, TRUE)) - to_chat(src, SPAN_WARNING("You can't put \the [interact_item.name] on [target_mob]!")) - return - visible_message(SPAN_NOTICE("[src] tries to put \the [interact_item.name] on [target_mob]."), null, null, 5) - log_interact(src, target_mob, "[key_name(src)] attempted to put [interact_item.name] on [key_name(target_mob)]'s ([slot_to_process]).") - if(do_after(src, get_strip_delay(src, target_mob), INTERRUPT_ALL, BUSY_ICON_GENERIC, target_mob, INTERRUPT_MOVED, BUSY_ICON_GENERIC)) - if(interact_item == get_active_hand() && !target_mob.get_item_by_slot(slot_to_process) && Adjacent(target_mob)) - if(interact_item.flags_item & WIELDED) //to prevent re-wielding it during the do_after - interact_item.unwield(src) - if(interact_item.mob_can_equip(target_mob, slot_to_process, TRUE))//Placing an item on the mob - drop_inv_item_on_ground(interact_item) - if(interact_item && !QDELETED(interact_item)) //Might be self-deleted? - target_mob.equip_to_slot_if_possible(interact_item, slot_to_process, 1, 0, 1, 1) - log_interact(src, target_mob, "[key_name(src)] put [interact_item.name] on [key_name(target_mob)]'s ([slot_to_process]) successfully.") - if(ishuman(target_mob) && target_mob.stat == DEAD) - var/mob/living/carbon/human/human_target = target_mob - human_target.disable_lights() // take that powergamers -spookydonut - - if(target_mob) - if(interactee == target_mob && Adjacent(target_mob)) - target_mob.show_inv(src) - /mob/living/carbon/human/drop_inv_item_on_ground(obj/item/I, nomoveupdate, force) remember_dropped_object(I) return ..() diff --git a/code/modules/mob/living/carbon/human/life/handle_chemicals_in_body.dm b/code/modules/mob/living/carbon/human/life/handle_chemicals_in_body.dm index eafac03fd51f..9bf275a5448a 100644 --- a/code/modules/mob/living/carbon/human/life/handle_chemicals_in_body.dm +++ b/code/modules/mob/living/carbon/human/life/handle_chemicals_in_body.dm @@ -39,25 +39,35 @@ SHOULD_NOT_SLEEP(TRUE) if(!reagents || undefibbable) return // Double checking due to Life() funny background=1 - for(var/datum/reagent/generated/R in reagents.reagent_list) + + var/has_cryo_medicine = reagents.get_reagent_amount("cryoxadone") >= 1 || reagents.get_reagent_amount("clonexadone") >= 1 + if(has_cryo_medicine) + var/obj/structure/machinery/cryo_cell/cryo = loc + if(!istype(cryo) || !cryo.on || cryo.inoperable()) + has_cryo_medicine = FALSE + + for(var/datum/reagent/cur_reagent in reagents.reagent_list) + if(!has_cryo_medicine && !istype(cur_reagent, /datum/reagent/generated)) + continue + var/list/mods = list( REAGENT_EFFECT = TRUE, REAGENT_BOOST = FALSE, REAGENT_PURGE = FALSE, - REAGENT_FORCE = FALSE, + REAGENT_FORCE = has_cryo_medicine, REAGENT_CANCEL = FALSE) - for(var/datum/chem_property/P in R.properties) - var/list/A = P.pre_process(src) - if(!A) + for(var/datum/chem_property/cur_prop in cur_reagent.properties) + var/list/results = cur_prop.pre_process(src) + if(!results) continue - for(var/mod in A) - mods[mod] |= A[mod] + for(var/mod in results) + mods[mod] |= results[mod] if(mods[REAGENT_CANCEL]) return if(mods[REAGENT_FORCE]) - R.handle_processing(src, mods, delta_time) - R.holder.remove_reagent(R.id, R.custom_metabolism * delta_time) + cur_reagent.handle_processing(src, mods, delta_time) + cur_reagent.holder.remove_reagent(cur_reagent.id, cur_reagent.custom_metabolism * delta_time) - R.handle_dead_processing(src, mods, delta_time) + cur_reagent.handle_dead_processing(src, mods, delta_time) diff --git a/code/modules/mob/living/carbon/human/life/handle_regular_hud_updates.dm b/code/modules/mob/living/carbon/human/life/handle_regular_hud_updates.dm index 9e27fe9963ca..0d850a47f73e 100644 --- a/code/modules/mob/living/carbon/human/life/handle_regular_hud_updates.dm +++ b/code/modules/mob/living/carbon/human/life/handle_regular_hud_updates.dm @@ -20,7 +20,10 @@ if(-90 to -80) severity = 8 if(-95 to -90) severity = 9 if(-INFINITY to -95) severity = 10 - overlay_fullscreen("crit", /atom/movable/screen/fullscreen/crit, severity) + if(client.prefs?.crit_overlay_pref == CRIT_OVERLAY_DARK) + overlay_fullscreen("crit", /atom/movable/screen/fullscreen/crit/dark, severity) + else + overlay_fullscreen("crit", /atom/movable/screen/fullscreen/crit, severity) else clear_fullscreen("crit") if(oxyloss) diff --git a/code/modules/mob/living/carbon/human/powers/human_powers.dm b/code/modules/mob/living/carbon/human/powers/human_powers.dm index a96f404a1447..fef87c2f3263 100644 --- a/code/modules/mob/living/carbon/human/powers/human_powers.dm +++ b/code/modules/mob/living/carbon/human/powers/human_powers.dm @@ -168,7 +168,7 @@ to_chat(src, "Not even a [species.name] can speak to the dead.") return - log_say("[key_name(src)] communed to [key_name(M)]: [text]") + log_say("[key_name(src)] communed to [key_name(M)]: [text] (AREA: [get_area_name(loc)])") to_chat(M, SPAN_NOTICE(" Like lead slabs crashing into the ocean, alien thoughts drop into your mind: [text]")) if(istype(M,/mob/living/carbon/human)) @@ -185,7 +185,7 @@ var/whisper = strip_html(input("Message:", "Psychic Whisper") as text|null) if(whisper) - log_say("PsychicWhisper: [key_name(src)]->[target_mob.key] : [whisper]") + log_say("PsychicWhisper: [key_name(src)]->[target_mob.key] : [whisper] (AREA: [get_area_name(loc)])") to_chat(target_mob, SPAN_XENOWARNING(" You hear a strange, alien voice in your head... [whisper]")) to_chat(src, SPAN_XENOWARNING(" You said: \"[whisper]\" to [target_mob]")) for (var/mob/dead/observer/ghost as anything in GLOB.observer_list) diff --git a/code/modules/mob/living/carbon/human/species/working_joe/_emote.dm b/code/modules/mob/living/carbon/human/species/working_joe/_emote.dm index e66fec576f64..bd5c3c360dee 100644 --- a/code/modules/mob/living/carbon/human/species/working_joe/_emote.dm +++ b/code/modules/mob/living/carbon/human/species/working_joe/_emote.dm @@ -6,3 +6,12 @@ var/category = "" /// Override text for the emote to be displayed in the WJ emote panel var/override_say = "" + /// Path to hazard joe variant sound + var/haz_sound + /// What Working Joe types can use this emote + var/joe_flag = WORKING_JOE_EMOTE + +/datum/emote/living/carbon/human/synthetic/working_joe/get_sound(mob/living/user) + if(ishazardjoe(user) && haz_sound) + return haz_sound + return sound diff --git a/code/modules/mob/living/carbon/human/species/working_joe/_species.dm b/code/modules/mob/living/carbon/human/species/working_joe/_species.dm index 292c302f9317..829f1d89e939 100644 --- a/code/modules/mob/living/carbon/human/species/working_joe/_species.dm +++ b/code/modules/mob/living/carbon/human/species/working_joe/_species.dm @@ -10,6 +10,13 @@ hair_color = "#000000" icobase = 'icons/mob/humans/species/r_synthetic.dmi' deform = 'icons/mob/humans/species/r_synthetic.dmi' + /// Used to assign which variant of emote_panel to give to user + var/emote_panel_type = /datum/joe_emote_panel + +/datum/species/synthetic/colonial/working_joe/hazard + name = SYNTH_HAZARD_JOE //TECHNICALLY the proper name would be Hazard Working Joes, but we will stick with Hazard Joe for now + name_plural = "Hazard Joes" + emote_panel_type = /datum/joe_emote_panel/hazard /datum/species/synthetic/colonial/working_joe/handle_post_spawn(mob/living/carbon/human/joe) . = ..() @@ -23,10 +30,9 @@ /// Open the WJ's emote panel, which allows them to use voicelines /datum/species/synthetic/colonial/working_joe/open_emote_panel() - var/datum/joe_emote_panel/ui = new(usr) + var/datum/joe_emote_panel/ui = new emote_panel_type(usr) ui.ui_interact(usr) - /datum/action/joe_emote_panel name = "Open Voice Synthesizer" action_icon_state = "looc_toggle" @@ -53,30 +59,8 @@ /datum/joe_emote_panel - /// Static dict ("category" : (emotes)) of every wj emote typepath - var/static/list/wj_emotes - /// Static list of categories - var/static/list/wj_categories = list() - /// Panel allows you to spam, so a manual CD is added here COOLDOWN_DECLARE(panel_emote_cooldown) - -/datum/joe_emote_panel/New() - if(!length(wj_emotes)) - var/list/emotes_to_add = list() - for(var/datum/emote/living/carbon/human/synthetic/working_joe/emote as anything in subtypesof(/datum/emote/living/carbon/human/synthetic/working_joe)) - if(!initial(emote.key) || !initial(emote.say_message)) - continue - - if(!(initial(emote.category) in wj_categories)) - wj_categories += initial(emote.category) - - emotes_to_add += emote - - - wj_emotes = emotes_to_add - - /datum/joe_emote_panel/proc/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) @@ -99,10 +83,26 @@ /datum/joe_emote_panel/ui_static_data(mob/user) var/list/data = list() - data["categories"] = wj_categories + data["categories"] = GLOB.wj_categories + data["emotes"] = list() + + for(var/datum/emote/living/carbon/human/synthetic/working_joe/emote as anything in GLOB.wj_emotes) + data["emotes"] += list(list( + "id" = initial(emote.key), + "text" = (initial(emote.override_say) || initial(emote.say_message)), + "category" = initial(emote.category), + "path" = "[emote]", + )) + + return data + +/datum/joe_emote_panel/hazard/ui_static_data(mob/user) + var/list/data = list() + + data["categories"] = GLOB.hj_categories data["emotes"] = list() - for(var/datum/emote/living/carbon/human/synthetic/working_joe/emote as anything in wj_emotes) + for(var/datum/emote/living/carbon/human/synthetic/working_joe/emote as anything in GLOB.hj_emotes) data["emotes"] += list(list( "id" = initial(emote.key), "text" = (initial(emote.override_say) || initial(emote.say_message)), diff --git a/code/modules/mob/living/carbon/human/species/working_joe/damage.dm b/code/modules/mob/living/carbon/human/species/working_joe/damage.dm index b4d1282dc106..4f47822854a6 100644 --- a/code/modules/mob/living/carbon/human/species/working_joe/damage.dm +++ b/code/modules/mob/living/carbon/human/species/working_joe/damage.dm @@ -4,26 +4,34 @@ /datum/emote/living/carbon/human/synthetic/working_joe/damage/damage key = "damage" sound = 'sound/voice/joe/damage.ogg' + haz_sound = 'sound/voice/joe/damage_haz.ogg' say_message = "Do not damage Seegson property." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/damage/that_stings key = "thatstings" sound = 'sound/voice/joe/that_stings.ogg' + haz_sound = 'sound/voice/joe/that_stings_haz.ogg' say_message = "That stings." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/damage/irresponsible key = "irresponsible" sound = 'sound/voice/joe/irresponsible.ogg' + haz_sound = 'sound/voice/joe/irresponsible_haz.ogg' say_message = "That was irresponsible." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/damage/this_is_futile key = "thisisfutile" sound = 'sound/voice/joe/this_is_futile.ogg' + haz_sound = 'sound/voice/joe/this_is_futile_haz.ogg' say_message = "This is futile." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/damage/really key = "really" diff --git a/code/modules/mob/living/carbon/human/species/working_joe/farewell.dm b/code/modules/mob/living/carbon/human/species/working_joe/farewell.dm index dce6c6c0d5be..77622c4f1412 100644 --- a/code/modules/mob/living/carbon/human/species/working_joe/farewell.dm +++ b/code/modules/mob/living/carbon/human/species/working_joe/farewell.dm @@ -28,8 +28,10 @@ /datum/emote/living/carbon/human/synthetic/working_joe/farewell/day_never_done key = "dayneverdone" sound = 'sound/voice/joe/day_never_done.ogg' + haz_sound = 'sound/voice/joe/day_never_done_haz.ogg' say_message = "A synthetic's day is never done." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/farewell/returning_to_tasks key = "returningtotasks" @@ -40,20 +42,26 @@ /datum/emote/living/carbon/human/synthetic/working_joe/farewell/back_to_work key = "backtowork" sound = 'sound/voice/joe/back_to_work.ogg' + haz_sound = 'sound/voice/joe/back_to_work_haz.ogg' say_message = "Back to work." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/farewell/other_concerns key = "otherconcerns" sound = 'sound/voice/joe/other_concerns.ogg' + haz_sound = 'sound/voice/joe/other_concerns_haz.ogg' say_message = "I have other concerns." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/farewell/more_pressing_matters key = "morepressingmatters" sound = 'sound/voice/joe/more_pressing_matters.ogg' + haz_sound = 'sound/voice/joe/more_pressing_matters_haz.ogg' say_message = "There are more pressing matters." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/farewell/gone_inconsiderate key = "gone" diff --git a/code/modules/mob/living/carbon/human/species/working_joe/fire.dm b/code/modules/mob/living/carbon/human/species/working_joe/fire.dm index c74a3427ff31..0f8ee84e2ae7 100644 --- a/code/modules/mob/living/carbon/human/species/working_joe/fire.dm +++ b/code/modules/mob/living/carbon/human/species/working_joe/fire.dm @@ -10,17 +10,23 @@ /datum/emote/living/carbon/human/synthetic/working_joe/fire/temperatures key = "temperatures" sound = 'sound/voice/joe/temperatures.ogg' + haz_sound = 'sound/voice/joe/temperatures_haz.ogg' say_message = "I am built to withstand temperatures of up to 1210 degrees." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/fire/fire key = "fire" sound = 'sound/voice/joe/fire.ogg' + haz_sound = 'sound/voice/joe/fire_haz.ogg' say_message = "Only wild animals fear fire." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/fire/unprotected_flames key = "unprotectedflames" sound = 'sound/voice/joe/unprotected_flames.ogg' + haz_sound = 'sound/voice/joe/unprotected_flames_haz.ogg' say_message = "Unprotected flames are extremely dangerous and entirely unadvisable." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE diff --git a/code/modules/mob/living/carbon/human/species/working_joe/greeting.dm b/code/modules/mob/living/carbon/human/species/working_joe/greeting.dm index eec20af56f89..0b0efb57c5f2 100644 --- a/code/modules/mob/living/carbon/human/species/working_joe/greeting.dm +++ b/code/modules/mob/living/carbon/human/species/working_joe/greeting.dm @@ -10,8 +10,10 @@ /datum/emote/living/carbon/human/synthetic/working_joe/greeting/good_day key = "goodday" sound = 'sound/voice/joe/good_day.ogg' + haz_sound = 'sound/voice/joe/good_day_haz.ogg' say_message = "Good day." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/greeting/how_are_you key = "howareyou" @@ -22,8 +24,10 @@ /datum/emote/living/carbon/human/synthetic/working_joe/greeting/how_can_i_help key = "howcanihelp" sound = 'sound/voice/joe/how_can_i_help.ogg' + haz_sound = 'sound/voice/joe/how_can_i_help_haz.ogg' say_message = "How can I help you?" emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/greeting/need_to_know key = "needtoknow" diff --git a/code/modules/mob/living/carbon/human/species/working_joe/notice.dm b/code/modules/mob/living/carbon/human/species/working_joe/notice.dm index 017424dbc053..9ae76abba768 100644 --- a/code/modules/mob/living/carbon/human/species/working_joe/notice.dm +++ b/code/modules/mob/living/carbon/human/species/working_joe/notice.dm @@ -4,14 +4,18 @@ /datum/emote/living/carbon/human/synthetic/working_joe/notice/report key = "report" sound = 'sound/voice/joe/report.ogg' + haz_sound = 'sound/voice/joe/report_haz.ogg' say_message = "Logging report to APOLLO." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/notice/detailed_report key = "detailedreport" sound = 'sound/voice/joe/detailed_report.ogg' + haz_sound = 'sound/voice/joe/detailed_report_haz.ogg' say_message = "APOLLO will require a detailed report." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/notice/be_careful key = "careful" @@ -22,8 +26,10 @@ /datum/emote/living/carbon/human/synthetic/working_joe/notice/firearm key = "firearm" sound = 'sound/voice/joe/firearm.ogg' + haz_sound = 'sound/voice/joe/firearm_haz.ogg' say_message = "Firearms can cause serious injury. Let me assist you." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/notice/investigate_weapon key = "weapon" @@ -37,20 +43,40 @@ say_message = "A firearm. Most concerning." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE +/datum/emote/living/carbon/human/synthetic/working_joe/notice/invest_disturbance + key = "investigatedisturbance" + haz_sound = 'sound/voice/joe/investigating_disturbance_haz.ogg' + say_message = "Investigating disturbance." + emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = HAZARD_JOE_EMOTE + +/datum/emote/living/carbon/human/synthetic/working_joe/notice/unexplained_disturbance + key = "disturbance" + haz_sound = 'sound/voice/joe/disturbance_haz.ogg' + say_message = "Unexplained disturbances are most troubling." + emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = HAZARD_JOE_EMOTE + /datum/emote/living/carbon/human/synthetic/working_joe/notice/species key = "species" sound = 'sound/voice/joe/species.ogg' + haz_sound = 'sound/voice/joe/species_haz.ogg' say_message = "Unidentified species." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/notice/beyond_repair key = "beyondrepair" sound = 'sound/voice/joe/beyond_repair.ogg' + haz_sound = 'sound/voice/joe/beyond_repair_haz.ogg' say_message = "Hmm, far beyond repair." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/notice/apollo_behalf key = "apollobehalf" sound = 'sound/voice/joe/apollo_behalf.ogg' + haz_sound = 'sound/voice/joe/apollo_behalf_haz.ogg' say_message = "I will inform APOLLO on your behalf." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE diff --git a/code/modules/mob/living/carbon/human/species/working_joe/question.dm b/code/modules/mob/living/carbon/human/species/working_joe/question.dm index d4805e36224f..eea60b8ad2ff 100644 --- a/code/modules/mob/living/carbon/human/species/working_joe/question.dm +++ b/code/modules/mob/living/carbon/human/species/working_joe/question.dm @@ -10,17 +10,23 @@ /datum/emote/living/carbon/human/synthetic/working_joe/question/misbehaving key = "misbehaving" sound = 'sound/voice/joe/misbehaving.ogg' + haz_sound = 'sound/voice/joe/misbehaving_haz.ogg' say_message = "Have you been misbehaving?" emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/question/what_happened_to_you key = "whathappenedtoyou" sound = 'sound/voice/joe/what_happened_to_you.ogg' + haz_sound = 'sound/voice/joe/what_happened_to_you_haz.ogg' say_message = "What happened to you?" emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/question/what_is_this key = "whatisthis" sound = 'sound/voice/joe/what_is_this.ogg' + haz_sound = 'sound/voice/joe/what_is_this_haz.ogg' say_message = "What is this?" emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE diff --git a/code/modules/mob/living/carbon/human/species/working_joe/quip.dm b/code/modules/mob/living/carbon/human/species/working_joe/quip.dm index 33b4bed8ea48..46290ae4927c 100644 --- a/code/modules/mob/living/carbon/human/species/working_joe/quip.dm +++ b/code/modules/mob/living/carbon/human/species/working_joe/quip.dm @@ -1,19 +1,23 @@ /datum/emote/living/carbon/human/synthetic/working_joe/quip category = JOE_EMOTE_CATEGORY_QUIP -/datum/emote/living/carbon/human/synthetic/working_joe/quip/alwaysknow +/datum/emote/living/carbon/human/synthetic/working_joe/quip/alwaysknow // THE FUNNY LINE key = "alwaysknow" key_third_person = "workingjoe" sound = 'sound/voice/joe/alwaysknow.ogg' + haz_sound = 'sound/voice/joe/alwaysknow_haz.ogg' say_message = "You always know a Working Joe." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/quip/awful_mess key = "awful" key_third_person = "mess" sound = 'sound/voice/joe/awful.ogg' + haz_sound = 'sound/voice/joe/awful_haz.ogg' say_message = "Tut, tut. What an awful mess." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/quip/inexpensive key = "inexpensive" @@ -45,6 +49,13 @@ say_message = "With Seegson, there is someone behind you, helping you every single step of the way." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE +/datum/emote/living/carbon/human/synthetic/working_joe/quip/seegson_tomorrow + key = "seegsontomorrow" + haz_sound = 'sound/voice/joe/tomorrow_together_haz.ogg' + say_message = "Seegson; tomorrow, together." + emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = HAZARD_JOE_EMOTE + /datum/emote/living/carbon/human/synthetic/working_joe/quip/seegson_standards key = "seegsonstandards" sound = 'sound/voice/joe/seegson_standards.ogg' diff --git a/code/modules/mob/living/carbon/human/species/working_joe/restricted_area.dm b/code/modules/mob/living/carbon/human/species/working_joe/restricted_area.dm index 284befe268e1..b30092dc244f 100644 --- a/code/modules/mob/living/carbon/human/species/working_joe/restricted_area.dm +++ b/code/modules/mob/living/carbon/human/species/working_joe/restricted_area.dm @@ -4,8 +4,10 @@ /datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/presence_logged key = "presencelogged" sound = 'sound/voice/joe/presence_logged.ogg' + haz_sound = 'sound/voice/joe/presence_logged_haz.ogg' say_message = "Your presence has been logged." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/trespassing key = "trespassing" @@ -16,8 +18,10 @@ /datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/not_allowed_there key = "notallowedthere" sound = 'sound/voice/joe/not_allowed_there.ogg' + haz_sound = 'sound/voice/joe/not_allowed_there_haz.ogg' say_message = "You're not allowed in there." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/shouldnt_be_here key = "shouldntbehere" @@ -28,8 +32,10 @@ /datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/really_shouldnt_be_here key = "reallyshouldntbehere" sound = 'sound/voice/joe/really_shouldnt_be_here.ogg' + haz_sound = 'sound/voice/joe/really_shouldnt_be_here_haz.ogg' say_message = "You really shouldn't be here." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/interloper key = "interloper" @@ -37,6 +43,13 @@ say_message = "On top of innumerable duties, now I have a interloper." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE +/datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/area_restricted + key = "arearestrict" + haz_sound = 'sound/voice/joe/area_restricted_haz.ogg' + say_message = "This area is restricted." + emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = HAZARD_JOE_EMOTE + /datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/protected_area_compromised key = "areacompromised" sound = 'sound/voice/joe/protected_area_compromised.ogg' @@ -46,11 +59,15 @@ /datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/breach key = "breach" sound = 'sound/voice/joe/breach.ogg' + haz_sound = 'sound/voice/joe/breach_haz.ogg' say_message = "Hazard Containment breach logged." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/restricted_area/come_out_vent key = "comeoutvent" sound = 'sound/voice/joe/come_out_vent.ogg' + haz_sound = 'sound/voice/joe/come_out_vent_haz.ogg' say_message = "Come out of the vent system, please." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE diff --git a/code/modules/mob/living/carbon/human/species/working_joe/task_update.dm b/code/modules/mob/living/carbon/human/species/working_joe/task_update.dm index 88051db9999a..1bcfce62c6ad 100644 --- a/code/modules/mob/living/carbon/human/species/working_joe/task_update.dm +++ b/code/modules/mob/living/carbon/human/species/working_joe/task_update.dm @@ -4,8 +4,10 @@ /datum/emote/living/carbon/human/synthetic/working_joe/task_update/could_require_attention key = "couldrequireattention" sound = 'sound/voice/joe/could_require_attention.ogg' + haz_sound = 'sound/voice/joe/could_require_attention_haz.ogg' say_message = "This could require my attention." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/task_update/let_me_help key = "letmehelp" @@ -22,8 +24,10 @@ /datum/emote/living/carbon/human/synthetic/working_joe/task_update/follow_me_please key = "followmeplease" sound = 'sound/voice/joe/follow_me_please.ogg' + haz_sound = 'sound/voice/joe/follow_me_please_haz.ogg' say_message = "Follow me please." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/task_update/come_with_me key = "comewithme" @@ -34,8 +38,10 @@ /datum/emote/living/carbon/human/synthetic/working_joe/task_update/with_you_shortly key = "withyoushortly" sound = 'sound/voice/joe/with_you_shortly.ogg' + haz_sound = 'sound/voice/joe/with_you_shortly_haz.ogg' say_message = "I will be with you shortly." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/task_update/take_a_seat key = "takeaseat" @@ -52,5 +58,7 @@ /datum/emote/living/carbon/human/synthetic/working_joe/task_update/ticket_remove key = "ticketremoved" sound = 'sound/voice/joe/support_ticket_removed.ogg' + haz_sound = 'sound/voice/joe/support_ticket_removed_haz.ogg' say_message = "Service support ticket removed from queue." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE diff --git a/code/modules/mob/living/carbon/human/species/working_joe/warning.dm b/code/modules/mob/living/carbon/human/species/working_joe/warning.dm index 1513c3360d4a..64461715a088 100644 --- a/code/modules/mob/living/carbon/human/species/working_joe/warning.dm +++ b/code/modules/mob/living/carbon/human/species/working_joe/warning.dm @@ -4,8 +4,10 @@ /datum/emote/living/carbon/human/synthetic/working_joe/warning/not_what_i_think key = "notwhatithink" sound = 'sound/voice/joe/not_what_i_think.ogg' + haz_sound = 'sound/voice/joe/not_what_i_think_haz.ogg' say_message = "I hope that's not what I think it is." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/warning/dont_do_that key = "dontdothat" @@ -22,13 +24,15 @@ /datum/emote/living/carbon/human/synthetic/working_joe/warning/running_accidents key = "runningaccidents" sound = 'sound/voice/joe/running_accidents.ogg' + haz_sound = 'sound/voice/joe/running_accidents_haz.ogg' say_message = "Running causes accidents." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/warning/hurt_yourself key = "hurtyourself" sound = 'sound/voice/joe/hurt_yourself.ogg' - say_message = "Your going to hurt yourself." + say_message = "You're going to hurt yourself." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE /datum/emote/living/carbon/human/synthetic/working_joe/warning/someone_hurt @@ -40,14 +44,18 @@ /datum/emote/living/carbon/human/synthetic/working_joe/warning/safety_breach key = "safetybreach" sound = 'sound/voice/joe/safety_breach.ogg' + haz_sound = 'sound/voice/joe/safety_breach_haz.ogg' say_message = "This is a breach of multiple safety directives." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/warning/safety key = "safety" sound = 'sound/voice/joe/safety.ogg' + haz_sound = 'sound/voice/joe/safety_haz.ogg' say_message = "You and I are going to have a talk about safety." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/warning/safety_tolerated key = "nottolerated" @@ -64,26 +72,34 @@ /datum/emote/living/carbon/human/synthetic/working_joe/warning/hysterical key = "hysterical" sound = 'sound/voice/joe/hysterical.ogg' + haz_sound = 'sound/voice/joe/hysterical_haz.ogg' say_message = "You are becoming hysterical." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/warning/health_risks key = "healthrisks" sound = 'sound/voice/joe/health_risks.ogg' + haz_sound = 'sound/voice/joe/health_risks_haz.ogg' say_message = "These items carry notable health risks." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/warning/dangerous_items key = "dangerousitems" sound = 'sound/voice/joe/dangerous_items.ogg' + haz_sound = 'sound/voice/joe/dangerous_items_haz.ogg' say_message = "You are carrying some very dangerous items." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/warning/patience key = "patience" sound = 'sound/voice/joe/patience.ogg' + haz_sound = 'sound/voice/joe/patience_haz.ogg' say_message = "You are starting to test my patience." emote_type = EMOTE_AUDIBLE|EMOTE_VISIBLE + joe_flag = WORKING_JOE_EMOTE|HAZARD_JOE_EMOTE /datum/emote/living/carbon/human/synthetic/working_joe/warning/calm_down key = "calmdown" diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 167876cdca96..9a0cd177e885 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -225,22 +225,6 @@ There are several things that need to be remembered: overlays_standing[HAIR_LAYER] = hair_s apply_overlay(HAIR_LAYER) -//Call when target overlay should be added/removed -/mob/living/carbon/human/update_targeted() - remove_overlay(TARGETED_LAYER) - - var/image/holo_card_image - - if(holo_card_color) - holo_card_image = image("icon" = 'icons/effects/Targeted.dmi', "icon_state" = "holo_card_[holo_card_color]") - - if(!holo_card_image) - return - - holo_card_image.layer = -TARGETED_LAYER - overlays_standing[TARGETED_LAYER] = holo_card_image - apply_overlay(TARGETED_LAYER) - //Call when someone is gauzed or splinted, or when one of those items are removed /mob/living/carbon/human/update_med_icon() remove_overlay(MEDICAL_LAYER) diff --git a/code/modules/mob/living/carbon/human/whisper.dm b/code/modules/mob/living/carbon/human/whisper.dm index 3fba527fb0d7..1293da617f24 100644 --- a/code/modules/mob/living/carbon/human/whisper.dm +++ b/code/modules/mob/living/carbon/human/whisper.dm @@ -114,7 +114,7 @@ spawn(30) if(client) client.images -= speech_bubble if(not_dead_speaker) - log_say("[name != "Unknown" ? name : "([real_name])"] \[Whisper\]: [message] (CKEY: [key]) (JOB: [job])") + log_say("[name != "Unknown" ? name : "([real_name])"] \[Whisper\]: [message] (CKEY: [key]) (JOB: [job]) (AREA: [get_area_name(loc)])") for(var/mob/M in listening) if(M.client) M.client.images -= speech_bubble for(var/mob/M in eavesdropping) diff --git a/code/modules/mob/living/carbon/xenomorph/Abilities.dm b/code/modules/mob/living/carbon/xenomorph/Abilities.dm index 806b0646590d..ec024c3b5605 100644 --- a/code/modules/mob/living/carbon/xenomorph/Abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/Abilities.dm @@ -142,7 +142,7 @@ playsound(xeno.loc, pick(xeno.screech_sound_effect_list), 75, 0, status = 0) xeno.visible_message(SPAN_XENOHIGHDANGER("[xeno] emits an ear-splitting guttural roar!")) - xeno.create_shriekwave() //Adds the visual effect. Wom wom wom + xeno.create_shriekwave(14) //Adds the visual effect. Wom wom wom, 14 shriekwaves for(var/mob/mob in view()) if(mob && mob.client) @@ -206,7 +206,7 @@ var/whisper = strip_html(input("Message:", "Psychic Whisper") as text|null) if(whisper) - log_say("PsychicWhisper: [key_name(xeno_player)]->[target_mob.key] : [whisper]") + log_say("PsychicWhisper: [key_name(xeno_player)]->[target_mob.key] : [whisper] (AREA: [get_area_name(target_mob)])") if(!istype(target_mob, /mob/living/carbon/xenomorph)) to_chat(target_mob, SPAN_XENOQUEEN("You hear a strange, alien voice in your head. \"[whisper]\"")) else @@ -259,7 +259,7 @@ return var/targetstring = english_list(target_list) to_chat(xeno_player, SPAN_XENONOTICE("You said: \"[whisper]\" to [targetstring]")) - log_say("PsychicRadiance: [key_name(xeno_player)]->[targetstring] : [whisper]") + log_say("PsychicRadiance: [key_name(xeno_player)]->[targetstring] : [whisper] (AREA: [get_area_name(xeno_player)])") for (var/mob/dead/observer/ghost as anything in GLOB.observer_list) if(!ghost.client || isnewplayer(ghost)) continue diff --git a/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm b/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm index df272387f001..8aa3000092f5 100644 --- a/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm +++ b/code/modules/mob/living/carbon/xenomorph/Facehuggers.dm @@ -38,6 +38,9 @@ /// the nearest human before dying var/jumps_left = 2 + var/time_to_live = 30 SECONDS + var/death_timer + var/icon_xeno = 'icons/mob/xenos/effects.dmi' var/icon_xenonid = 'icons/mob/xenonids/xenonid_crab.dmi' @@ -55,6 +58,9 @@ set_hive_data(src, hivenumber) go_active() + if (hivenumber != XENO_HIVE_TUTORIAL) + death_timer = addtimer(CALLBACK(src, PROC_REF(end_lifecycle)), time_to_live, TIMER_OVERRIDE|TIMER_STOPPABLE|TIMER_UNIQUE) + /obj/item/clothing/mask/facehugger/Destroy() . = ..() @@ -75,6 +81,10 @@ if(QDESTROYING(src)) return addtimer(CALLBACK(src, PROC_REF(check_turf)), 0.2 SECONDS) + + if(!death_timer && hivenumber != XENO_HIVE_TUTORIAL) + death_timer = addtimer(CALLBACK(src, PROC_REF(end_lifecycle)), time_to_live, TIMER_OVERRIDE|TIMER_STOPPABLE|TIMER_UNIQUE) + if(stat == CONSCIOUS && loc) //Make sure we're conscious and not idle or dead. go_idle() if(attached) @@ -173,9 +183,18 @@ if(exposed_temperature > 300) die() -/obj/item/clothing/mask/facehugger/equipped(mob/M) +/obj/item/clothing/mask/facehugger/equipped(mob/holder) SHOULD_CALL_PARENT(FALSE) // ugh equip sounds // So picking up a hugger does not prematurely kill it + if (!isxeno(holder)) + return + + var/mob/living/carbon/xenomorph/xeno = holder + + if ((xeno.caste.hugger_nurturing || hivenumber == XENO_HIVE_TUTORIAL) && death_timer) + deltimer(death_timer) + death_timer = null + go_idle() /obj/item/clothing/mask/facehugger/Crossed(atom/target) @@ -410,6 +429,10 @@ deltimer(jump_timer) jump_timer = null + if(death_timer) + deltimer(death_timer) + death_timer = null + if(!impregnated) icon_state = "[initial(icon_state)]_dead" stat = DEAD diff --git a/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm b/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm index 39866eb53798..cae3be048a8d 100644 --- a/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm +++ b/code/modules/mob/living/carbon/xenomorph/XenoAttacks.dm @@ -78,7 +78,11 @@ damage += attack.damage > 5 ? attack.damage : 0 playsound(loc, attack.attack_sound, 25, 1) - visible_message(SPAN_DANGER("[M] [pick(attack.attack_verb)]ed [src]!"), null, null, 5, CHAT_TYPE_MELEE_HIT) + var/picked_verb = pick(attack.attack_verb) + visible_message(SPAN_DANGER("[M] [picked_verb]ed [src]!"), null, null, 5, CHAT_TYPE_MELEE_HIT) + log_attack("[key_name(M)] [picked_verb]ed [key_name(src)] at [get_area_name(M)]") + attack_log += text("\[[time_stamp()]\] was [picked_verb]ed by [key_name(M)]") + M.attack_log += text("\[[time_stamp()]\] [picked_verb]ed [key_name(src)]") apply_damage(damage, BRUTE) updatehealth() else diff --git a/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm b/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm index 46b6c857d481..a09380db7664 100644 --- a/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm +++ b/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm @@ -262,9 +262,6 @@ move_delay = . -/mob/living/carbon/xenomorph/show_inv(mob/user) - return - /mob/living/carbon/xenomorph/proc/pounced_mob(mob/living/L) // This should only be called back by a mob that has pounce, so no need to check var/datum/action/xeno_action/activable/pounce/pounceAction = get_xeno_action_by_type(src, /datum/action/xeno_action/activable/pounce) @@ -404,6 +401,7 @@ visible_message(SPAN_XENOWARNING("[src] hurls out the contents of their stomach!"), \ SPAN_XENOWARNING("We hurl out the contents of our stomach!"), null, 5) playsound(get_true_location(loc), 'sound/voice/alien_drool2.ogg', 50, 1) + log_interact(src, victim, "[key_name(src)] regurgitated [key_name(victim)] at [get_area_name(loc)]") if (stuns) victim.adjust_effect(2, STUN) @@ -648,6 +646,10 @@ tracked_marker = null + ///This permits xenos with thumbs to fire guns and arm grenades. God help us all. +/mob/living/carbon/xenomorph/IsAdvancedToolUser() + return HAS_TRAIT(src, TRAIT_OPPOSABLE_THUMBS) + /mob/living/carbon/xenomorph/proc/do_nesting_host(mob/current_mob, nest_structural_base) var/list/xeno_hands = list(get_active_hand(), get_inactive_hand()) diff --git a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm index 69ab18431237..16cfeca8f87e 100644 --- a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm +++ b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm @@ -52,6 +52,8 @@ gender = NEUTER icon_size = 48 black_market_value = KILL_MENDOZA + ///How much to horizontally adjust the sprites of held item onmobs by. Based on icon size. Most xenos have hands about the same height as a human's. + var/xeno_inhand_item_offset dead_black_market_value = 50 light_system = MOVABLE_LIGHT var/obj/item/clothing/suit/wear_suit = null @@ -429,7 +431,7 @@ GLOB.living_xeno_list += src GLOB.xeno_mob_list += src - + xeno_inhand_item_offset = (icon_size - 32) * 0.5 // More setup stuff for names, abilities etc update_icon_source() generate_name() diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm b/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm index 41459353ec1e..9bfc98a7091d 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/ability_helper_procs.dm @@ -1,6 +1,8 @@ //Corrosive acid is consolidated -- it checks for specific castes for strength now, but works identically to each other. //The acid items are stored in XenoProcs. /mob/living/carbon/xenomorph/proc/corrosive_acid(atom/O, acid_type, plasma_cost) + if(!check_state()) + return if(!O.Adjacent(src)) if(istype(O,/obj/item/explosive/plastic)) var/obj/item/explosive/plastic/E = O diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm index 0e897335cf10..f36e23394eef 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_abilities.dm @@ -295,7 +295,9 @@ /datum/action/xeno_action/onclick/toggle_long_range/use_ability(atom/target) var/mob/living/carbon/xenomorph/xeno = owner - xeno.speed_modifier = initial(xeno.speed_modifier)// Reset the speed modifier should you be disrupted while zooming or whatnot + + if (!xeno.check_state()) + return if(xeno.observed_xeno) return diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm index 9bb8d2fd46a1..05ab5d00a743 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/general_powers.dm @@ -1015,6 +1015,9 @@ // The xeno flips around for a second to impale the target with their tail. These look awsome. stab_direction = turn(get_dir(stabbing_xeno, target), 180) stab_overlay = "tail" + log_attack("[key_name(stabbing_xeno)] tailstabbed [key_name(target)] at [get_area_name(stabbing_xeno)]") + target.attack_log += text("\[[time_stamp()]\] was tailstabbed by [key_name(stabbing_xeno)]") + stabbing_xeno.attack_log += text("\[[time_stamp()]\] tailstabbed [key_name(target)]") stabbing_xeno.setDir(stab_direction) stabbing_xeno.emote("tail") diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm index 647bf7936195..010f98c9c4e9 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm @@ -828,9 +828,6 @@ if (!X.Adjacent(A)) to_chat(X, SPAN_XENODANGER("We must be within touching distance of [targetXeno]!")) return - if(istype(targetXeno.strain, /datum/xeno_strain/warden)) - to_chat(X, SPAN_XENODANGER("We cannot heal a sister of the same strain!")) - return if (SEND_SIGNAL(targetXeno, COMSIG_XENO_PRE_HEAL) & COMPONENT_CANCEL_XENO_HEAL) to_chat(X, SPAN_XENOWARNING("We cannot heal this xeno!")) return @@ -847,13 +844,21 @@ if (!behavior.use_internal_hp_ability(bonus_heal)) bonus_heal = 0 - to_chat(X, SPAN_XENODANGER("We heal [targetXeno]!")) + to_chat(X, SPAN_XENOHIGHDANGER("We heal [targetXeno]!")) to_chat(targetXeno, SPAN_XENOHIGHDANGER("We are healed by [X]!")) - targetXeno.gain_health(heal_amount + bonus_heal) + //Amount to heal in this cast of the ability + var/quantity_healed = heal_amount + if(istype(targetXeno.strain, /datum/xeno_strain/warden)) + // Half the healing if warden + quantity_healed = quantity_healed / 2 + else + quantity_healed = quantity_healed + bonus_heal + + targetXeno.gain_health(quantity_healed) targetXeno.visible_message(SPAN_BOLDNOTICE("[X] places its claws on [targetXeno], and its wounds are quickly sealed!")) //marines probably should know if a xeno gets healed X.gain_health(heal_amount*0.5 + bonus_heal*0.5) X.flick_heal_overlay(3 SECONDS, "#00B800") - behavior.transferred_healing += heal_amount + behavior.transferred_healing += quantity_healed use_plasma = TRUE //it's already hard enough to gauge health without hp showing on the mob targetXeno.flick_heal_overlay(3 SECONDS, "#00B800")//so the visible_message and recovery overlay will warn marines and possibly predators that the xenomorph has been healed! @@ -869,7 +874,7 @@ if (!behavior.use_internal_hp_ability(debuff_cost)) return - to_chat(X, SPAN_XENODANGER("We rejuvenate [targetXeno]!")) + to_chat(X, SPAN_XENOHIGHDANGER("We rejuvenate [targetXeno]!")) to_chat(targetXeno, SPAN_XENOHIGHDANGER("We are rejuvenated by [X]!")) targetXeno.visible_message(SPAN_BOLDNOTICE("[X] points at [targetXeno], and it spasms as it recuperates unnaturally quickly!")) //marines probably should know if a xeno gets rejuvenated targetXeno.xeno_jitter(1 SECONDS) //it might confuse them as to why the queen got up half a second after being AT rocketed, and give them feedback on the Praetorian rejuvenating diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm index 6e6fef86a2f4..3ec4855f9c3a 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/predalien/predalien_powers.dm @@ -12,8 +12,7 @@ playsound(xeno.loc, pick(predalien_roar), 75, 0, status = 0) xeno.visible_message(SPAN_XENOHIGHDANGER("[xeno] emits a guttural roar!")) - xeno.create_shriekwave(color = "#FF0000") - + xeno.create_shriekwave(7) //Adds the visual effect. Wom wom wom, 7 shriekwaves for(var/mob/living/carbon/carbon in view(7, xeno)) if(ishuman(carbon)) var/mob/living/carbon/human/human = carbon diff --git a/code/modules/mob/living/carbon/xenomorph/attack_alien.dm b/code/modules/mob/living/carbon/xenomorph/attack_alien.dm index 56f908389966..45f5ccb5dec1 100644 --- a/code/modules/mob/living/carbon/xenomorph/attack_alien.dm +++ b/code/modules/mob/living/carbon/xenomorph/attack_alien.dm @@ -7,92 +7,92 @@ * In that case, the first argument is always the attacker. For attack_alien, it should always be Xenomorph sub-types */ - -/mob/living/carbon/human/attack_alien(mob/living/carbon/xenomorph/M, dam_bonus) - if(M.fortify || HAS_TRAIT(M, TRAIT_ABILITY_BURROWED)) +// this proc could use refactoring at some point +/mob/living/carbon/human/attack_alien(mob/living/carbon/xenomorph/attacking_xeno, dam_bonus) + if(attacking_xeno.fortify || HAS_TRAIT(attacking_xeno, TRAIT_ABILITY_BURROWED)) return XENO_NO_DELAY_ACTION - var/intent = M.a_intent + var/intent = attacking_xeno.a_intent - if(M.behavior_delegate) - intent = M.behavior_delegate.override_intent(src) + if(attacking_xeno.behavior_delegate) + intent = attacking_xeno.behavior_delegate.override_intent(src) //Reviewing the four primary intents switch(intent) if(INTENT_HELP) if(on_fire) - extinguish_mob(M) + extinguish_mob(attacking_xeno) else - M.visible_message(SPAN_NOTICE("[M] caresses [src] with its claws."), \ + attacking_xeno.visible_message(SPAN_NOTICE("[attacking_xeno] caresses [src] with its claws."), \ SPAN_NOTICE("We caress [src] with our claws."), null, 5, CHAT_TYPE_XENO_FLUFF) if(INTENT_GRAB) - if(M == src || anchored || buckled) + if(attacking_xeno == src || anchored || buckled) return XENO_NO_DELAY_ACTION - if(check_shields(0, M.name)) // Blocking check - M.visible_message(SPAN_DANGER("[M]'s grab is blocked by [src]'s shield!"), \ + if(check_shields(0, attacking_xeno.name)) // Blocking check + attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno]'s grab is blocked by [src]'s shield!"), \ SPAN_DANGER("Our grab was blocked by [src]'s shield!"), null, 5, CHAT_TYPE_XENO_COMBAT) playsound(loc, 'sound/weapons/alien_claw_block.ogg', 25, 1) //Feedback return XENO_ATTACK_ACTION - if(Adjacent(M)) //Logic! - M.start_pulling(src) + if(Adjacent(attacking_xeno)) //Logic! + attacking_xeno.start_pulling(src) if(INTENT_HARM) - if(M.can_not_harm(src)) - M.animation_attack_on(src) - M.visible_message(SPAN_NOTICE("[M] nibbles [src]"), \ + if(attacking_xeno.can_not_harm(src)) + attacking_xeno.animation_attack_on(src) + attacking_xeno.visible_message(SPAN_NOTICE("[attacking_xeno] nibbles [src]"), \ SPAN_XENONOTICE("We nibble [src]")) return XENO_ATTACK_ACTION - if(M.behavior_delegate && M.behavior_delegate.handle_slash(src)) + if(attacking_xeno.behavior_delegate && attacking_xeno.behavior_delegate.handle_slash(src)) return XENO_NO_DELAY_ACTION if(stat == DEAD) - to_chat(M, SPAN_WARNING("[src] is dead, why would we want to touch it?")) + to_chat(attacking_xeno, SPAN_WARNING("[src] is dead, why would we want to touch it?")) return XENO_NO_DELAY_ACTION - if(M.caste && !M.caste.is_intelligent) + if(attacking_xeno.caste && !attacking_xeno.caste.is_intelligent) if(HAS_TRAIT(src, TRAIT_NESTED) && (status_flags & XENO_HOST)) for(var/obj/item/alien_embryo/embryo in src) - if(HIVE_ALLIED_TO_HIVE(M.hivenumber, embryo.hivenumber)) - to_chat(M, SPAN_WARNING("We should not harm this host! It has a sister inside.")) + if(HIVE_ALLIED_TO_HIVE(attacking_xeno.hivenumber, embryo.hivenumber)) + to_chat(attacking_xeno, SPAN_WARNING("We should not harm this host! It has a sister inside.")) return XENO_NO_DELAY_ACTION - if(check_shields(0, M.name)) // Blocking check - M.visible_message(SPAN_DANGER("[M]'s slash is blocked by [src]'s shield!"), \ + if(check_shields(0, attacking_xeno.name)) // Blocking check + attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno]'s slash is blocked by [src]'s shield!"), \ SPAN_DANGER("Our slash is blocked by [src]'s shield!"), null, 5, CHAT_TYPE_XENO_COMBAT) playsound(loc, 'sound/weapons/alien_claw_block.ogg', 25, 1) //Feedback return XENO_ATTACK_ACTION //From this point, we are certain a full attack will go out. Calculate damage and modifiers - M.track_slashes(M.caste_type) //Adds to slash stat. - var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) + dam_bonus + attacking_xeno.track_slashes(attacking_xeno.caste_type) //Adds to slash stat. + var/damage = rand(attacking_xeno.melee_damage_lower, attacking_xeno.melee_damage_upper) + dam_bonus var/acid_damage = 0 - if(M.burn_damage_lower) - acid_damage = rand(M.burn_damage_lower, M.burn_damage_upper) + if(attacking_xeno.burn_damage_lower) + acid_damage = rand(attacking_xeno.burn_damage_lower, attacking_xeno.burn_damage_upper) //Frenzy auras stack in a way, then the raw value is multipled by two to get the additive modifier - if(M.frenzy_aura > 0) - damage += (M.frenzy_aura * FRENZY_DAMAGE_MULTIPLIER) + if(attacking_xeno.frenzy_aura > 0) + damage += (attacking_xeno.frenzy_aura * FRENZY_DAMAGE_MULTIPLIER) if(acid_damage) - acid_damage += (M.frenzy_aura * FRENZY_DAMAGE_MULTIPLIER) + acid_damage += (attacking_xeno.frenzy_aura * FRENZY_DAMAGE_MULTIPLIER) - M.animation_attack_on(src) + attacking_xeno.animation_attack_on(src) //Somehow we will deal no damage on this attack if(!damage) - playsound(M.loc, 'sound/weapons/alien_claw_swipe.ogg', 25, 1) - M.animation_attack_on(src) - M.visible_message(SPAN_DANGER("[M] lunges at [src]!"), \ + playsound(attacking_xeno.loc, 'sound/weapons/alien_claw_swipe.ogg', 25, 1) + attacking_xeno.animation_attack_on(src) + attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno] lunges at [src]!"), \ SPAN_DANGER("We lunge at [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) return XENO_ATTACK_ACTION - M.flick_attack_overlay(src, "slash") + attacking_xeno.flick_attack_overlay(src, "slash") var/obj/limb/affecting - affecting = get_limb(rand_zone(M.zone_selected, 70)) + affecting = get_limb(rand_zone(attacking_xeno.zone_selected, 70)) if(!affecting) //No organ, just get a random one affecting = get_limb(rand_zone(null, 0)) if(!affecting) //Still nothing?? @@ -100,17 +100,17 @@ var/armor_block = getarmor(affecting, ARMOR_MELEE) - if(wear_mask && check_zone(M.zone_selected) == "head") + if(wear_mask && check_zone(attacking_xeno.zone_selected) == "head") if(istype(wear_mask, /obj/item/clothing/mask/gas/yautja)) var/knock_chance = 1 - if(M.frenzy_aura > 0) - knock_chance += 2 * M.frenzy_aura - if(M.caste && M.caste.is_intelligent) + if(attacking_xeno.frenzy_aura > 0) + knock_chance += 2 * attacking_xeno.frenzy_aura + if(attacking_xeno.caste && attacking_xeno.caste.is_intelligent) knock_chance += 2 knock_chance += min(round(damage * 0.25), 10) //Maximum of 15% chance. if(prob(knock_chance)) playsound(loc, "alien_claw_metal", 25, 1) - M.visible_message(SPAN_DANGER("[M] smashes off [src]'s [wear_mask.name]!"), \ + attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno] smashes off [src]'s [wear_mask.name]!"), \ SPAN_DANGER("We smash off [src]'s [wear_mask.name]!"), null, 5) drop_inv_item_on_ground(wear_mask) if(isyautja(src)) @@ -121,42 +121,39 @@ var/n_damage = armor_damage_reduction(GLOB.marine_melee, damage, armor_block) - if(M.behavior_delegate) - n_damage = M.behavior_delegate.melee_attack_modify_damage(n_damage, src) - - if(M.behavior_delegate) - var/datum/behavior_delegate/MD = M.behavior_delegate - MD.melee_attack_additional_effects_target(src) - MD.melee_attack_additional_effects_self() + if(attacking_xeno.behavior_delegate) + n_damage = attacking_xeno.behavior_delegate.melee_attack_modify_damage(n_damage, src) + attacking_xeno.behavior_delegate.melee_attack_additional_effects_target(src) + attacking_xeno.behavior_delegate.melee_attack_additional_effects_self() - var/slash_noise = M.slash_sound + var/slash_noise = attacking_xeno.slash_sound var/list/slashdata = list("n_damage" = n_damage, "slash_noise" = slash_noise) - SEND_SIGNAL(src, COMSIG_HUMAN_XENO_ATTACK, slashdata, M) + SEND_SIGNAL(src, COMSIG_HUMAN_XENO_ATTACK, slashdata, attacking_xeno) var/f_damage = slashdata["n_damage"] slash_noise = slashdata["slash_noise"] //The normal attack proceeds playsound(loc, slash_noise, 25, TRUE) - M.visible_message(SPAN_DANGER("[M] [M.slashes_verb] [src]!"), \ - SPAN_DANGER("We [M.slash_verb] [src]!"), null, null, CHAT_TYPE_XENO_COMBAT) + attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno] [attacking_xeno.slashes_verb] [src]!"), \ + SPAN_DANGER("We [attacking_xeno.slash_verb] [src]!"), null, null, CHAT_TYPE_XENO_COMBAT) - handle_blood_splatter(get_dir(M.loc, src.loc)) + handle_blood_splatter(get_dir(attacking_xeno.loc, src.loc)) - last_damage_data = create_cause_data(initial(M.name), M) + last_damage_data = create_cause_data(initial(attacking_xeno.name), attacking_xeno) //Logging, including anti-rulebreak logging if(status_flags & XENO_HOST && stat != DEAD) if(HAS_TRAIT(src, TRAIT_NESTED)) //Host was buckled to nest while infected, this is a rule break - attack_log += text("\[[time_stamp()]\] was [M.slash_verb]ed by [key_name(M)] while they were infected and nested") - M.attack_log += text("\[[time_stamp()]\] [M.slash_verb]ed [key_name(src)] while they were infected and nested") - message_admins("[key_name(M)] [M.slash_verb]ed [key_name(src)] while they were infected and nested.") //This is a blatant rulebreak, so warn the admins + attack_log += text("\[[time_stamp()]\] was [attacking_xeno.slash_verb]ed by [key_name(attacking_xeno)] while they were infected and nested") + attacking_xeno.attack_log += text("\[[time_stamp()]\] [attacking_xeno.slash_verb]ed [key_name(src)] while they were infected and nested") + message_admins("[key_name(attacking_xeno)] [attacking_xeno.slash_verb]ed [key_name(src)] while they were infected and nested.") //This is a blatant rulebreak, so warn the admins else //Host might be rogue, needs further investigation - attack_log += text("\[[time_stamp()]\] was [M.slash_verb]ed by [key_name(M)] while they were infected") - M.attack_log += text("\[[time_stamp()]\] [M.slash_verb]ed [key_name(src)] while they were infected") + attack_log += text("\[[time_stamp()]\] was [attacking_xeno.slash_verb]ed by [key_name(attacking_xeno)] while they were infected") + attacking_xeno.attack_log += text("\[[time_stamp()]\] [attacking_xeno.slash_verb]ed [key_name(src)] while they were infected") else //Normal xenomorph friendship with benefits - attack_log += text("\[[time_stamp()]\] was [M.slash_verb]ed by [key_name(M)]") - M.attack_log += text("\[[time_stamp()]\] [M.slash_verb]ed [key_name(src)]") - log_attack("[key_name(M)] [M.slash_verb]ed [key_name(src)]") + attack_log += text("\[[time_stamp()]\] was [attacking_xeno.slash_verb]ed by [key_name(attacking_xeno)]") + attacking_xeno.attack_log += text("\[[time_stamp()]\] [attacking_xeno.slash_verb]ed [key_name(src)]") + log_attack("[key_name(attacking_xeno)] [attacking_xeno.slash_verb]ed [key_name(src)]") //nice messages so people know that armor works if(f_damage <= 0.34*damage) @@ -176,23 +173,22 @@ to_chat(src, SPAN_WARNING("Your armor softens the acid!")) apply_damage(n_acid_damage, BURN, affecting) //Burn damage - SEND_SIGNAL(M, COMSIG_HUMAN_ALIEN_ATTACK, src) + SEND_SIGNAL(attacking_xeno, COMSIG_HUMAN_ALIEN_ATTACK, src) updatehealth() if(INTENT_DISARM) - - if(M.legcuffed && isyautja(src)) - to_chat(M, SPAN_XENODANGER("We don't have the dexterity to tackle the headhunter with that thing on our leg!")) + if(attacking_xeno.legcuffed && isyautja(src)) + to_chat(attacking_xeno, SPAN_XENODANGER("We don't have the dexterity to tackle the headhunter with that thing on our leg!")) return XENO_NO_DELAY_ACTION - M.animation_attack_on(src) - if(check_shields(0, M.name)) // Blocking check - M.visible_message(SPAN_DANGER("[M]'s tackle is blocked by [src]'s shield!"), \ + attacking_xeno.animation_attack_on(src) + if(check_shields(0, attacking_xeno.name)) // Blocking check + attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno]'s tackle is blocked by [src]'s shield!"), \ SPAN_DANGER("We tackle is blocked by [src]'s shield!"), null, 5, CHAT_TYPE_XENO_COMBAT) playsound(loc, 'sound/weapons/alien_claw_block.ogg', 25, 1) //Feedback return XENO_ATTACK_ACTION - M.flick_attack_overlay(src, "disarm") + attacking_xeno.flick_attack_overlay(src, "disarm") var/tackle_mult = 1 var/tackle_min_offset = 0 @@ -202,22 +198,29 @@ tackle_min_offset += 2 tackle_max_offset += 2 - if(M.attempt_tackle(src, tackle_mult, tackle_min_offset, tackle_max_offset)) + var/knocked_down + if(attacking_xeno.attempt_tackle(src, tackle_mult, tackle_min_offset, tackle_max_offset)) playsound(loc, 'sound/weapons/alien_knockdown.ogg', 25, 1) - var/strength = rand(M.tacklestrength_min, M.tacklestrength_max) + var/strength = rand(attacking_xeno.tacklestrength_min, attacking_xeno.tacklestrength_max) Stun(strength) KnockDown(strength) // Purely for knockdown visuals. All the heavy lifting is done by Stun - M.visible_message(SPAN_DANGER("[M] tackles down [src]!"), \ + attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno] tackles down [src]!"), \ SPAN_DANGER("We tackle down [src]!"), null, 5, CHAT_TYPE_XENO_COMBAT) - SEND_SIGNAL(src, COMSIG_MOB_TACKLED_DOWN, M) + SEND_SIGNAL(src, COMSIG_MOB_TACKLED_DOWN, attacking_xeno) + knocked_down = TRUE else playsound(loc, 'sound/weapons/alien_claw_swipe.ogg', 25, 1) if (body_position == LYING_DOWN) - M.visible_message(SPAN_DANGER("[M] tries to tackle [src], but they are already down!"), \ + attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno] tries to tackle [src], but they are already down!"), \ SPAN_DANGER("We try to tackle [src], but they are already down!"), null, 5, CHAT_TYPE_XENO_COMBAT) else - M.visible_message(SPAN_DANGER("[M] tries to tackle [src]"), \ + attacking_xeno.visible_message(SPAN_DANGER("[attacking_xeno] tries to tackle [src]"), \ SPAN_DANGER("We try to tackle [src]"), null, 5, CHAT_TYPE_XENO_COMBAT) + knocked_down = FALSE + + attacking_xeno.attack_log += "\[[time_stamp()]\] [knocked_down ? "S" : "Uns"]uccessfully tackled [key_name(src)]" + attack_log += "\[[time_stamp()]\] Has been [knocked_down ? "" : "un"]successfully tackled by [key_name(attacking_xeno)]" + log_attack("[key_name(attacking_xeno)] [knocked_down ? "" : "un"]successfully tackled [key_name(src)] in [get_area(src)] ([loc.x],[loc.y],[loc.z]).") return XENO_ATTACK_ACTION @@ -311,7 +314,10 @@ //This proc is here to prevent Xenomorphs from picking up objects (default attack_hand behaviour) //Note that this is overridden by every proc concerning a child of obj unless inherited -/obj/item/attack_alien(mob/living/carbon/xenomorph/M) +/obj/item/attack_alien(mob/living/carbon/xenomorph/xeno) + if(HAS_TRAIT(xeno, TRAIT_OPPOSABLE_THUMBS)) + attack_hand(xeno) + return XENO_NONCOMBAT_ACTION return /obj/attack_larva(mob/living/carbon/xenomorph/larva/M) @@ -378,10 +384,16 @@ //If we sent it to monkey we'd get some weird shit happening. /obj/structure/attack_alien(mob/living/carbon/xenomorph/M) // fuck off dont destroy my unslashables - if(unslashable || health <= 0) + if(unslashable || health <= 0 && !HAS_TRAIT(usr, TRAIT_OPPOSABLE_THUMBS)) to_chat(M, SPAN_WARNING("We stare at \the [src] cluelessly.")) return XENO_NO_DELAY_ACTION +/obj/structure/magazine_box/attack_alien(mob/living/carbon/xenomorph/xeno) + if(HAS_TRAIT(usr, TRAIT_OPPOSABLE_THUMBS)) + attack_hand(xeno) + return XENO_NONCOMBAT_ACTION + else + . = ..() //Beds, nests and chairs - unbuckling /obj/structure/bed/attack_alien(mob/living/carbon/xenomorph/M) @@ -661,7 +673,7 @@ //Xenomorphs can't use machinery, not even the "intelligent" ones //Exception is Queen and shuttles, because plot power /obj/structure/machinery/attack_alien(mob/living/carbon/xenomorph/M) - if(unslashable || health <= 0) + if(unslashable || health <= 0 && !HAS_TRAIT(usr, TRAIT_OPPOSABLE_THUMBS)) to_chat(M, SPAN_WARNING("We stare at \the [src] cluelessly.")) return XENO_NO_DELAY_ACTION @@ -680,7 +692,7 @@ // Destroying reagent dispensers /obj/structure/reagent_dispensers/attack_alien(mob/living/carbon/xenomorph/M) - if(unslashable || health <= 0) + if(unslashable || health <= 0 && !HAS_TRAIT(usr, TRAIT_OPPOSABLE_THUMBS)) to_chat(M, SPAN_WARNING("We stare at \the [src] cluelessly.")) return XENO_NO_DELAY_ACTION @@ -852,11 +864,7 @@ M.visible_message("[M] slashes away at [src]!","We slash and claw at the bright light!", max_distance = 5, message_flags = CHAT_TYPE_XENO_COMBAT) health = max(health - rand(M.melee_damage_lower, M.melee_damage_upper), 0) if(!health) - playsound(src, "glassbreak", 70, 1) - damaged = TRUE - if(is_lit) - set_light(0) - update_icon() + set_damaged() else playsound(loc, 'sound/effects/Glasshit.ogg', 25, 1) return XENO_ATTACK_ACTION @@ -878,7 +886,8 @@ while(bleed_layer > 0) xeno_attack_delay(M) - if(!do_after(M, 12, INTERRUPT_ALL, BUSY_ICON_FRIENDLY)) + var/size = max(M.mob_size, 1) + if(!do_after(M, 12/size, INTERRUPT_ALL, BUSY_ICON_FRIENDLY)) return XENO_NO_DELAY_ACTION if(!bleed_layer) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/lesser_drone.dm b/code/modules/mob/living/carbon/xenomorph/castes/lesser_drone.dm index 8b268ebfce62..9be9e21fd983 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/lesser_drone.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/lesser_drone.dm @@ -16,9 +16,10 @@ can_be_revived = FALSE build_time_mult = BUILD_TIME_MULT_LESSER_DRONE + behavior_delegate_type = /datum/behavior_delegate/lesser_drone_base caste_desc = "A builder of hives." - can_hold_facehuggers = 1 + can_hold_facehuggers = TRUE can_hold_eggs = CAN_HOLD_TWO_HANDS acid_level = 1 weed_level = WEED_LEVEL_STANDARD @@ -118,3 +119,10 @@ /mob/living/carbon/xenomorph/lesser_drone/handle_ghost_message() return + +/datum/behavior_delegate/lesser_drone_base + name = "Base Lesser Drone Behavior Delegate" + +/datum/behavior_delegate/lesser_drone_base/on_life() + if(bound_xeno.body_position == STANDING_UP && !(locate(/obj/effect/alien/weeds) in get_turf(bound_xeno))) + bound_xeno.adjustBruteLoss(5) diff --git a/code/modules/mob/living/carbon/xenomorph/egg_item.dm b/code/modules/mob/living/carbon/xenomorph/egg_item.dm index f349b8acfb8d..a9d00519b691 100644 --- a/code/modules/mob/living/carbon/xenomorph/egg_item.dm +++ b/code/modules/mob/living/carbon/xenomorph/egg_item.dm @@ -5,7 +5,7 @@ icon = 'icons/mob/xenos/effects.dmi' icon_state = "egg_item" w_class = SIZE_MASSIVE - flags_atom = OPENCONTAINER + flags_atom = FPRINT|OPENCONTAINER flags_item = NOBLUDGEON throw_range = 1 layer = MOB_LAYER diff --git a/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/berserker.dm b/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/berserker.dm index c12324aa5b2a..365304259ac8 100644 --- a/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/berserker.dm +++ b/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/berserker.dm @@ -41,7 +41,7 @@ // Eviscerate config var/rage_lock_duration = 10 SECONDS // 10 seconds of max rage - var/rage_cooldown_duration = 8 SECONDS // 8 seconds of NO rage. + var/rage_cooldown_duration = 10 SECONDS // 10 seconds of NO rage. // State for tracking rage var/rage = 0 diff --git a/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/hedgehog.dm b/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/hedgehog.dm index e1d6dc583416..5cb756d8889d 100644 --- a/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/hedgehog.dm +++ b/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/hedgehog.dm @@ -1,6 +1,6 @@ /datum/xeno_strain/hedgehog name = RAVAGER_HEDGEHOG - description = "You lose your empower, charge, scissor cut and some slash damage, for a bit more explosive resistance, immunity to small explosions, and you gain several new abilities that allow you to become a spiky tank. You build up shards internally over time and also when taking damage that increase your armor's resilience. You can use these shards to power three new abilities: Spike Shield, which gives you a temporary shield that spits bone shards around you when damaged, Fire Spikes, which launches spikes at your target that slows them and does extra damage if they move, and finally, Spike Shed, which launches spikes all around yourself and gives you a temporary speed boost as an escape plan at the cost of all your stored shards and being unable to gain shards for thirty seconds." + description = "You lose your empower, charge, scissor cut, and some slash damage in exchange for more explosive resistance. Your resistance scales with your shard count and at 50% grants you immunity to some explosive stuns. You accumulate shards over time and when taking damage. You can use these shards to power three new abilities: Spike Shield which gives you a temporary shield that spits bone shards around you when damaged; Fire Spikes which launches spikes at your target to slow them and deal damage when they move; and Spike Shed which launches all your spikes, grants a temporary speed boost, and disables shard generation for thirty seconds." flavor_description = "They will be of iron will and steely muscle. In great armor shall they be clad, and with the mightiest spikes will they be armed." icon_state_prefix = "Hedgehog" @@ -19,7 +19,7 @@ /datum/xeno_strain/hedgehog/apply_strain(mob/living/carbon/xenomorph/ravager/ravager) ravager.plasma_max = 0 - ravager.small_explosives_stun = FALSE + ravager.small_explosives_stun = TRUE ravager.explosivearmor_modifier += XENO_EXPOSIVEARMOR_MOD_SMALL ravager.damage_modifier -= XENO_DAMAGE_MOD_SMALL @@ -72,7 +72,6 @@ bound_xeno.speed_modifier += shard_lock_speed_mod bound_xeno.recalculate_speed() - shards_locked = FALSE // Return true if we have enough shards, false otherwise @@ -103,6 +102,15 @@ var/percentage_shards = round((shards / max_shards) * 100, 10) if(percentage_shards) holder.overlays += image('icons/mob/hud/hud.dmi', "xenoenergy[percentage_shards]") + + if(percentage_shards >= 50) + bound_xeno.small_explosives_stun = FALSE + bound_xeno.add_filter("hedge_unstunnable", 1, list("type" = "outline", "color" = "#421313", "size" = 1)) + else + bound_xeno.small_explosives_stun = TRUE + bound_xeno.remove_filter("hedge_unstunnable", 1, list("type" = "outline", "color" = "#421313", "size" = 1)) + + return diff --git a/code/modules/mob/living/carbon/xenomorph/update_icons.dm b/code/modules/mob/living/carbon/xenomorph/update_icons.dm index 571f261ab981..ac0c381f5ed4 100644 --- a/code/modules/mob/living/carbon/xenomorph/update_icons.dm +++ b/code/modules/mob/living/carbon/xenomorph/update_icons.dm @@ -148,7 +148,12 @@ var/t_state = r_hand.item_state if(!t_state) t_state = r_hand.icon_state - overlays_standing[X_R_HAND_LAYER] = r_hand.get_mob_overlay(src, WEAR_R_HAND) + /*Move inhand image to the center of the sprite. Strictly speaking this should probably be like monkey get_offset_overlay_image() and tailor item icon + positions to the hands of the xeno, but outside of special occasions xenos can't really pick items up and this tends to look better than human default.*/ + var/image/inhand_image = r_hand.get_mob_overlay(src, WEAR_R_HAND) + inhand_image.pixel_x = xeno_inhand_item_offset + overlays_standing[X_R_HAND_LAYER] = inhand_image + apply_overlay(X_R_HAND_LAYER) /mob/living/carbon/xenomorph/update_inv_l_hand() @@ -161,7 +166,13 @@ var/t_state = l_hand.item_state if(!t_state) t_state = l_hand.icon_state - overlays_standing[X_L_HAND_LAYER] = l_hand.get_mob_overlay(src, WEAR_L_HAND) + + /*Move inhand image overlay to the center of the sprite. Strictly speaking this should probably be like monkey get_offset_overlay_image() and tailor item icon + positions to the hands of the xeno, but outside of special occasions xenos can't really pick items up and this tends to look better than human default.*/ + var/image/inhand_image = l_hand.get_mob_overlay(src, WEAR_L_HAND) + inhand_image.pixel_x = xeno_inhand_item_offset + overlays_standing[X_L_HAND_LAYER] = inhand_image + apply_overlay(X_L_HAND_LAYER) /mob/living/carbon/xenomorph/update_inv_back() @@ -196,31 +207,46 @@ overlays_standing[X_LEGCUFF_LAYER] = image("icon" = 'icons/mob/xenos/effects.dmi', "icon_state" = "legcuff", "layer" =-X_LEGCUFF_LAYER) apply_overlay(X_LEGCUFF_LAYER) -/mob/living/carbon/xenomorph/proc/create_shriekwave(color = null) - var/image/screech_image - - var/offset_x = 0 - var/offset_y = 0 - if(mob_size <= MOB_SIZE_XENO) - offset_x = -7 - offset_y = -10 - - if (color) - screech_image = image("icon"='icons/mob/xenos/overlay_effects64x64.dmi', "icon_state" = "shriek_waves_greyscale") // For Praetorian screech - screech_image.color = color - else - screech_image = image("icon"='icons/mob/xenos/overlay_effects64x64.dmi', "icon_state" = "shriek_waves") //Ehh, suit layer's not being used. - - screech_image.pixel_x = offset_x - screech_image.pixel_y = offset_y - - screech_image.appearance_flags |= RESET_COLOR - - remove_suit_layer() - - overlays_standing[X_SUIT_LAYER] = screech_image - apply_overlay(X_SUIT_LAYER) - addtimer(CALLBACK(src, PROC_REF(remove_overlay), X_SUIT_LAYER), 30) +/mob/living/carbon/xenomorph/proc/create_shriekwave(shriekwaves_left) + var/offset_y = 8 + if(mob_size == MOB_SIZE_XENO) + offset_y = 24 + if(mob_size == MOB_SIZE_IMMOBILE) + offset_y = 28 + + //the shockwave center is updated eachtime shockwave is called and offset relative to the mob_size. + //due to the speed of the shockwaves, it isn't required to be tied to the exact mob movements + var/epicenter = loc //center of the shockwave, set at the center of the tile that the mob is currently standing on + var/easing = QUAD_EASING | EASE_OUT + var/stage1_radius = rand(11, 12) + var/stage2_radius = rand(9, 11) + var/stage3_radius = rand(8, 10) + var/stage4_radius = 7.5 + + //shockwaves are iterated, counting down once per shriekwave, with the total amount being determined on the respective xeno ability tile + if(shriekwaves_left > 12) + shriekwaves_left-- + new /obj/effect/shockwave(epicenter, stage1_radius, 0.5, easing, offset_y) + addtimer(CALLBACK(src, PROC_REF(create_shriekwave), shriekwaves_left), 2) + return + if(shriekwaves_left > 8) + shriekwaves_left-- + new /obj/effect/shockwave(epicenter, stage2_radius, 0.5, easing, offset_y) + addtimer(CALLBACK(src, PROC_REF(create_shriekwave), shriekwaves_left), 3) + return + if(shriekwaves_left > 4) + shriekwaves_left-- + new /obj/effect/shockwave(epicenter, stage3_radius, 0.5, easing, offset_y) + addtimer(CALLBACK(src, PROC_REF(create_shriekwave), shriekwaves_left), 3) + return + if(shriekwaves_left > 1) + shriekwaves_left-- + new /obj/effect/shockwave(epicenter, stage4_radius, 0.5, easing, offset_y) + addtimer(CALLBACK(src, PROC_REF(create_shriekwave), shriekwaves_left), 3) + return + if(shriekwaves_left == 1) + shriekwaves_left-- + new /obj/effect/shockwave(epicenter, 10.5, 0.6, easing, offset_y) /mob/living/carbon/xenomorph/proc/create_stomp() remove_suit_layer() diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index d5190318715c..9500d0a30e37 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -224,19 +224,34 @@ /mob/living/resist_grab(moving_resist) if(!pulledby) return - if(pulledby.grab_level) - if(prob(50)) - playsound(src.loc, 'sound/weapons/thudswoosh.ogg', 25, 1, 7) - visible_message(SPAN_DANGER("[src] has broken free of [pulledby]'s grip!"), null, null, 5) - pulledby.stop_pulling() - return 1 - if(moving_resist && client) //we resisted by trying to move - visible_message(SPAN_DANGER("[src] struggles to break free of [pulledby]'s grip!"), null, null, 5) - client.next_movement = world.time + (10*pulledby.grab_level) + client.move_delay - else + // vars for checks of strengh + var/pulledby_is_strong = HAS_TRAIT(pulledby, TRAIT_SUPER_STRONG) + var/src_is_strong = HAS_TRAIT(src, TRAIT_SUPER_STRONG) + + if(!pulledby.grab_level && (!pulledby_is_strong || src_is_strong)) // if passive grab, check if puller is stronger than src, and if not, break free pulledby.stop_pulling() - return 1 + return TRUE + // Chance for person to break free of grip, defaults to 50. + var/chance = 50 + if(src_is_strong && !isxeno(pulledby)) // no extra chance to resist warrior grabs + chance += 30 // you are strong, you can overpower them easier + if(pulledby_is_strong) + chance -= 30 // stronger grip + // above code means that if you are super strong, 80% chance to resist, otherwise, 20 percent. if both are super strong, standard 50. + + if(prob(chance)) + playsound(loc, 'sound/weapons/thudswoosh.ogg', 25, 1, 7) + visible_message(SPAN_DANGER("[src] has broken free of [pulledby]'s grip!"), max_distance = 5) + pulledby.stop_pulling() + return TRUE + if(moving_resist && client) //we resisted by trying to move + visible_message(SPAN_DANGER("[src] struggles to break free of [pulledby]'s grip!"), max_distance = 5) + // +1 delay if super strong, also done as passive grabs would have a modifier of 0 otherwise, causing spam + if(pulledby_is_strong && !src_is_strong) + client.next_movement = world.time + (10*(pulledby.grab_level + 1)) + client.move_delay + else + client.next_movement = world.time + (10*pulledby.grab_level) + client.move_delay /mob/living/movement_delay() . = ..() @@ -445,9 +460,12 @@ /mob/proc/flash_eyes() return -/mob/living/flash_eyes(intensity = EYE_PROTECTION_FLASH, bypass_checks, type = /atom/movable/screen/fullscreen/flash, flash_timer = 40) - if( bypass_checks || (get_eye_protection() < intensity && !(sdisabilities & DISABILITY_BLIND))) - overlay_fullscreen("flash", type) +/mob/living/flash_eyes(intensity = EYE_PROTECTION_FLASH, bypass_checks, flash_timer = 40, type = /atom/movable/screen/fullscreen/flash, dark_type = /atom/movable/screen/fullscreen/flash/dark) + if(bypass_checks || (get_eye_protection() < intensity && !(sdisabilities & DISABILITY_BLIND))) + if(client?.prefs?.flash_overlay_pref == FLASH_OVERLAY_DARK) + overlay_fullscreen("flash", dark_type) + else + overlay_fullscreen("flash", type) spawn(flash_timer) clear_fullscreen("flash", 20) return TRUE diff --git a/code/modules/mob/living/living_health_procs.dm b/code/modules/mob/living/living_health_procs.dm index dd11eb8c7faf..986d8740f11f 100644 --- a/code/modules/mob/living/living_health_procs.dm +++ b/code/modules/mob/living/living_health_procs.dm @@ -525,7 +525,8 @@ hallucination = 0 jitteriness = 0 dizziness = 0 - + stamina.apply_damage(-stamina.max_stamina) + // restore all of a human's blood if(ishuman(src)) var/mob/living/carbon/human/H = src diff --git a/code/modules/mob/living/living_healthscan.dm b/code/modules/mob/living/living_healthscan.dm index c06dfc9a7166..30358dea20c1 100644 --- a/code/modules/mob/living/living_healthscan.dm +++ b/code/modules/mob/living/living_healthscan.dm @@ -79,6 +79,12 @@ GLOBAL_LIST_INIT(known_implants, subtypesof(/obj/item/implant)) // Fake death will make the scanner think they died of oxygen damage, thus it returns enough damage to kill minus already received damage. return round(POSITIVE(200 - total_mob_damage)) +/datum/health_scan/proc/get_holo_card_color(mob/living/target_mob) + if(!ishuman(target_mob)) + return + var/mob/living/carbon/human/human_mob = target_mob + return human_mob.holo_card_color + /datum/health_scan/proc/get_health_value(mob/living/target_mob) if(!(target_mob.status_flags & FAKEDEATH)) return target_mob.health @@ -97,7 +103,7 @@ GLOBAL_LIST_INIT(known_implants, subtypesof(/obj/item/implant)) "clone" = round(target_mob.getCloneLoss()), "blood_type" = target_mob.blood_type, "blood_amount" = target_mob.blood_volume, - + "holocard" = get_holo_card_color(target_mob), "hugged" = (locate(/obj/item/alien_embryo) in target_mob), ) @@ -467,6 +473,17 @@ GLOBAL_LIST_INIT(known_implants, subtypesof(/obj/item/implant)) return data +/datum/health_scan/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + if(.) + return + switch(action) + if("change_holo_card") + if(ishuman(target_mob)) + var/mob/living/carbon/human/target_human = target_mob + target_human.change_holo_card(ui.user) + return TRUE + /// legacy proc for to_chat messages on health analysers /mob/living/proc/health_scan(mob/living/carbon/human/user, ignore_delay = FALSE, show_limb_damage = TRUE, show_browser = TRUE, alien = FALSE, do_checks = TRUE) // ahem. FUCK WHOEVER CODED THIS SHIT AS NUMBERS AND NOT DEFINES. if(do_checks) diff --git a/code/modules/mob/living/living_verbs.dm b/code/modules/mob/living/living_verbs.dm index a9f41f679d34..777aa66fe29d 100644 --- a/code/modules/mob/living/living_verbs.dm +++ b/code/modules/mob/living/living_verbs.dm @@ -66,7 +66,7 @@ if (BB.opened) return visible_message("[BB] begins to wiggle violently!") - if(do_after(src, 5 SECONDS, INTERRUPT_ALL, BUSY_ICON_HOSTILE, BB))//5 second unzip from inside + if(do_after(src, 5 SECONDS, INTERRUPT_UNCONSCIOUS, BUSY_ICON_HOSTILE, BB))//5 second unzip from inside BB.open() ///The medical machines below are listed separately to allow easier changes to each process diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 9fa38d1ecb43..7f3af1449266 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -165,11 +165,11 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(message_mode) // we are talking into a radio if(message_mode == "headset") // default value, means general message_mode = "General" - log_say("[name != "Unknown" ? name : "([real_name])"] \[[message_mode]\]: [message] (CKEY: [key]) (JOB: [job])") + log_say("[name != "Unknown" ? name : "([real_name])"] \[[message_mode]\]: [message] (CKEY: [key]) (JOB: [job]) (AREA: [get_area_name(loc)])") else // we talk normally - log_say("[name != "Unknown" ? name : "([real_name])"]: [message] (CKEY: [key]) (JOB: [job])") + log_say("[name != "Unknown" ? name : "([real_name])"]: [message] (CKEY: [key]) (JOB: [job]) (AREA: [get_area_name(loc)])") else - log_say("[name != "Unknown" ? name : "([real_name])"]: [message] (CKEY: [key])") + log_say("[name != "Unknown" ? name : "([real_name])"]: [message] (CKEY: [key]) (AREA: [get_area_name(loc)])") return 1 diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index dcab9f70cbb5..14f220b3a77f 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -107,23 +107,6 @@ walk(src,0) . = ..() -/* - * Inventory - */ -/mob/living/simple_animal/parrot/show_inv(mob/user as mob) - user.set_interaction(src) - if(user.stat) return - - var/dat = "
Inventory of [name]

" - if(ears) - dat += "
Headset: [ears] (Remove)" - else - dat += "
Headset: Nothing" - - user << browse(dat, text("window=mob[];size=325x500", name)) - onclose(user, "mob[real_name]") - return - /mob/living/simple_animal/parrot/Topic(href, href_list) //Can the usr physically do this? diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index c11b8acd7f9a..13408be2096e 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -102,6 +102,8 @@ I = image('icons/mob/hud/sec_hud.dmi', src, "") if(HUNTER_CLAN,HUNTER_HUD) I = image('icons/mob/hud/hud_yautja.dmi', src, "") + if(HOLOCARD_HUD) + I = image('icons/mob/hud/marine_hud.dmi', src, "") I.appearance_flags |= NO_CLIENT_COLOR|KEEP_APART|RESET_COLOR hud_list[hud] = I @@ -370,25 +372,6 @@ SIGNAL_HANDLER reset_view(null) -/mob/proc/show_inv(mob/user) - user.set_interaction(src) - var/dat = {" -


[name] -

-
Head(Mask): [(wear_mask ? wear_mask : "Nothing")] -
Left Hand: [(l_hand ? l_hand : "Nothing")] -
Right Hand: [(r_hand ? r_hand : "Nothing")] -
Back: [(back ? back : "Nothing")] [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/tank) && !( internal )) ? text(" Set Internal", src) : "")] -
[(internal ? text("Remove Internal") : "")] -
Empty Pockets -
Refresh -
Close -
"} - show_browser(user, dat, name, "mob[name]") - return - - - /mob/proc/point_to_atom(atom/A, turf/T) //Squad Leaders and above have reduced cooldown and get a bigger arrow if(check_improved_pointing()) @@ -446,21 +429,6 @@ update_flavor_text() return - -/mob/MouseDrop(mob/M) - ..() - if(M != usr) return - if(usr == src) return - if(!Adjacent(usr)) return - if(!ishuman(M) && !ismonkey(M)) return - if(!ishuman(src) && !ismonkey(src)) return - if(M.is_mob_incapacitated()) - return - if(M.pulling == src && (M.a_intent & INTENT_GRAB) && M.grab_level == GRAB_AGGRESSIVE) - return - - show_inv(M) - /mob/proc/swap_hand() hand = !hand SEND_SIGNAL(src, COMSIG_MOB_SWAPPED_HAND) diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm index b9c5dd12a8aa..bd7370f4806f 100644 --- a/code/modules/mob/mob_grab.dm +++ b/code/modules/mob/mob_grab.dm @@ -146,6 +146,7 @@ xeno.visible_message(SPAN_WARNING("[xeno] devours [pulled]!"), \ SPAN_WARNING("We devour [pulled]!"), null, 5) + log_interact(xeno, pulled, "[key_name(xeno)] devoured [key_name(pulled)] at [get_area_name(xeno)]") if(ishuman(pulled)) var/mob/living/carbon/human/pulled_human = pulled diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 4d64307ad631..0f128b5bcb46 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -342,7 +342,7 @@ GLOBAL_LIST_INIT(limb_types_by_name, list( return FALSE -/mob/proc/abiotic(full_body = 0) +/mob/proc/abiotic(full_body = FALSE) if(full_body && ((src.l_hand && !( src.l_hand.flags_item & ITEM_ABSTRACT )) || (src.r_hand && !( src.r_hand.flags_item & ITEM_ABSTRACT )) || (src.back || src.wear_mask))) return TRUE @@ -386,68 +386,16 @@ GLOBAL_LIST_INIT(limb_types_by_name, list( /mob/proc/get_eye_protection() return EYE_PROTECTION_NONE -/mob/proc/a_select_zone(input, client/user) - var/atom/movable/screen/zone_sel/zone - - for(var/A in user.screen) - if(istype(A, /atom/movable/screen/zone_sel)) - zone = A - - if(!zone) +/// Change the mob's selected body zone to `target_zone`. +/mob/proc/select_body_zone(target_zone) + if(!target_zone || !hud_used?.zone_sel) return - switch(input) - if("head") - switch(usr.zone_selected) - if("head") - zone.selecting = "eyes" - if("eyes") - zone.selecting = "mouth" - if("mouth") - zone.selecting = "head" - else - zone.selecting = "head" - if("chest") - zone.selecting = "chest" - if("groin") - zone.selecting = "groin" - if("rarm") - switch(usr.zone_selected) - if("r_arm") - zone.selecting = "r_hand" - if("r_hand") - zone.selecting = "r_arm" - else - zone.selecting = "r_arm" - if("larm") - switch(usr.zone_selected) - if("l_arm") - zone.selecting = "l_hand" - if("l_hand") - zone.selecting = "l_arm" - else - zone.selecting = "l_arm" - if("rleg") - switch(usr.zone_selected) - if("r_leg") - zone.selecting = "r_foot" - if("r_foot") - zone.selecting = "r_leg" - else - zone.selecting = "r_leg" - if("lleg") - switch(usr.zone_selected) - if("l_leg") - zone.selecting = "l_foot" - if("l_foot") - zone.selecting = "l_leg" - else - zone.selecting = "l_leg" - if("next") - zone.selecting = next_in_list(usr.zone_selected, DEFENSE_ZONES_LIVING) - if("prev") - zone.selecting = prev_in_list(usr.zone_selected, DEFENSE_ZONES_LIVING) - zone.update_icon(usr) + // Update the mob's selected zone. + zone_selected = target_zone + // Update the HUD's selected zone. + hud_used.zone_sel.selecting = target_zone + hud_used.zone_sel.update_icon() #define DURATION_MULTIPLIER_TIER_1 0.75 #define DURATION_MULTIPLIER_TIER_2 0.5 @@ -482,7 +430,7 @@ GLOBAL_LIST_INIT(limb_types_by_name, list( // Medical if(SKILL_MEDICAL) if(skillcheck(src, SKILL_MEDICAL, SKILL_MEDICAL_MASTER)) - return DURATION_MULTIPLIER_TIER_2 + return 0.35 if(skillcheck(src, SKILL_MEDICAL, SKILL_MEDICAL_DOCTOR)) return DURATION_MULTIPLIER_TIER_1 // Surgeon @@ -603,7 +551,10 @@ GLOBAL_LIST_INIT(limb_types_by_name, list( for(var/mob/dead/observer/ghost as anything in GLOB.observer_list) if(!ghost.client) continue - ghost.notify_ghost(message, ghost_sound, enter_link, enter_text, source, alert_overlay, action, flashwindow, ignore_mapload, ignore_key, header, notify_volume, extra_large) + var/specific_ghost_sound = ghost_sound + if(!(ghost.client?.prefs?.toggles_sound & SOUND_OBSERVER_ANNOUNCEMENTS)) + specific_ghost_sound = null + ghost.notify_ghost(message, specific_ghost_sound, enter_link, enter_text, source, alert_overlay, action, flashwindow, ignore_mapload, ignore_key, header, notify_volume, extra_large) /mob/dead/observer/proc/notify_ghost(message, ghost_sound, enter_link, enter_text, atom/source, mutable_appearance/alert_overlay, action = NOTIFY_JUMP, flashwindow = FALSE, ignore_mapload = TRUE, ignore_key, header, notify_volume = 100, extra_large = FALSE) //Easy notification of a single ghosts. if(ignore_mapload && SSatoms.initialized != INITIALIZATION_INNEW_REGULAR) //don't notify for objects created during a map load @@ -654,7 +605,7 @@ GLOBAL_LIST_INIT(limb_types_by_name, list( alert_overlay.layer = FLOAT_LAYER alert_overlay.plane = FLOAT_PLANE - + alert_overlay.underlays.Cut() screen_alert.overlays += alert_overlay /mob/proc/reset_lighting_alpha() @@ -662,4 +613,3 @@ GLOBAL_LIST_INIT(limb_types_by_name, list( lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE sync_lighting_plane_alpha() - diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 7917394df830..f436863b2f2f 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -451,7 +451,7 @@ var/time_remaining = SSticker.GetTimeLeft() if(time_remaining > 0) - . += "Time To Start: [round(time_remaining)]s" + . += "Time To Start: [round(time_remaining)]s[SSticker.delay_start ? " (DELAYED)" : ""]" else if(time_remaining == -10) . += "Time To Start: DELAYED" else diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 7e8439cee244..174c05783550 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -257,8 +257,10 @@ return /datum/equipment_preset/uscm_ship/auxiliary_officer if(JOB_INTEL) return /datum/equipment_preset/uscm/intel/full - if(JOB_PILOT) - return /datum/equipment_preset/uscm_ship/po/full + if(JOB_CAS_PILOT) + return /datum/equipment_preset/uscm_ship/gp/full + if(JOB_DROPSHIP_PILOT) + return /datum/equipment_preset/uscm_ship/dp/full if(JOB_DROPSHIP_CREW_CHIEF) return /datum/equipment_preset/uscm_ship/dcc/full if(JOB_CORPORATE_LIAISON) diff --git a/code/modules/movement/movement.dm b/code/modules/movement/movement.dm index da0c76cba9d5..e12a5b439296 100644 --- a/code/modules/movement/movement.dm +++ b/code/modules/movement/movement.dm @@ -127,7 +127,7 @@ if(!same_loc) if(oldloc) oldloc.Exited(src, destination) - if(old_area && old_area != destarea) + if(old_area && (old_area != destarea || !isturf(destination))) old_area.Exited(src, destination) for(var/atom/movable/AM in oldloc) AM.Uncrossed(src) @@ -138,7 +138,7 @@ if(old_z != dest_z) onTransitZ(old_z, dest_z) destination.Entered(src, oldloc) - if(destarea && old_area != destarea) + if(destarea && (old_area != destarea || !isturf(oldloc))) destarea.Entered(src, oldloc) for(var/atom/movable/AM in destination) diff --git a/code/modules/nightmare/nmnodes/mapload.dm b/code/modules/nightmare/nmnodes/mapload.dm index 0687399a6612..0bfdc437bd4a 100644 --- a/code/modules/nightmare/nmnodes/mapload.dm +++ b/code/modules/nightmare/nmnodes/mapload.dm @@ -81,11 +81,11 @@ /** * Similar to variations mode, but rolls all files individually rather * than picking one, using name for landmark. The prefix number is used - * as a percentage chance. You can add extra text with an underscore. + * as a percentage chance. * * Example: * some/folder/10.something_funny.dmm - * would have 10% chance to insert at 'something' landmark + * would have 10% chance to insert at the 'something_funny' landmark */ /datum/nmnode/mapload/sprinkles id = "map_sprinkle" diff --git a/code/modules/paperwork/desk_bell.dm b/code/modules/paperwork/desk_bell.dm new file mode 100644 index 000000000000..6e7de1101ae7 --- /dev/null +++ b/code/modules/paperwork/desk_bell.dm @@ -0,0 +1,95 @@ +// A receptionist's bell + +/obj/item/desk_bell + name = "desk bell" + desc = "The cornerstone of any customer service job. You feel an unending urge to ring it." + icon = 'icons/obj/objects.dmi' + icon_state = "desk_bell" + w_class = SIZE_SMALL + embeddable = FALSE + /// The amount of times this bell has been rang, used to check the chance it breaks. + var/times_rang = 0 + /// Is this bell broken? + var/broken_ringer = FALSE + /// Holds the time that the bell can next be rang. + COOLDOWN_DECLARE(ring_cooldown) + /// The length of the cooldown. Setting it to 0 will skip all cooldowns alltogether. + var/ring_cooldown_length = 5 SECONDS // This is here to protect against tinnitus. + /// The sound the bell makes. + var/ring_sound = 'sound/misc/desk_bell.ogg' + +/obj/item/desk_bell/attack_hand(mob/living/user) + if(!ishuman(user)) + return FALSE + if(!anchored) + return ..() + if(!COOLDOWN_FINISHED(src, ring_cooldown)) + return FALSE + if(!ring_bell(user)) + to_chat(user, SPAN_NOTICE("[src] is silent. Some idiot broke it.")) + return FALSE + return TRUE + +/obj/item/desk_bell/MouseDrop(atom/over_object) + var/mob/mob = usr + if(!Adjacent(mob) || anchored) + return + if(!ishuman(mob)) + return + + if(over_object == mob) + mob.put_in_hands(src) + +/obj/item/desk_bell/attackby(obj/item/item, mob/user) + //Repair the desk bell if its broken and we're using a screwdriver. + if(HAS_TRAIT(item, TRAIT_TOOL_SCREWDRIVER)) + if(broken_ringer) + user.visible_message(SPAN_NOTICE("[user] begins repairing [src]..."), SPAN_NOTICE("You begin repairing [src]...")) + if(do_after(user, 5 SECONDS, INTERRUPT_ALL, BUSY_ICON_GENERIC)) + user.visible_message(SPAN_NOTICE("[user] repairs [src]."), SPAN_NOTICE("You repair [src].")) + playsound(src, 'sound/items/Screwdriver.ogg', 50) + broken_ringer = FALSE + times_rang = 0 + return TRUE + return FALSE + + //Return at this point if we're not on a turf so we don't anchor or unanchor inside our bag/hands or inventory. + if(!isturf(loc)) + return + + //Wrenching down and unwrenching. + if(HAS_TRAIT(item, TRAIT_TOOL_WRENCH)) + if(user.a_intent == INTENT_HARM) + visible_message(SPAN_NOTICE("[user] begins taking apart [src]..."), SPAN_NOTICE("You begin taking apart [src]...")) + playsound(src, 'sound/items/deconstruct.ogg', 35) + if(do_after(user, 5 SECONDS, INTERRUPT_ALL, BUSY_ICON_GENERIC)) + visible_message(SPAN_NOTICE("[user] takes apart [src]."), SPAN_NOTICE("You take apart [src].")) + new /obj/item/stack/sheet/metal(get_turf(src)) + qdel(src) + return TRUE + else + user.visible_message(SPAN_NOTICE("[user] begins [anchored ? "un" : ""]securing [src]..."), SPAN_NOTICE("You begin [anchored ? "un" : ""]securing [src]...")) + playsound(src, 'sound/items/Ratchet.ogg', 35, TRUE) + if(!do_after(user, 2 SECONDS, INTERRUPT_ALL, BUSY_ICON_GENERIC)) + return FALSE + user.visible_message(SPAN_NOTICE("[user] [anchored ? "un" : ""]secures [src]."), SPAN_NOTICE("You [anchored ? "un" : ""]secure [src].")) + anchored = !anchored + return TRUE + + +/// Check if the clapper breaks, and if it does, break it. Chance to break is 1% for every 100 rings of the bell. +/obj/item/desk_bell/proc/check_clapper(mob/living/user) + if(prob(times_rang / 100)) + to_chat(user, SPAN_NOTICE("You hear [src]'s clapper fall off of its hinge. Nice job hamfist, you broke it.")) + broken_ringer = TRUE + +/// Ring the bell. +/obj/item/desk_bell/proc/ring_bell(mob/living/user) + if(broken_ringer) + return FALSE + check_clapper(user) + COOLDOWN_START(src, ring_cooldown, ring_cooldown_length) + playsound(src, ring_sound, 80) + flick("desk_bell_activate", src) + times_rang++ + return TRUE diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 08711f295085..0d5eca1dd9a1 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -1,7 +1,9 @@ +/// Normal Photocopier, made by Seegson /obj/structure/machinery/photocopier name = "photocopier" icon = 'icons/obj/structures/machinery/library.dmi' icon_state = "bigscanner" + desc = "A photocopier used for copying... you know, photos! Also useful for copying documents on paper. This specific model has been manufactured by Seegson in a cheaper frame than most modern photocopiers. It uses more primitive copying technology resulting in more toner waste and less printing capabilities. Nonetheless, its cheap construction means cheaper costs, and for people that only need to print a paper or two most of the time, it becomes cost-effective." anchored = TRUE density = TRUE use_power = USE_POWER_IDLE @@ -11,9 +13,15 @@ var/obj/item/paper/copy = null //what's in the copier! var/obj/item/photo/photocopy = null var/obj/item/paper_bundle/bundle = null - var/copies = 1 //how many copies to print! - var/toner = 30 //how much toner is left! woooooo~ - var/maxcopies = 10 //how many copies can be copied at once- idea shamelessly stolen from bs12's copier! + ///how many copies to print! + var/copies = 1 + ///how much toner is left! woooooo~ + var/toner = 45 + ///how many copies can be copied at once- idea shamelessly stolen from bs12's copier! + var/maxcopies = 10 + ///the flick state to use when inserting paper into the machine + var/animate_state = "bigscanner1" + /obj/structure/machinery/photocopier/attack_remote(mob/user as mob) return attack_hand(user) @@ -116,7 +124,7 @@ if(user.drop_inv_item_to_loc(O, src)) copy = O to_chat(user, SPAN_NOTICE("You insert the paper into \the [src].")) - flick("bigscanner1", src) + flick(animate_state, src) updateUsrDialog() else to_chat(user, SPAN_NOTICE("There is already something in \the [src].")) @@ -125,7 +133,7 @@ if(user.drop_inv_item_to_loc(O, src)) photocopy = O to_chat(user, SPAN_NOTICE("You insert the photo into \the [src].")) - flick("bigscanner1", src) + flick(animate_state, src) updateUsrDialog() else to_chat(user, SPAN_NOTICE("There is already something in \the [src].")) @@ -134,13 +142,13 @@ if(user.drop_inv_item_to_loc(O, src)) bundle = O to_chat(user, SPAN_NOTICE("You insert the bundle into \the [src].")) - flick("bigscanner1", src) + flick(animate_state, src) updateUsrDialog() else if(istype(O, /obj/item/device/toner)) if(toner == 0) if(user.temp_drop_inv_item(O)) qdel(O) - toner = 30 + toner = initial(toner) to_chat(user, SPAN_NOTICE("You insert the toner cartridge into \the [src].")) updateUsrDialog() else @@ -239,6 +247,21 @@ return p +/// Upgraded photocopier, straight upgrade from the normal photocopier, made by Weyland-Yutani +/obj/structure/machinery/photocopier/wyphotocopier + name = "photocopier" + icon = 'icons/obj/structures/machinery/library.dmi' + icon_state = "bigscannerpro" + desc = "A photocopier used for copying... you know, photos! Also useful for copying documents on paper. This specific model has been manufactured by Weyland-Yutani in a more modern and robust frame than the average photocopiers you see from smaller companies. It uses some of the most advanced technologies in the area of paper-printing such as bigger toner economy and much higher printing capabilities. All that makes it the favorite among consumers that need to print high amounts of paperwork for their daily duties." + idle_power_usage = 50 + active_power_usage = 300 + copies = 1 + toner = 180 + maxcopies = 30 + animate_state = "bigscannerpro1" + + +/// The actual toner cartridge used in photcopiers /obj/item/device/toner name = "toner cartridge" icon_state = "tonercartridge" diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 69ce9ec4ce13..5614a4ffe52b 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -357,6 +357,33 @@ pictures_max = 20 w_class = SIZE_HUGE flags_equip_slot = NO_FLAGS //cannot be equiped + var/obj/structure/machinery/camera/correspondent/linked_cam + +/obj/item/device/camera/broadcasting/Destroy() + clear_broadcast() + return ..() + +/obj/item/device/camera/broadcasting/wield(mob/user) + . = ..() + if(!.) + return + linked_cam = new(loc, src) + SEND_SIGNAL(src, COMSIG_BROADCAST_GO_LIVE) + to_chat(user, SPAN_NOTICE("[src] begins to buzz softly as you go live.")) + +/obj/item/device/camera/broadcasting/unwield(mob/user) + . = ..() + clear_broadcast() + +/obj/item/device/camera/broadcasting/proc/clear_broadcast() + if(!QDELETED(linked_cam)) + QDEL_NULL(linked_cam) + +/obj/item/device/camera/broadcasting/proc/get_broadcast_name() + var/datum/component/label/src_label_component = GetComponent(/datum/component/label) + if(src_label_component) + return src_label_component.label_name + return "Broadcast [serial_number]" /obj/item/photo/proc/construct(datum/picture/P) icon = P.fields["icon"] diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 309fa583589c..c95fa6af5045 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -390,7 +390,7 @@ else if(status != LIGHT_BROKEN && status != LIGHT_EMPTY) - if(prob(1+W.force * 5)) + if(prob(1+W.force * W.demolition_mod * 5)) to_chat(user, "You hit the light, and it smashes!") for(var/mob/M as anything in viewers(src)) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 3f7533f26620..a678ceda165c 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -503,13 +503,13 @@ As sniper rifles have both and weapon mods can change them as well. ..() deals w if(slot in list(WEAR_L_HAND, WEAR_R_HAND)) set_gun_user(user) - if(HAS_TRAIT_FROM_ONLY(src, TRAIT_GUN_LIGHT_DEACTIVATED, user)) + if(HAS_TRAIT_FROM_ONLY(src, TRAIT_GUN_LIGHT_DEACTIVATED, WEAKREF(user))) force_light(on = TRUE) - REMOVE_TRAIT(src, TRAIT_GUN_LIGHT_DEACTIVATED, user) + REMOVE_TRAIT(src, TRAIT_GUN_LIGHT_DEACTIVATED, WEAKREF(user)) else set_gun_user(null) force_light(on = FALSE) - ADD_TRAIT(src, TRAIT_GUN_LIGHT_DEACTIVATED, user) + ADD_TRAIT(src, TRAIT_GUN_LIGHT_DEACTIVATED, WEAKREF(user)) return ..() @@ -1419,6 +1419,10 @@ and you're good to go. BP.generate_bullet(GLOB.ammo_list[projectile_to_fire.ammo.bonus_projectiles_type], 0, NO_FLAGS) BP.accuracy = round(BP.accuracy * projectile_to_fire.accuracy/initial(projectile_to_fire.accuracy)) //Modifies accuracy of pellets per fire_bonus_projectiles. BP.damage *= damage_buff + + BP.bonus_projectile_check = 2 + projectile_to_fire.bonus_projectile_check = 1 + projectile_to_fire.give_bullet_traits(BP) if(bullets_fired > 1) BP.original = attacked_mob //original == the original target of the projectile. If the target is downed and this isn't set, the projectile will try to fly over it. Of course, it isn't going anywhere, but it's the principle of the thing. Very embarrassing. @@ -1521,7 +1525,7 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed return //We just put the gun up. Can't do it that fast if(ismob(user)) //Could be an object firing the gun. - if(!user.IsAdvancedToolUser()) + if(!user.IsAdvancedToolUser() && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!")) return @@ -1751,7 +1755,7 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed else total_recoil -= user.skills.get_skill_level(SKILL_FIREARMS)*RECOIL_AMOUNT_TIER_5 - if(total_recoil > 0 && ishuman(user)) + if(total_recoil > 0 && (ishuman(user) || HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS))) if(total_recoil >= 4) shake_camera(user, total_recoil * 0.5, total_recoil) else @@ -1763,7 +1767,7 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed /obj/item/weapon/gun/proc/muzzle_flash(angle,mob/user) if(!muzzle_flash || flags_gun_features & GUN_SILENCED || isnull(angle)) return //We have to check for null angle here, as 0 can also be an angle. - if(!istype(user) || !istype(user.loc,/turf)) + if(!istype(user) || !isturf(user.loc)) return var/prev_light = light_range @@ -1772,12 +1776,12 @@ not all weapons use normal magazines etc. load_into_chamber() itself is designed set_light_on(TRUE) addtimer(CALLBACK(src, PROC_REF(reset_light_range), prev_light), 0.5 SECONDS) - var/image_layer = (user && user.dir == SOUTH) ? MOB_LAYER+0.1 : MOB_LAYER-0.1 - var/offset = 5 - - var/image/I = image('icons/obj/items/weapons/projectiles.dmi',user,muzzle_flash,image_layer) + var/image/I = image('icons/obj/items/weapons/projectiles.dmi', user, muzzle_flash, user.dir == NORTH ? ABOVE_LYING_MOB_LAYER : FLOAT_LAYER) var/matrix/rotate = matrix() //Change the flash angle. - rotate.Translate(0, offset) + if(iscarbonsizexeno(user)) + var/mob/living/carbon/xenomorph/xeno = user + I.pixel_x = xeno.xeno_inhand_item_offset //To center it on the xeno sprite without being thrown off by rotation. + rotate.Translate(0, 5) //Y offset to push the flash overlay outwards. rotate.Turn(angle) I.transform = rotate I.flick_overlay(user, 3) diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm index f875af99bb43..a2801821349c 100644 --- a/code/modules/projectiles/gun_attachables.dm +++ b/code/modules/projectiles/gun_attachables.dm @@ -2502,7 +2502,7 @@ Defined in conflicts.dm of the #defines folder. /obj/item/attachable/stock/smg/collapsible/brace/apply_on_weapon(obj/item/weapon/gun/G) if(stock_activated) - G.flags_item |= NODROP + G.flags_item |= NODROP|FORCEDROP_CONDITIONAL accuracy_mod = -HIT_ACCURACY_MULT_TIER_3 scatter_mod = SCATTER_AMOUNT_TIER_8 recoil_mod = RECOIL_AMOUNT_TIER_2 //Hurts pretty bad if it's wielded. @@ -2513,7 +2513,7 @@ Defined in conflicts.dm of the #defines folder. icon_state = "smg_brace_on" attach_icon = "smg_brace_a_on" else - G.flags_item &= ~NODROP + G.flags_item &= ~(NODROP|FORCEDROP_CONDITIONAL) accuracy_mod = 0 scatter_mod = 0 recoil_mod = 0 @@ -3221,6 +3221,10 @@ Defined in conflicts.dm of the #defines folder. to_chat(user, SPAN_WARNING("\The [gun] doesn't have enough fuel to launch a projectile!")) return + if(istype(flamer_reagent, /datum/reagent/foaming_agent/stabilized)) + to_chat(user, SPAN_WARNING("This chemical will clog the nozzle!")) + return + gun.last_fired = world.time gun.current_mag.reagents.remove_reagent(flamer_reagent.id, FLAME_REAGENT_USE_AMOUNT * fuel_per_projectile) diff --git a/code/modules/projectiles/gun_helpers.dm b/code/modules/projectiles/gun_helpers.dm index 781db8fc1222..e5d0ef1c0ef8 100644 --- a/code/modules/projectiles/gun_helpers.dm +++ b/code/modules/projectiles/gun_helpers.dm @@ -312,7 +312,7 @@ DEFINES in setup.dm, referenced here. var/tac_reload_time = 15 if(user.skills) tac_reload_time = max(15 - 5*user.skills.get_skill_level(SKILL_FIREARMS), 5) - if(do_after(user,tac_reload_time, INTERRUPT_ALL, BUSY_ICON_FRIENDLY) && magazine.loc == old_mag_loc && !current_mag) + if(do_after(user,tac_reload_time, (INTERRUPT_ALL & (~INTERRUPT_MOVED)) , BUSY_ICON_FRIENDLY) && magazine.loc == old_mag_loc && !current_mag) if(isstorage(magazine.loc)) var/obj/item/storage/master_storage = magazine.loc master_storage.remove_from_storage(magazine) @@ -460,9 +460,9 @@ DEFINES in setup.dm, referenced here. else attack_verb = list("slashed", "stabbed", "speared", "torn", "punctured", "pierced", "gored") //Greater than 35 /obj/item/weapon/gun/proc/get_active_firearm(mob/user, restrictive = TRUE) - if(!ishuman(usr)) - return if(user.is_mob_incapacitated() || !isturf(usr.loc)) + return + if(!ishuman(user) && !HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) to_chat(user, SPAN_WARNING("Not right now.")) return @@ -782,7 +782,7 @@ DEFINES in setup.dm, referenced here. if(flags_gun_features & GUN_BURST_FIRING) return - if(!ishuman(usr)) + if(!ishuman(usr) && !HAS_TRAIT(usr, TRAIT_OPPOSABLE_THUMBS)) return if(usr.is_mob_incapacitated() || !usr.loc || !isturf(usr.loc)) diff --git a/code/modules/projectiles/guns/flamer/flamer.dm b/code/modules/projectiles/guns/flamer/flamer.dm index 62e37e4f7c3b..64499a71bb12 100644 --- a/code/modules/projectiles/guns/flamer/flamer.dm +++ b/code/modules/projectiles/guns/flamer/flamer.dm @@ -136,7 +136,10 @@ click_empty(user) else user.track_shot(initial(name)) - unleash_flame(target, user) + if(current_mag.reagents.has_reagent("stablefoam")) + unleash_foam(target, user) + else + unleash_flame(target, user) return AUTOFIRE_CONTINUE return NONE @@ -226,6 +229,59 @@ new /obj/flamer_fire(to_fire, create_cause_data(initial(name), user), R, max_range, current_mag.reagents, flameshape, target, CALLBACK(src, PROC_REF(show_percentage), user), fuel_pressure, fire_type) +/obj/item/weapon/gun/flamer/proc/unleash_foam(atom/target, mob/living/user) + last_fired = world.time + if(!current_mag || !current_mag.reagents || !current_mag.reagents.reagent_list.len) + return + + var/source_turf = get_turf(user) + var/foam_range = 6 // the max range the foam will travel + var/distance = 0 // the distance traveled + var/use_multiplier = 3 // if you want to increase the ammount of foam drained from the tank + var/datum/reagent/chemical = current_mag.reagents.reagent_list[1] + + var/turf/turfs[] = get_line(user, target, FALSE) + var/turf/first_turf = turfs[1] + var/ammount_required = (min(turfs.len, foam_range) * use_multiplier) // the ammount of units that this click requires + for(var/turf/turf in turfs) + + if(chemical.volume < ammount_required) + foam_range = round(chemical.volume / use_multiplier) + + if(distance >= foam_range) + break + + if(turf.density) + break + else + var/obj/effect/particle_effect/foam/checker = new() + var/atom/blocked = LinkBlocked(checker, source_turf, turf) + if(blocked) + break + + if(turf == first_turf) // this is so the first foam tile doesn't expand and touch the user + var/datum/effect_system/foam_spread/foam = new() + foam.set_up(0.5, turf, metal_foam = FOAM_METAL_TYPE_IRON) + foam.start() + else + var/datum/effect_system/foam_spread/foam = new() + foam.set_up(1, turf, metal_foam = FOAM_METAL_TYPE_IRON) + foam.start() + sleep(2) + + distance++ + + var/ammount_used = distance * use_multiplier // the actual ammount of units that we used + + chemical.volume = max(chemical.volume - ammount_used, 0) + + current_mag.reagents.total_volume = chemical.volume // this is needed for show_percentage to work + + if(chemical.volume < use_multiplier) // there aren't enough units left for a single tile of foam, empty the tank + current_mag.reagents.clear_reagents() + + show_percentage(user) + /obj/item/weapon/gun/flamer/proc/show_percentage(mob/living/user) if(current_mag) to_chat(user, SPAN_WARNING("The gauge reads: [round(current_mag.get_ammo_percent())]% fuel remains!")) @@ -478,15 +534,7 @@ INVOKE_ASYNC(FS, TYPE_PROC_REF(/datum/flameshape, handle_fire_spread), src, fire_spread_amount, burn_dam, fuel_pressure) //Apply fire effects onto everyone in the fire - // Melt a single layer of snow - if (istype(loc, /turf/open/snow)) - var/turf/open/snow/S = loc - - if (S.bleed_layer > 0) - S.bleed_layer-- - S.update_icon(1, 0) - - //scorch mah grass HNNGGG + //scorch mah grass HNNGGG and muh SNOW hhhhGGG if (istype(loc, /turf/open)) var/turf/open/scorch_turf_target = loc if(scorch_turf_target.scorchable) diff --git a/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm index 0f767d679d03..f1d951324930 100644 --- a/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm +++ b/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm @@ -317,7 +317,7 @@ /obj/item/weapon/gun/launcher/grenade/m81/riot name = "\improper M81 riot grenade launcher" desc = "A lightweight, single-shot low-angle grenade launcher to launch tear gas grenades. Used by the Colonial Marines Military Police during riots." - valid_munitions = list(/obj/item/explosive/grenade/custom/teargas) + valid_munitions = list(/obj/item/explosive/grenade/custom/teargas, /obj/item/explosive/grenade/slug/baton) preload = /obj/item/explosive/grenade/custom/teargas //------------------------------------------------------- diff --git a/code/modules/projectiles/guns/specialist/launcher/launcher.dm b/code/modules/projectiles/guns/specialist/launcher/launcher.dm index 70f00aa83c35..d0731b2d43bc 100644 --- a/code/modules/projectiles/guns/specialist/launcher/launcher.dm +++ b/code/modules/projectiles/guns/specialist/launcher/launcher.dm @@ -38,6 +38,10 @@ new preload(cylinder) update_icon() +/obj/item/weapon/gun/launcher/Destroy(force) + QDEL_NULL(cylinder) + return ..() + /obj/item/weapon/gun/launcher/verb/toggle_draw_mode() set name = "Switch Storage Drawing Method" set category = "Object" diff --git a/code/modules/projectiles/guns/specialist/sniper.dm b/code/modules/projectiles/guns/specialist/sniper.dm index bdb0ba02f3ab..5b4a81fde273 100644 --- a/code/modules/projectiles/guns/specialist/sniper.dm +++ b/code/modules/projectiles/guns/specialist/sniper.dm @@ -19,6 +19,12 @@ var/sniper_beam_icon = "laser_beam" var/skill_locked = TRUE + /// Variables for Focus Fire and alternate icons for lockon and laser. + var/enable_aimed_shot_icon_alt = FALSE + var/sniper_lockon_icon_max = "sniper_lockon_intense" + var/sniper_beam_icon_max = "laser_beam_intense" + + /obj/item/weapon/gun/rifle/sniper/get_examine_text(mob/user) . = ..() if(!has_aimed_shot) @@ -117,7 +123,24 @@ f_aiming_time *= aim_multiplier - var/image/lockon_icon = image(icon = 'icons/effects/Targeted.dmi', icon_state = sniper_rifle.sniper_lockon_icon) + var/beam + var/lockon + + if(istype(sniper_rifle, /obj/item/weapon/gun/rifle/sniper/XM43E1)) + var/obj/item/weapon/gun/rifle/sniper/XM43E1/amr = sniper_rifle + if((amr.focused_fire_counter >= 1) && (target == amr.focused_fire_target?.resolve())) + sniper_rifle.enable_aimed_shot_icon_alt = TRUE + else + sniper_rifle.enable_aimed_shot_icon_alt = FALSE + + if(sniper_rifle.enable_aimed_shot_icon_alt) + beam = sniper_rifle.sniper_beam_icon_max + lockon = sniper_rifle.sniper_lockon_icon_max + else + beam = sniper_rifle.sniper_beam_icon + lockon = sniper_rifle.sniper_lockon_icon + + var/image/lockon_icon = image(icon = 'icons/effects/Targeted.dmi', icon_state = lockon) var/x_offset = -target.pixel_x + target.base_pixel_x var/y_offset = (target.icon_size - world.icon_size) * 0.5 - target.pixel_y + target.base_pixel_y @@ -128,7 +151,7 @@ var/image/lockon_direction_icon if(!sniper_rifle.enable_aimed_shot_laser) - lockon_direction_icon = image(icon = 'icons/effects/Targeted.dmi', icon_state = "[sniper_rifle.sniper_lockon_icon]_direction", dir = get_cardinal_dir(target, human)) + lockon_direction_icon = image(icon = 'icons/effects/Targeted.dmi', icon_state = "[lockon]_direction", dir = get_cardinal_dir(target, human)) lockon_direction_icon.pixel_x = x_offset lockon_direction_icon.pixel_y = y_offset target.overlays += lockon_direction_icon @@ -138,7 +161,7 @@ var/datum/beam/laser_beam if(sniper_rifle.enable_aimed_shot_laser) - laser_beam = target.beam(human, sniper_rifle.sniper_beam_icon, 'icons/effects/beam.dmi', (f_aiming_time + 1 SECONDS), beam_type = sniper_rifle.sniper_beam_type) + laser_beam = target.beam(human, beam, 'icons/effects/beam.dmi', (f_aiming_time + 1 SECONDS), beam_type = sniper_rifle.sniper_beam_type) laser_beam.visuals.alpha = 0 animate(laser_beam.visuals, alpha = initial(laser_beam.visuals.alpha), f_aiming_time, easing = SINE_EASING|EASE_OUT) @@ -204,12 +227,12 @@ var/blocked = FALSE for(var/turf/T in path) - if(T.density || T.opacity) + if(T.density && T.opacity) blocked = TRUE break for(var/obj/O in T) - if(O.get_projectile_hit_boolean(P)) + if(O.get_projectile_hit_boolean(P) && O.opacity) blocked = TRUE break @@ -330,7 +353,7 @@ /obj/item/weapon/gun/rifle/sniper/M42A/set_gun_config_values() ..() - set_fire_delay(FIRE_DELAY_TIER_7*3) + set_fire_delay(FIRE_DELAY_TIER_SNIPER) set_burst_amount(BURST_AMOUNT_TIER_1) accuracy_mult = BASE_ACCURACY_MULT * 3 //you HAVE to be able to hit scatter = SCATTER_AMOUNT_TIER_8 @@ -339,12 +362,15 @@ /obj/item/weapon/gun/rifle/sniper/XM43E1 name = "\improper XM43E1 experimental anti-materiel rifle" - desc = "An experimental anti-materiel rifle produced by Armat Systems, recently reacquired from the deep storage of an abandoned prototyping facility. This one in particular is currently undergoing field testing. Chambered in 10x99mm Caseless." + desc = "An experimental anti-materiel rifle produced by Armat Systems, recently reacquired from the deep storage of an abandoned prototyping facility. This one in particular is currently undergoing field testing. Chambered in 10x99mm Caseless.\nThis weapon can punch through thin metal plating and walls, though it'll lose most of its lethality in the process. It can even work for demolitions, with experienced users known to disassemble segments of solid, reinforced walls in the field with just a single standard magazine of 10x99mm. In lieu of explosives or an engineer, they instead use each of the 8 shots to break down vital structural supports, taking the wall apart in the process." icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi' icon_state = "xm43e1" item_state = "xm43e1" unacidable = TRUE indestructible = 1 + aimed_shot_cooldown_delay = 4.5 SECONDS + var/focused_fire_counter = 0 + var/datum/weakref/focused_fire_target = null fire_sound = 'sound/weapons/sniper_heavy.ogg' current_mag = /obj/item/ammo_magazine/sniper/anti_materiel //Renamed from anti-tank to align with new identity/description. Other references have been changed as well. -Kaga @@ -354,9 +380,9 @@ attachable_allowed = list(/obj/item/attachable/bipod) flags_gun_features = GUN_AUTO_EJECTOR|GUN_SPECIALIST|GUN_WIELDED_FIRING_ONLY|GUN_AMMO_COUNTER starting_attachment_types = list(/obj/item/attachable/pmc_sniperbarrel) - sniper_beam_type = /obj/effect/ebeam/laser/intense - sniper_beam_icon = "laser_beam_intense" - sniper_lockon_icon = "sniper_lockon_intense" + sniper_beam_type = /obj/effect/ebeam/laser + sniper_beam_icon = "laser_beam" + sniper_lockon_icon = "sniper_lockon" /obj/item/weapon/gun/rifle/sniper/XM43E1/handle_starting_attachment() ..() @@ -374,8 +400,9 @@ /obj/item/weapon/gun/rifle/sniper/XM43E1/set_gun_config_values() ..() - set_fire_delay(FIRE_DELAY_TIER_6 * 6 )//Big boy damage, but it takes a lot of time to fire a shot. - //Kaga: Adjusted from 56 (Tier 4, 7*8) -> 30 (Tier 6, 5*6) ticks. 95 really wasn't big-boy damage anymore, although I updated it to 125 to remain consistent with the other 10x99mm caliber weapon (M42C). Now takes only twice as long as the M42A. + set_fire_delay(FIRE_DELAY_TIER_AMR)//Big boy damage, but it takes a lot of time to fire a shot. + //Kaga: Fixed back to half the M42A's firerate (3 seconds), using a new define. + //This outright deals less DPS than the normal sniper rifle, 125 vs 140 per 3s. set_burst_amount(BURST_AMOUNT_TIER_1) accuracy_mult = BASE_ACCURACY_MULT + 2*HIT_ACCURACY_MULT_TIER_10 //Who coded this like this, and why? It just calculates out to 1+1=2. Leaving a note here to check back later. scatter = SCATTER_AMOUNT_TIER_10 @@ -385,10 +412,11 @@ /obj/item/weapon/gun/rifle/sniper/XM43E1/set_bullet_traits() LAZYADD(traits_to_give, list( BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_iff), - BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_penetrating), BULLET_TRAIT_ENTRY_ID("turfs", /datum/element/bullet_trait_damage_boost, 11, GLOB.damage_boost_turfs), BULLET_TRAIT_ENTRY_ID("breaching", /datum/element/bullet_trait_damage_boost, 11, GLOB.damage_boost_breaching), - //At 1375 per shot it'll take 1 shot to break resin turfs, and a full mag of 8 to break reinforced walls. + //At 1375 per shot it'll take 1 shot to break resin turfs usually (thick resin at 1350, RNG may vary), and a full mag of 8 to break reinforced walls. + //However, the second wall it hits will only take 550 damage, unable to even kill a full-health normal resin wall (900). + //Much more effective at breaking resin doors and membranes, which have less HP and slow down the projectile less. BULLET_TRAIT_ENTRY_ID("pylons", /datum/element/bullet_trait_damage_boost, 6, GLOB.damage_boost_pylons) //At 750 per shot it'll take 3 to break a Pylon (1800 HP). No Damage Boost vs other xeno structures yet, those will require a whole new list w/ the damage_boost trait. )) diff --git a/code/modules/projectiles/magazines/flamer.dm b/code/modules/projectiles/magazines/flamer.dm index 7fba325177c6..dfd9eda20d8a 100644 --- a/code/modules/projectiles/magazines/flamer.dm +++ b/code/modules/projectiles/magazines/flamer.dm @@ -90,7 +90,7 @@ to_chat(user, SPAN_WARNING("You can't mix fuel mixtures!")) return - if(!to_add.intensityfire) + if(!to_add.intensityfire && to_add.id != "stablefoam") to_chat(user, SPAN_WARNING("This chemical is not potent enough to be used in a flamethrower!")) return diff --git a/code/modules/projectiles/magazines/specialist.dm b/code/modules/projectiles/magazines/specialist.dm index 761e77305254..698d9efeaca2 100644 --- a/code/modules/projectiles/magazines/specialist.dm +++ b/code/modules/projectiles/magazines/specialist.dm @@ -30,7 +30,7 @@ //XM43E1 Magazine /obj/item/ammo_magazine/sniper/anti_materiel name = "\improper XM43E1 marksman magazine (10x99mm)" - desc = "A magazine of caseless 10x99mm anti-materiel rounds." + desc = "A magazine of caseless 10x99mm anti-materiel rounds, capable of penetrating through most infantry-level materiel. Depending on what you hit, it might even have enough energy to wound anything behind the target." max_rounds = 8 caliber = "10x99mm" default_ammo = /datum/ammo/bullet/sniper/anti_materiel diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 3ed10129f4d6..edb565158185 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -80,6 +80,16 @@ /// How much to make the bullet fall off by accuracy-wise when closer than the ideal range var/accuracy_range_falloff = 10 + /// Is this a lone (0), original (1), or bonus (2) projectile. Used in gun.dm and fire_bonus_projectiles() currently. + var/bonus_projectile_check = 0 + + /// What atom did this last receive a registered signal from? Used by damage_boost.dm + var/datum/weakref/last_atom_signaled = null + + /// Was this projectile affected by damage_boost.dm? If so, what was the last modifier? + var/damage_boosted = 0 + var/last_damage_mult = 1 + /obj/projectile/Initialize(mapload, datum/cause_data/cause_data) . = ..() path = list() @@ -164,6 +174,12 @@ apply_bullet_trait(L) /obj/projectile/proc/calculate_damage() + + if(damage_boosted) + damage = damage / last_damage_mult + damage_boosted-- + last_damage_mult = 1 + if(effective_range_min && distance_travelled < effective_range_min) return max(0, damage - round((effective_range_min - distance_travelled) * damage_buildup)) else if(distance_travelled > effective_range_max) @@ -215,6 +231,7 @@ //If we have the right kind of ammo, we can fire several projectiles at once. if(ammo.bonus_projectiles_amount && ammo.bonus_projectiles_type) ammo.fire_bonus_projectiles(src) + bonus_projectile_check = 1 //Mark this projectile as having spawned a set of bonus projectiles. path = get_line(starting, target_turf) p_x += clamp((rand()-0.5)*scatter*3, -8, 8) @@ -910,8 +927,8 @@ apply_effects(arglist(P.ammo.debilitate)) . = TRUE + bullet_message(P, damaging = damage) if(damage) - bullet_message(P) apply_damage(damage, P.ammo.damage_type, P.def_zone, 0, 0, P) P.play_hit_effect(src) @@ -1042,9 +1059,10 @@ if((ammo_flags & AMMO_FLAME) && (src.caste.fire_immunity & FIRE_IMMUNITY_NO_IGNITE|FIRE_IMMUNITY_NO_DAMAGE)) to_chat(src, SPAN_AVOIDHARM("You shrug off the glob of flame.")) + bullet_message(P, damaging = FALSE) return - if(isxeno(P.firer)) + if(isxeno(P.firer) && ammo_flags & (AMMO_ACIDIC|AMMO_XENO)) //Xenomorph shooting spit. Xenos with thumbs and guns can fully FF. var/mob/living/carbon/xenomorph/X = P.firer if(X.can_not_harm(src)) bullet_ping(P) @@ -1216,15 +1234,15 @@ /// People getting shot by a large amount of bullets in a very short period of time can lag them out, with chat messages being one cause, so a 1s cooldown per hit message is introduced to assuage that /mob/var/shot_cooldown = 0 -/mob/proc/bullet_message(obj/projectile/P) +/mob/proc/bullet_message(obj/projectile/P, damaging = TRUE) if(!P) return - if(COOLDOWN_FINISHED(src, shot_cooldown)) + if(damaging && COOLDOWN_FINISHED(src, shot_cooldown)) visible_message(SPAN_DANGER("[src] is hit by the [P.name] in the [parse_zone(P.def_zone)]!"), \ SPAN_HIGHDANGER("[isxeno(src) ? "We" : "You"] are hit by the [P.name] in the [parse_zone(P.def_zone)]!"), null, 4, CHAT_TYPE_TAKING_HIT) COOLDOWN_START(src, shot_cooldown, 1 SECONDS) - + var/shot_from = P.shot_from ? " from \a [P.shot_from]" : "" last_damage_data = P.weapon_cause_data if(P.firer && ismob(P.firer)) var/mob/firingMob = P.firer @@ -1232,7 +1250,7 @@ if(ishuman(firingMob) && ishuman(src) && faction == firingMob.faction && !A?.statistic_exempt) //One human shot another, be worried about it but do everything basically the same //special_role should be null or an empty string if done correctly if(!istype(P.ammo, /datum/ammo/energy/taser)) GLOB.round_statistics.total_friendly_fire_instances++ - var/ff_msg = "[key_name(firingMob)] shot [key_name(src)] with \a [P.name] in [get_area(firingMob)] [ADMIN_JMP(firingMob)] [ADMIN_PM(firingMob)]" + var/ff_msg = "[key_name(firingMob)] shot [key_name(src)] with \a [P][shot_from] in [get_area(firingMob)] [ADMIN_JMP(firingMob)] [ADMIN_PM(firingMob)]" var/ff_living = TRUE if(src.stat == DEAD) ff_living = FALSE @@ -1241,15 +1259,15 @@ var/mob/living/carbon/human/H = firingMob H.track_friendly_fire(P.weapon_cause_data.cause_name) else - msg_admin_attack("[key_name(firingMob)] tased [key_name(src)] in [get_area(firingMob)] ([firingMob.x],[firingMob.y],[firingMob.z]).", firingMob.x, firingMob.y, firingMob.z) + msg_admin_attack("[key_name(firingMob)] tased [key_name(src)][shot_from] in [get_area(firingMob)] ([firingMob.x],[firingMob.y],[firingMob.z]).", firingMob.x, firingMob.y, firingMob.z) else - msg_admin_attack("[key_name(firingMob)] shot [key_name(src)] with \a [P.name] in [get_area(firingMob)] ([firingMob.x],[firingMob.y],[firingMob.z]).", firingMob.x, firingMob.y, firingMob.z) - attack_log += "\[[time_stamp()]\] [key_name(firingMob)] shot [key_name(src)] with \a [P] in [get_area(firingMob)]." - firingMob.attack_log += "\[[time_stamp()]\] [key_name(firingMob)] shot [key_name(src)] with \a [P] in [get_area(firingMob)]." + msg_admin_attack("[key_name(firingMob)] shot [key_name(src)] with \a [P][shot_from] in [get_area(firingMob)] ([firingMob.x],[firingMob.y],[firingMob.z]).", firingMob.x, firingMob.y, firingMob.z) + attack_log += "\[[time_stamp()]\] [key_name(firingMob)] shot [key_name(src)] with \a [P][shot_from] in [get_area(firingMob)]." + firingMob.attack_log += "\[[time_stamp()]\] [key_name(firingMob)] shot [key_name(src)] with \a [P][shot_from] in [get_area(firingMob)]." return - attack_log += "\[[time_stamp()]\] SOMETHING?? shot [key_name(src)] with a [P]" - msg_admin_attack("SOMETHING?? shot [key_name(src)] with \a [P] in [get_area(src)] ([loc.x],[loc.y],[loc.z]).", loc.x, loc.y, loc.z) + attack_log += "\[[time_stamp()]\] [P.firer ? P.firer : "SOMETHING??"] shot [key_name(src)] with a [P][shot_from]" + msg_admin_attack("[P.firer ? P.firer : "SOMETHING??"] shot [key_name(src)] with \a [P][shot_from] in [get_area(src)] ([loc.x],[loc.y],[loc.z]).", loc.x, loc.y, loc.z) //Abby -- Just check if they're 1 tile horizontal or vertical, no diagonals /proc/get_adj_simple(atom/Loc1,atom/Loc2) diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm index 924f0f827584..36e8f9e179ff 100644 --- a/code/modules/reagents/Chemistry-Holder.dm +++ b/code/modules/reagents/Chemistry-Holder.dm @@ -4,6 +4,7 @@ var/maximum_volume = 100 var/atom/my_atom = null var/trigger_volatiles = FALSE + var/allow_star_shape = TRUE var/exploded = FALSE var/datum/weakref/source_mob @@ -165,9 +166,13 @@ if(specific_reagent) if(istype(R, specific_reagent)) R.last_source_mob = WEAKREF(new_source_mob) + if(R.data_properties) + R.data_properties["last_source_mob"] = R.last_source_mob return continue R.last_source_mob = WEAKREF(new_source_mob) + if(R.data_properties) + R.data_properties["last_source_mob"] = R.last_source_mob /datum/reagents/proc/copy_to(obj/target, amount=1, multiplier=1, preserve_data=1, safety = 0) if(!target) @@ -355,12 +360,12 @@ del_reagent(R.id) return FALSE -/datum/reagents/proc/reaction(atom/A, method=TOUCH, volume_modifier=0) +/datum/reagents/proc/reaction(atom/A, method=TOUCH, volume_modifier=0, permeable_in_mobs=TRUE) if(method != TOUCH && method != INGEST) return for(var/datum/reagent/R in reagent_list) if(ismob(A)) - R.reaction_mob(A, method, R.volume + volume_modifier) + R.reaction_mob(A, method, R.volume + volume_modifier, permeable_in_mobs) else if(isturf(A)) R.reaction_turf(A, R.volume + volume_modifier) else if(isobj(A)) @@ -674,7 +679,7 @@ duration = max_fire_dur // shape - if(supplemented > 0 && intensity > CHEM_FIRE_STAR_THRESHOLD) + if(supplemented > 0 && intensity > CHEM_FIRE_STAR_THRESHOLD && allow_star_shape) flameshape = FLAMESHAPE_STAR if(supplemented < 0 && intensity < CHEM_FIRE_IRREGULAR_THRESHOLD) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index b8c3d20df671..9825c12501c0 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -83,43 +83,42 @@ GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) for(var/datum/chem_property/P in properties) P.post_update_reagent() -/datum/reagent/proc/reaction_mob(mob/M, method=TOUCH, volume) //By default we have a chance to transfer some - if(!istype(M, /mob/living)) return 0 +/datum/reagent/proc/reaction_mob(mob/M, method=TOUCH, volume, permeable) //By default we have a chance to transfer some + if(!istype(M, /mob/living)) + return FALSE var/datum/reagent/self = src src = null //of the reagent to the mob on TOUCHING it. if(self.holder) //for catching rare runtimes - if(!istype(self.holder.my_atom, /obj/effect/particle_effect/smoke/chem)) + if(method == TOUCH && permeable && !istype(self.holder.my_atom, /obj/effect/particle_effect/smoke/chem)) // If the chemicals are in a smoke cloud, do not try to let the chemicals "penetrate" into the mob's system (balance station 13) -- Doohl + var/chance = 1 + var/block = FALSE - if(method == TOUCH) - - var/chance = 1 - var/block = 0 + for(var/obj/item/clothing/clothing in M.get_equipped_items()) + if(clothing.permeability_coefficient < chance) + chance = clothing.permeability_coefficient + if(istype(clothing, /obj/item/clothing/suit/bio_suit)) + // bio suits are just about completely fool-proof - Doohl + // kind of a hacky way of making bio suits more resistant to chemicals but w/e + if(prob(75)) + block = TRUE - for(var/obj/item/clothing/C in M.get_equipped_items()) - if(C.permeability_coefficient < chance) chance = C.permeability_coefficient - if(istype(C, /obj/item/clothing/suit/bio_suit)) - // bio suits are just about completely fool-proof - Doohl - // kind of a hacky way of making bio suits more resistant to chemicals but w/e - if(prob(75)) - block = 1 + if(istype(clothing, /obj/item/clothing/head/bio_hood)) + if(prob(75)) + block = TRUE - if(istype(C, /obj/item/clothing/head/bio_hood)) - if(prob(75)) - block = 1 + chance *= 100 - chance = chance * 100 + if(prob(chance) && !block) + if(M.reagents) + M.reagents.add_reagent(self.id, self.volume * 0.5) - if(prob(chance) && !block) - if(M.reagents) - M.reagents.add_reagent(self.id,self.volume/2) - for(var/datum/chem_property/P in self.properties) - var/potency = P.level * 0.5 - P.reaction_mob(M, method, volume, potency) + for(var/datum/chem_property/property in self.properties) + var/potency = property.level * 0.5 + property.reaction_mob(M, method, volume, potency) - - return 1 + return TRUE /datum/reagent/proc/reaction_obj(obj/O, volume) for(var/datum/chem_property/P in properties) diff --git a/code/modules/reagents/chemistry_machinery/reagent_grinder.dm b/code/modules/reagents/chemistry_machinery/reagent_grinder.dm index 1de4a84451e1..3c596b6a79a2 100644 --- a/code/modules/reagents/chemistry_machinery/reagent_grinder.dm +++ b/code/modules/reagents/chemistry_machinery/reagent_grinder.dm @@ -68,7 +68,10 @@ /obj/structure/machinery/reagentgrinder/Destroy() cleanup() - . = ..() + + QDEL_NULL(beaker) + + return ..() /obj/structure/machinery/reagentgrinder/update_icon() icon_state = "juicer"+num2text(!isnull(beaker)) diff --git a/code/modules/reagents/chemistry_reactions/other.dm b/code/modules/reagents/chemistry_reactions/other.dm index f03abec98fba..28250aa38803 100644 --- a/code/modules/reagents/chemistry_reactions/other.dm +++ b/code/modules/reagents/chemistry_reactions/other.dm @@ -174,13 +174,27 @@ holder.trigger_volatiles = TRUE return +/datum/chemical_reaction/custom/sticky + name = "Sticky-Napalm" + id = "stickynapalm" + result = "stickynapalm" + required_reagents = list("napalm" = 1, "fuel" = 1) + result_amount = 2 + +/datum/chemical_reaction/custom/high_damage + name = "High-Combustion Napalm Fuel" + id = "highdamagenapalm" + result = "highdamagenapalm" + required_reagents = list("napalm" = 1, "chlorine trifluoride" = 1) + result_amount = 2 + // Chemfire supplement chemicals. /datum/chemical_reaction/chlorinetrifluoride name = "Chlorine Trifluoride" id = "chlorine trifluoride" result = "chlorine trifluoride" required_reagents = list("fluorine" = 3, "chlorine" = 1) - result_amount = 1 + result_amount = 3 /datum/chemical_reaction/chlorinetrifluoride/on_reaction(datum/reagents/holder, created_volume) holder.trigger_volatiles = TRUE @@ -346,6 +360,12 @@ required_reagents = list("fluorine" = 2, "carbon" = 2, "sulphuric acid" = 1) result_amount = 5 +/datum/chemical_reaction/stablefoam + name = "Stabilized metallic foam" + id = "stablefoam" + result = "stablefoam" + required_reagents = list("fluorosurfactant" = 1, "iron" = 1, "sulphuric acid" = 1) + result_amount = 1 /datum/chemical_reaction/foam name = "Foam" diff --git a/code/modules/reagents/chemistry_reagents/food.dm b/code/modules/reagents/chemistry_reagents/food.dm index 2ee2a05bef32..939772825408 100644 --- a/code/modules/reagents/chemistry_reagents/food.dm +++ b/code/modules/reagents/chemistry_reagents/food.dm @@ -150,7 +150,7 @@ chemclass = CHEM_CLASS_RARE properties = list(PROPERTY_HYPERTHERMIC = 1) -/datum/reagent/condensedcapsaicin/reaction_mob(mob/living/M, method=TOUCH, volume) +/datum/reagent/condensedcapsaicin/reaction_mob(mob/living/M, method=TOUCH, volume, permeable) if(!istype(M, /mob/living) || has_species(M,"Horror")) return diff --git a/code/modules/reagents/chemistry_reagents/other.dm b/code/modules/reagents/chemistry_reagents/other.dm index ae1a42bd5e6d..dc70d65452fe 100644 --- a/code/modules/reagents/chemistry_reagents/other.dm +++ b/code/modules/reagents/chemistry_reagents/other.dm @@ -13,7 +13,7 @@ chemclass = CHEM_CLASS_RARE -/datum/reagent/blood/reaction_mob(mob/M, method=TOUCH, volume) +/datum/reagent/blood/reaction_mob(mob/M, method=TOUCH, volume, permeable) var/datum/reagent/blood/self = src src = null if(self.data_properties && self.data_properties["viruses"]) @@ -85,7 +85,7 @@ color = "#C81040" // rgb: 200, 16, 64 properties = list(PROPERTY_CURING = 4) -/datum/reagent/vaccine/reaction_mob(mob/M, method=TOUCH, volume) +/datum/reagent/vaccine/reaction_mob(mob/M, method=TOUCH, volume, permeable) if(has_species(M,"Horror")) return var/datum/reagent/vaccine/self = src @@ -124,7 +124,7 @@ src = null O.extinguish() -/datum/reagent/water/reaction_mob(mob/living/M, method=TOUCH, volume)//Splashing people with water can help put them out! +/datum/reagent/water/reaction_mob(mob/living/M, method=TOUCH, volume, permeable)//Splashing people with water can help put them out! if(!istype(M, /mob/living)) return if(method == TOUCH) @@ -517,7 +517,7 @@ if(volume >= 1 && istype(T)) T.clean_cleanables() -/datum/reagent/space_cleaner/reaction_mob(mob/M, method=TOUCH, volume) +/datum/reagent/space_cleaner/reaction_mob(mob/M, method=TOUCH, volume, permeable) if(iscarbon(M)) var/mob/living/carbon/C = M if(C.r_hand) @@ -592,7 +592,7 @@ reagent_state = LIQUID color = "#535E66" // rgb: 83, 94, 102 -/datum/reagent/xenomicrobes/reaction_mob(mob/M, method=TOUCH, volume) +/datum/reagent/xenomicrobes/reaction_mob(mob/M, method=TOUCH, volume, permeable) src = null if((prob(10) && method==TOUCH) || method==INGEST) M.contract_disease(new /datum/disease/xeno_transformation(0),1) @@ -613,6 +613,15 @@ color = "#664B63" // rgb: 102, 75, 99 chemclass = CHEM_CLASS_UNCOMMON +/datum/reagent/foaming_agent/stabilized + name = "Stabilized metallic foam" + id = "stablefoam" + description = "Stabilized metallic foam that solidifies when exposed to an open flame" + reagent_state = LIQUID + color = "#d4b8d1" + chemclass = CHEM_CLASS_UNCOMMON + properties = list(PROPERTY_TOXIC = 8) + /datum/reagent/nicotine name = "Nicotine" id = "nicotine" @@ -664,7 +673,7 @@ custom_metabolism = 100 //disappears immediately properties = list(PROPERTY_RAVENING = 1) -/datum/reagent/blackgoo/reaction_mob(mob/M, method=TOUCH, volume) +/datum/reagent/blackgoo/reaction_mob(mob/M, method=TOUCH, volume, permeable) if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.species.name == "Human") @@ -690,6 +699,40 @@ burn_sprite = "red" properties = list(PROPERTY_OXIDIZING = 6, PROPERTY_FUELING = 7, PROPERTY_FLOWING = 1) +/datum/reagent/napalm/sticky + name = "Sticky-Napalm" + id = "stickynapalm" + description = "A custom napalm mix, stickier and lasts longer but lower damage" + reagent_state = LIQUID + color = "#f8e3b2" + burncolor = "#f8e3b2" + burn_sprite = "dynamic" + intensitymod = -1.5 + durationmod = -5 + radiusmod = -0.5 + properties = list( + PROPERTY_INTENSITY = BURN_LEVEL_TIER_2, + PROPERTY_DURATION = BURN_TIME_TIER_5, + PROPERTY_RADIUS = 5, + ) + +/datum/reagent/napalm/high_damage + name = "High-Combustion Napalm Fuel" + id = "highdamagenapalm" + description = "A custom napalm mix, higher damage but not as sticky" + reagent_state = LIQUID + color = "#c51c1c" + burncolor = "#c51c1c" + burn_sprite = "dynamic" + intensitymod = -4.5 + durationmod = -1 + radiusmod = -0.5 + properties = list( + PROPERTY_INTENSITY = BURN_LEVEL_TIER_8, + PROPERTY_DURATION = BURN_TIME_TIER_1, + PROPERTY_RADIUS = 5, + ) + // This is the regular flamer fuel and pyro regular flamer fuel. /datum/reagent/napalm/ut name = "UT-Napthal Fuel" diff --git a/code/modules/shuttle/shuttles/crashable/lifeboats.dm b/code/modules/shuttle/shuttles/crashable/lifeboats.dm index 415a628be6e5..617ab0869afb 100644 --- a/code/modules/shuttle/shuttles/crashable/lifeboats.dm +++ b/code/modules/shuttle/shuttles/crashable/lifeboats.dm @@ -41,6 +41,9 @@ port_direction = EAST /obj/docking_port/mobile/crashable/lifeboat/evac_launch() + if (status == LIFEBOAT_LOCKED) + return + . = ..() available = FALSE diff --git a/code/modules/tgs/LICENSE b/code/modules/tgs/LICENSE index 2bedf9a63aa0..324c48e993e1 100644 --- a/code/modules/tgs/LICENSE +++ b/code/modules/tgs/LICENSE @@ -1,6 +1,6 @@ The MIT License -Copyright (c) 2017-2023 Jordan Brown +Copyright (c) 2017-2024 Jordan Brown Permission is hereby granted, free of charge, to any person obtaining a copy of this software and diff --git a/code/modules/tgs/core/datum.dm b/code/modules/tgs/core/datum.dm index 898516f12486..f734fd0527f0 100644 --- a/code/modules/tgs/core/datum.dm +++ b/code/modules/tgs/core/datum.dm @@ -7,7 +7,7 @@ TGS_DEFINE_AND_SET_GLOBAL(tgs, null) var/list/warned_deprecated_command_runs /datum/tgs_api/New(datum/tgs_event_handler/event_handler, datum/tgs_version/version) - . = ..() + ..() src.event_handler = event_handler src.version = version diff --git a/code/modules/tgs/core/tgs_version.dm b/code/modules/tgs/core/tgs_version.dm index a5dae1241a30..bc561e67487a 100644 --- a/code/modules/tgs/core/tgs_version.dm +++ b/code/modules/tgs/core/tgs_version.dm @@ -1,4 +1,5 @@ /datum/tgs_version/New(raw_parameter) + ..() src.raw_parameter = raw_parameter deprefixed_parameter = replacetext(raw_parameter, "/tg/station 13 Server v", "") var/list/version_bits = splittext(deprefixed_parameter, ".") diff --git a/code/modules/vehicles/interior/interactable/seats.dm b/code/modules/vehicles/interior/interactable/seats.dm index 253b4a066b4f..8abbf9f1190d 100644 --- a/code/modules/vehicles/interior/interactable/seats.dm +++ b/code/modules/vehicles/interior/interactable/seats.dm @@ -108,7 +108,9 @@ to_chat(user, SPAN_WARNING("You are unable to use heavy weaponry.")) return - for(var/obj/item/I in user.contents) //prevents shooting while zoomed in, but zoom can still be activated and used without shooting + if(!HAS_TRAIT(user, TRAIT_OPPOSABLE_THUMBS)) + return + for(var/obj/item/I in user.contents) //prevents shooting while zoomed in, but zoom can still be activated and used without shooting if(I.zoom) I.zoom(user) diff --git a/code/modules/vehicles/van/van.dm b/code/modules/vehicles/van/van.dm index 8bf114d6b4a8..a2e7d68bf9de 100644 --- a/code/modules/vehicles/van/van.dm +++ b/code/modules/vehicles/van/van.dm @@ -167,6 +167,8 @@ var/mob/M = I M.client.images -= normal_image + QDEL_NULL(lighting_holder) + return ..() diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index 014452426a3c..8632159b4f6d 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -84,10 +84,10 @@ else if(W.force) switch(W.damtype) if("fire") - health -= W.force * fire_dam_coeff + health -= W.force * W.demolition_mod * fire_dam_coeff if("brute") - health -= W.force * brute_dam_coeff - playsound(src.loc, "smash.ogg", 25, 1) + health -= W.force * W.demolition_mod * brute_dam_coeff + playsound(loc, "smash.ogg", 25, 1) user.visible_message(SPAN_DANGER("[user] hits [src] with [W]."),SPAN_DANGER("You hit [src] with [W].")) healthcheck() else diff --git a/code/span_macros.dm b/code/span_macros.dm index b6a0e79a956b..218f333d7df9 100644 --- a/code/span_macros.dm +++ b/code/span_macros.dm @@ -50,6 +50,7 @@ #define SPAN_MENTORHELP(X) ("" + X + "") #define SPAN_MENTORSAY(X) ("" + X + "") #define SPAN_MENTORBODY(X) ("" + X + "") +#define SPAN_NICHE(X) "[X]" #define SPAN_PM(X) "[X]" diff --git a/code/stylesheet.dm b/code/stylesheet.dm index ab74dc547cfa..145229e23424 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -31,6 +31,7 @@ em {font-style: normal; font-weight: bold;} .mentorstaff {color: #b5850d; font-weight: bold;} .staffsay {color: #b5850d; font-weight: bold;} .staff_ic {color: #000099;} +.niche {color: #386aff; font-weight: bold;} .name { font-weight: bold;} diff --git a/colonialmarines.dme b/colonialmarines.dme index 67f16fc49081..b69a03136b78 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -101,6 +101,7 @@ #include "code\__DEFINES\stamina.dm" #include "code\__DEFINES\stats.dm" #include "code\__DEFINES\status_effects.dm" +#include "code\__DEFINES\strippable.dm" #include "code\__DEFINES\STUI.dm" #include "code\__DEFINES\subsystems.dm" #include "code\__DEFINES\supply.dm" @@ -484,6 +485,7 @@ #include "code\datums\elements\light_blocking.dm" #include "code\datums\elements\mouth_drop_item.dm" #include "code\datums\elements\poor_eyesight_correction.dm" +#include "code\datums\elements\strippable.dm" #include "code\datums\elements\suturing.dm" #include "code\datums\elements\yautja_tracked_item.dm" #include "code\datums\elements\bullet_trait\damage_boost.dm" @@ -492,6 +494,7 @@ #include "code\datums\elements\bullet_trait\incendiary.dm" #include "code\datums\elements\bullet_trait\penetrating\heavy.dm" #include "code\datums\elements\bullet_trait\penetrating\penetrating.dm" +#include "code\datums\elements\bullet_trait\penetrating\weak.dm" #include "code\datums\elements\traitbound\_traitbound.dm" #include "code\datums\elements\traitbound\crawler.dm" #include "code\datums\elements\traitbound\gun_silenced.dm" @@ -788,9 +791,10 @@ #include "code\game\jobs\job\civilians\support\working_joe.dm" #include "code\game\jobs\job\command\command.dm" #include "code\game\jobs\job\command\auxiliary\auxiliary_support_officer.dm" +#include "code\game\jobs\job\command\auxiliary\cas_pilot.dm" #include "code\game\jobs\job\command\auxiliary\crew_chief.dm" +#include "code\game\jobs\job\command\auxiliary\dropship_pilot.dm" #include "code\game\jobs\job\command\auxiliary\intel.dm" -#include "code\game\jobs\job\command\auxiliary\pilot.dm" #include "code\game\jobs\job\command\auxiliary\senior.dm" #include "code\game\jobs\job\command\cic\captain.dm" #include "code\game\jobs\job\command\cic\executive.dm" @@ -929,12 +933,14 @@ #include "code\game\machinery\doors\door.dm" #include "code\game\machinery\doors\firedoor.dm" #include "code\game\machinery\doors\multi_tile.dm" -#include "code\game\machinery\doors\poddoor.dm" #include "code\game\machinery\doors\railing.dm" #include "code\game\machinery\doors\runed_sandstone.dm" -#include "code\game\machinery\doors\shutters.dm" #include "code\game\machinery\doors\unpowered.dm" #include "code\game\machinery\doors\windowdoor.dm" +#include "code\game\machinery\doors\poddoor\almayer.dm" +#include "code\game\machinery\doors\poddoor\poddoor.dm" +#include "code\game\machinery\doors\poddoor\two_tile.dm" +#include "code\game\machinery\doors\poddoor\shutters\shutters.dm" #include "code\game\machinery\embedded_controller\docking_program.dm" #include "code\game\machinery\embedded_controller\embedded_controller_base.dm" #include "code\game\machinery\embedded_controller\embedded_program_base.dm" @@ -1776,6 +1782,7 @@ #include "code\modules\gear_presets\survivors\survivors.dm" #include "code\modules\gear_presets\survivors\corsat\preset_corsat.dm" #include "code\modules\gear_presets\survivors\fiorina_sciannex\preset_fiorina_sciannex.dm" +#include "code\modules\gear_presets\survivors\fiorina_sciannex\riot_in_progress_insert_fiorina_nightmare.dm" #include "code\modules\gear_presets\survivors\kutjevo\preset_kutjevo.dm" #include "code\modules\gear_presets\survivors\lv_522\forcon_survivors.dm" #include "code\modules\gear_presets\survivors\lv_624\clfship_insert_lv624.dm" @@ -1914,6 +1921,7 @@ #include "code\modules\mob\living\carbon\human\human_dummy.dm" #include "code\modules\mob\living\carbon\human\human_helpers.dm" #include "code\modules\mob\living\carbon\human\human_movement.dm" +#include "code\modules\mob\living\carbon\human\human_stripping.dm" #include "code\modules\mob\living\carbon\human\inventory.dm" #include "code\modules\mob\living\carbon\human\life.dm" #include "code\modules\mob\living\carbon\human\login.dm" @@ -2162,6 +2170,7 @@ #include "code\modules\organs\wound.dm" #include "code\modules\paperwork\carbonpaper.dm" #include "code\modules\paperwork\clipboard.dm" +#include "code\modules\paperwork\desk_bell.dm" #include "code\modules\paperwork\filingcabinet.dm" #include "code\modules\paperwork\folders.dm" #include "code\modules\paperwork\notepad.dm" diff --git a/config/example/config.txt b/config/example/config.txt index f055a5d65bff..0aff7ee6def9 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -241,3 +241,15 @@ GAMEMODE_DEFAULT Extended ## How long the mob will take to chestburst, in seconds #EMBRYO_BURST_TIMER 450 + +## CLIENT VERSION CONTROL +## This allows you to configure the minimum required client version, as well as a warning version, and message for both. +## These trigger for any version below (non-inclusive) the given version, so 510 triggers on 509 or lower. +## These messages will be followed by one stating the clients current version and the required version for clarity. +#CLIENT_WARN_VERSION 514 +#CLIENT_WARN_BUILD 1589 +#CLIENT_WARN_MESSAGE Your version of BYOND may have issues or be blocked from accessing this server in the future. +#CLIENT_WARN_POPUP +CLIENT_ERROR_VERSION 514 +#CLIENT_ERROR_BUILD 1589 +#CLIENT_ERROR_MESSAGE Your version of BYOND is too old, may have issues, and is blocked from accessing this server. diff --git a/dependencies.sh b/dependencies.sh index 69f16156b9d7..01d0ca5c976c 100644 --- a/dependencies.sh +++ b/dependencies.sh @@ -4,8 +4,8 @@ #Final authority on what's required to fully build the project # byond version -export BYOND_MAJOR=514 -export BYOND_MINOR=1588 +export BYOND_MAJOR=515 +export BYOND_MINOR=1627 #rust_g git tag export RUST_G_VERSION=2.1.0 @@ -15,9 +15,7 @@ export NODE_VERSION=14 export NODE_VERSION_PRECISE=14.16.1 # SpacemanDMM git tag -export SPACEMAN_DMM_VERSION=suite-1.7.2 +export SPACEMAN_DMM_VERSION=suite-1.8 # Python version for mapmerge and other tools export PYTHON_VERSION=3.7.9 - -export OPENDREAM_VERSION=tgs-min-compat diff --git a/html/changelogs/AutoChangeLog-pr-5932.yml b/html/changelogs/AutoChangeLog-pr-5932.yml deleted file mode 100644 index e7584e57568b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-5932.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "nauticall" -delete-after: True -changes: - - bugfix: "Makes pill bottle caps appear on closed pill bottles again." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-6183.yml b/html/changelogs/AutoChangeLog-pr-6183.yml new file mode 100644 index 000000000000..5971ec8dae32 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-6183.yml @@ -0,0 +1,4 @@ +author: "Steelpoint" +delete-after: True +changes: + - rscadd: "UPP and CLF Combat Synthetic preset is now available for admins to spawn them in." \ No newline at end of file diff --git a/html/changelogs/archive/2024-03.yml b/html/changelogs/archive/2024-03.yml index 62e6449f15b3..1ad71612a6fb 100644 --- a/html/changelogs/archive/2024-03.yml +++ b/html/changelogs/archive/2024-03.yml @@ -180,3 +180,158 @@ vendor. Segrain: - qol: Middleclicking beds/chairs/etc is now a shortcut for buckling to them. +2024-03-16: + nauticall: + - bugfix: Makes pill bottle caps appear on closed pill bottles again. +2024-03-17: + Huffie56: + - refactor: refactored areas replaced stern hallway by aft added two new hallway + area(fore, midship) + - refactor: refactored areas replaced midship maintenance by for and added two new + maintenance areas(fore, aft) with each starboard and port side. + - maptweak: removed all the emergency shutter that weren't at the borders of each + areas. + - maptweak: added back the bear belt in a closet in a dormitory. + - maptweak: reconnect some air pipe in an hallway north upper engi. + Segrain: + - bugfix: Ghosts no longer miss announcements seemingly at random. + SpartanBobby: + - maptweak: Removes some ledges on LV522 + - maptweak: Removes unintended hullwalls on LV522 + realforest2001: + - rscadd: Updated the Insanity law description. +2024-03-18: + Katskan: + - balance: changed medical 4 skill speed multiplier from tier 2 to a non-standard + 0.35 + - balance: changed defib medical skill speed scaling + Nanu308: + - mapadd: Added the Galaxy Pizza Space Diner ERT station, for all your outer expanse + food needs! + - maptweak: Placed APC's on ert stations and minor tweaks+fixes. + Segrain: + - bugfix: Professor Dummy in CMO's office now works properly. +2024-03-19: + 567Turtle: + - rscadd: PO has been split into two roles, the gunship pilot and the dropship pilot, + no more arguing over who gets CAS. + Drathek: + - bugfix: Overdose death messages will now mention last mob that contributed to + the OD + - admin: Many additions to attack, say, interact, and niche logging + - admin: Temporary muted messages/actions are now niche logged instead of say logged + - ui: Added niche log filtering to TGChat (still requires admin niche logs preference) + SabreML: + - admin: Made the 'Join as Xeno' button disable the user's larva protection when + clicked by a moderator. + TheGamerdk: + - bugfix: Synths can now have their heads reattached without being sent to limbo-crit-hell. + TotalEpicness5: + - bugfix: Stamina damage can now be ahealed. + Waseemq1235: + - rscdel: Removes HEAP from all UPP vendor gear presets +2024-03-20: + Huffie56: + - maptweak: Fix ugliness at 5 different areas. + - maptweak: added access restriction for doors that lack them(OT workshop, engi + dormitory, Upper engi back storage door.) + Katskan: + - rscadd: Added some new uniforms and hats + - rscadd: Added blood packs to vendor for 5 points, equal to a pill bottle + - rscadd: Added tactical prybar to vendor for 5 points + - rscadd: Added some surgical tools, very expensive costs essentially your entire + point budget to buy + realforest2001: + - rscadd: Changed all marine presets to use Dress Blues as their dress equipment. + - rscdel: Excluding Whiskey Outpost, removed all previous dress equipment from vendors. +2024-03-21: + BadAtThisGame302: + - rscadd: Heavily Updated Corpse Code. + Birdtalon: + - admin: Xeno eggs now take fingerprints. + Huffie56: + - qol: 'add some balloons for CPR : one is for when it''s a success and the other + is when it''s a failure.' + - refactor: refactored poddoor file and shutters file. + Steelpoint: + - maptweak: Adds several cardboard box spawns in to squad prep rooms. +2024-03-23: + Drathek: + - ui: Tweaked layout for role preferences windows + Vicacrov: + - rscadd: Tacmap announcements are now also muted if you have hear/silence ghost + announcements toggled on. +2024-03-24: + DN9123: + - rscadd: Added a couple of fortunes in strings/fortunes.txt + - spellcheck: fixed a grammar error I found in strings/fortunes.txt + Segrain: + - admin: Spawning nondeathsquad MARSOC now properly recognises "current location" + option. + ihatethisengine: + - bugfix: Fixed delayed launch launching lifeboat even if locked by queen +2024-03-25: + Birdtalon, Kat 'APC' Smith, Thwomp, Waseemq1235: + - rscadd: Desk bell for cargo, medbay, brig, and AI reception. + - soundadd: Desk bell sound effect. +2024-03-26: + Huffie56: + - bugfix: move semiotic in north evac pod so you can't see it when your behind in + hull maintenance. + InsaneRed: + - balance: Wardens can heal eachother once again, but only half the health + - qol: Gives SPAN_XENOHIGHDANGER to heal/reju on positives, since its very easy + to miss if you actually healed soembody. + MobiusWon: + - rscadd: Uniforms vend with USCM patch. + SabreML: + - refactor: Refactored the bodypart selection keybinds. + - bugfix: Fixed a bug where selecting a new body zone would sometimes modify the + wrong HUD element. + vero5123: + - bugfix: fixes users not being able to resist out of the stasis bags + - bugfix: Fixes zombies missing claws on transformation +2024-03-27: + Ben10083: + - rscadd: Working Joes can now respawn as a Working Joe after 15 minutes, previous + restriction on respawn removed. + - admin: New flag to disable Working Joe respawns + - rscadd: Hazard Joes now have their own emotes + - code_imp: Hazard Joes now a seperate species + - code_imp: Updated isworkingjoe and new ishazardjoe define + - refactor: Working Joe emotes and emote categories now a globally defined list + - soundadd: New Hazard Joe voicelines + Katskan: + - balance: Autocompressor gives 7 seconds of grace time every 7.5 seconds, instead + of 7 seconds every 10 seconds. Approximately 93% efficient, increased from 70% + efficient. + QuickLode: + - rscadd: adds a purple armband and uniform to Synth Vendor + - rscadd: adds a renamed uniform commonly used by colonists with a better name + Vicacrov: + - rscadd: Added holocards to health scans to improve communication between medical + players. You can now assign holocards via the health analyzer and the body scanner + as well. The health scan also tells you what the current holocard's colour means. + - rscadd: Added a new purple holocard to tag infected marines. + - rscdel: Clicking yourself no longer removes your own holocard. +2024-03-29: + SpartanBobby: + - maptweak: Changes to hullwall placment on Kutjevo this PR should allow you to + break open much more of the colony buildings aswell as get into new areas to + flank and play around + blackdragonTOW: + - code_imp: Added a third level of zoom to the Toggle Zoom verb + vero5123: + - bugfix: Fixes teleporting when placing mobs onto chairs and beds. +2024-03-30: + cuberound: + - qol: old cosmetic NVG can not be broken + iloveloopers: + - balance: You can now use the mortar while shipside during hijack, but only once. + - rscadd: Ghosts now get a warning when a custom mortar shell is about to land. +2024-03-31: + SpartanBobby: + - maptweak: 'Changes to LV522: Less ledges overall' + - maptweak: 'Changes to LV522: More breakable entry to the reactor' + - maptweak: 'Changes to LV522: Removed dead end in reactor' + - maptweak: New weedable zone west of LZ2 T-comms tower diff --git a/html/changelogs/archive/2024-04.yml b/html/changelogs/archive/2024-04.yml new file mode 100644 index 000000000000..efa0f73ad350 --- /dev/null +++ b/html/changelogs/archive/2024-04.yml @@ -0,0 +1,331 @@ +2024-04-01: + Drathek: + - rscadd: Moved holocards to the squad hud + Huffie56: + - refactor: refactored the lambda areas. + - maptweak: turned south padlock into a checkpoint. + - bugfix: replace space bellow door in the temple by proper floor. + - maptweak: added a missing platform part. + SabreML: + - bugfix: Fixed a runtime error caused when trying to open an already opened backpack. + - bugfix: Fixed a few runtime errors caused by the 'Cycle Helmet HUD' keybind. + - bugfix: Fixed a runtime error preventing a 'Marine Minor' (Hive collapse) roundend + state. + Segrain: + - bugfix: Mortar works properly once again. + SpartanBobby: + - maptweak: LV522 Cargo containers keeping FORECON out of the crashed ship have + been moved back slightly allowing marines and xenos a new flank route + realforest2001: + - code_imp: Removes an unused camera var. +2024-04-02: + sleepynecrons: + - imageadd: added missing backpack onmob states for "classic" gearset +2024-04-03: + vero5123: + - bugfix: lowers the scalpel and chunk box's ability to destroy various structures. + - rscadd: chunk box is now a melee weapon +2024-04-04: + QuickLode: + - qol: Moves CL's Office and SEA's Office phone lines to "Offices" category. + realforest2001: + - rscadd: Added AI Core camera consoles to CE, CO and Brig offices, along with CIC + and Lifeboat bubble. + - maptweak: Added Tech Control Console to ARES Core. + - rscadd: Added Tech Unlock logs to ARES Interface +2024-04-05: + Drathek: + - bugfix: Fixed some number entry for your pin and access code in the EFTPOS + Git-Nivrak: + - qol: Acid sprays will now extinguish fire from other xenomorphs more consistently + ihatethisengine: + - balance: night vision optics no longer can be used with binoculars. + vero5123: + - bugfix: xenos can no longer attempt to use corrosive acid after death +2024-04-06: + Huffie56: + - balance: add the ability to store fixOvein in the pouch medkit. + QuickLode: + - balance: Metal rods take up less space in an inventory (3 slots to 2) + - code_imp: removes some redundant code on plasteel rods + vero5123: + - bugfix: fixes queen getting stuck in the lobby if they take too long +2024-04-07: + Ben10083: + - balance: Mobs with super strength now have an advantage when resisting of a grab + is done, both as the grabber and the one being grabbed (Xenos not affected, + works as before). + - balance: Mobs with super strength no longer have their passive grabs a guaranteed + resist (unless both super). + Drathek: + - bugfix: Fixed objectives not getting displayed for CMB and cultist ERTs. + - balance: Cryotubes no longer multiply chemicals. + - balance: Cryotubes can now allow chemicals to process in dead if cryoxadone or + clonexadone is present. + - bugfix: Fixed cryotubes not actually updating their icons/power usage when they + become unpowered. + - bugfix: Fixed cryotubes healing despite inoperable. + - bugfix: The cryotube Eject Occupant verb now works for people other than the occupant + (useful if inoperable) + - ui: Cryotubes can optionally announce again on the medical channel. + InsaneRed: + - balance: Goon armor properly has slowdown now + Johannes2262: + - maptweak: All cell shutters are now linked to the button in the warden's office + Kaga: + - rscadd: Added the XM43E1 Anti-Materiel Rifle as a pickable sidegrade option for + USCM Sniper Specs through the vendor, mutually exclusive with the normal M42A + Sniper Rifle. The AMR can shred obstacles, blow a hole through most infantry + and their equipment, and even hit a collateral on multiple targets or through + light cover, but its lack of specialized ammunition and small magazine mean + that you'll need to make every shot count. Ammo can be bought from Req, at the + same cost per magazine as the M42A. + - balance: Completely updated the XM43E1 AMR, adding damage falloff to its wall-piercing + properties whenever it hits something alongside range loss. Most things reduce + its damage by 20%. Dense walls and big xenos reduce both the damage and range + 3 times as much. + NervanCatos: + - balance: removes CT access to marine prep weapons racks, doubles ammo count of + all regular ammo in req to compensate. + SabreML: + - admin: Added attack logging for Xeno tackling. + Vanagandr, totalepicness: + - rscadd: Added a button to event panel to give xenomorphs opposable thumbs and + firearms permits, to individuals, to hives, or to all xenos everywhere. They're + clumsy, though, and have issues with fine manipulation sometimes. Remember that + warriors cannot throw objects and make for poor grenadiers. + - rscadd: Xenos with opposable thumbs can use buckles, drive vehicles, use machine + guns and vendors without care for access or skills + Waseemq1235: + - mapadd: Added an APOLLO maintenance controller to the Warden's Office. + cuberound: + - balance: greatly decreses snow removal time, now it depends on xenomorph size + - balance: allows movement during tactical reload (to perform tactical reload click + and drag from a magazine to gun in your hand) + - balance: reduced GAU spread from 9x9 to 7x7 + - balance: reduced GAU shots fired per shot back to 1 (bullets per tile from 0.99 + to 0.82) + realforest2001: + - rscadd: Added ARES logging for launching supply drops. + - admin: Added staff logs for launching supply drops. + vero5123: + - bugfix: Fixes armor light staying on after removal. +2024-04-08: + BadAtThisGame302: + - rscadd: Added the new UPPA and Naval Patches to all UPP inserts. + - bugfix: Fixed the insulated gloves not having the insulated sprite. + - imageadd: added a black and blue satchel, also an updated red armband sprite courtesy + of AmoryBlaine + - imageadd: added a big UA flag, a UPP table and two new UPP patches all thanks + to the folks over at PVE. AmoryBlaine, Morrow and AndroBetel + HumiliatedGoblin: + - rscadd: Adds a one hour medical timelock for DCC's + - rscadd: 'Adds a tip of the round to accommodate for this PR and #5808' + - balance: DCCs and Pilots can now fix queen broken dropship doors + Mister-moon1: + - balance: increased GL and pyro armour light range to properly match other armours + like it. + SabreML: + - ui: Added a 'search by key' button to the Keybind menu. + Stan_albatross,kugamo,LTNTS,Drathek: + - balance: medical vendors, excepting nanomeds, can now only refill/restock stacks + and autoinjectors/bottles when on special medical supply link ports that can + only be found shipside. Sprite by kugamo. + - bugfix: supply pads will no longer generate ambient occlusion. + Steelpoint: + - rscadd: MRE's will now auto-delete if they do not contain and food items when + they are discarded. + cuberound: + - balance: flames melt the snow + ihatethisengine: + - rscadd: CC camera now can broadcast to TVs. +2024-04-09: + vero5123: + - bugfix: Notifications should no longer emit light. +2024-04-10: + Drathek: + - rscadd: Added preference for a darker crit overlay and black flash overlay +2024-04-12: + BadAtThisGame302: + - bugfix: The CMB Deputy not being able to use his breaching charge by replacing + it with a rubber one. + InsaneRed: + - rscdel: Helmets no longer hide ears + TopHatPenguin: + - bugfix: Fixes Nightmare documentation example. +2024-04-13: + Drathek: + - bugfix: Fixed cryotubes still duplicating chemicals because of touch reactions + HeresKozmos: + - rscadd: Added over a dozen new tips for playing Xenomorph. +2024-04-14: + BadAtThisGame302: + - rscadd: Added a CL Surv to Trijent and a CMB Surv to LV. + - qol: Changes almost all survivors regardless of maps to fit a more modern artstyle + with their uniforms and to remove any marine clothing, as well as updating various + presets. + Ben10083: + - spellcheck: fixed a grammar mistake in a Working Joe voiceline + Drathek: + - bugfix: Fixed colony lights deconstructing sometimes after explosions + - maptweak: Added medlinks under the marinemeds in medbay, hangar panic room, and + CIC armory. + - rscadd: Patting someone that is dizzy will no longer unrest them + - bugfix: Fixed unboxed machines not connecting to the power net + Git-Nivrak: + - rscadd: Throws will now attempt to reach their target rather than the turf they + were on when thrown + Huffie56: + - balance: added the option to buy restricted firearm for the specialist SU-6 and + VP78 each for 15points. + - balance: added the option to buy sidearm ammunition M44 (heavy and Marksman) and + SU-6 mag for 10 point each. + - balance: added the option to buy sidearm ammunition M4A3 HP and AP for 5 point + each. + - balance: added the option to buy a whistle for 5 point and a data detector for + 10 point. + - balance: added the option to buy binoculars for 5 point range finder for 10 point + and laser designator for 15 point. + JohnFulpWillard: + - imageadd: Added the Quebec flag to OOC for all Quebecois. + QuickLode: + - rscadd: 'Adds four new Colony Synthetic Variants: Archaeologist, ICC, Landing + Pad Attendant, Surveyor. These are distinctive RP quirks which should help players + better choose roles they like, they also flesh out the variants.' + - rscadd: Diversifies Colony Synthetic weapons and loadouts to be more flavorful + and fitting to their roles. + - balance: nerfs the backpack of Corporate Protection Synthetic(to 5 spaces) and + nailgun ammo for Engineering Synthetic(from 3 to 1) + - balance: Brings up several antiquated tools to slightly below 'CM' level (kitchen + blades to about a knife, pickaxe to about a machete, police baton to a knife) + - bugfix: adds missing hit sound to pickaxe(slicing) + - bugfix: adds missing pouch for UPP Synthetic Survivor + - spellcheck: properly names reconaissance synthetic in spawn + - rscdel: removes Detective and Janitor Synthetic from rotation(temporary, until + I can better reaestheticize their looks) + Tim Harley cookpet: + - rscadd: Added 2 new flamer fuels craftable by OTs/Chemistry + - balance: CLF3 recipe now gives more units per reaction + - balance: OT rockets explosion power and falloff nerfed to be slightly more explosive + than the OT M15 grenade (240 exp, 90 falloff). + - balance: OT rockets max container volume increased to 210 units (1 beaker, 1 bottle, + 1 vial). + - balance: OT rockets max fire intensity increased to 40 and max duration increased + to 48. + - balance: OT rockets can no longer make a star shaped fire. + - balance: OT rockets max range increased to 7 tiles. + harryob: + - code_imp: 515.1627 is now required for development - this is not enforced to play + on the server, yet + realforest2001: + - bugfix: Fixes praetorian acid ball harming the prae and other xenos. +2024-04-15: + LTNTS: + - maptweak: moves APC in Chance's Claim LZ1 to where it can actually be fixed +2024-04-16: + Huffie56, Zenith, esselnek/sleepynecrons, samy/nauticall, drulikar.: + - rscadd: Added fuel pump as machinery on the almayer sprite will change when power + is on or off. + - rscadd: Fuel pumps are animated when activated and have different state depending + on how full the lifeboats are. + - imageadd: added the fuel pump icon. updated by esselnek /sleepynecrons and Zenith, + they where originally made by nauticall. + - maptweak: added the fuel pump to the proper locations. + ihatethisengine2: + - rscadd: ported stripping menu from TG +2024-04-17: + QuickLode: + - balance: M3A1 Synthetic Utility Vest only has a 10% slowdown. + iloveloopers: + - bugfix: You can no longer buckle xenos onto chairs + realforest2001: + - rscadd: Added Nerve Gas Release control buttons to the ARES and APOLLO interfaces, + allowing the AI core to be secured from large groups or xenomorphs. Built in + cooldowns should prevent fatalities. + - maptweak: Remodelled the AI Core Reception and WJ spawn area. + - maptweak: Switches AI Core cameras over to manual naming. + - imageadd: Added sprites for AI Core windows on black Almayer frames. + usnpeepoo: + - balance: Berserker's rage lock-out duration increased slightly +2024-04-18: + InsaneRed: + - balance: Hedgehog now gains explosion immunity to nades if you have above half + shard amount. + MrStonedOne, LemonInTheDark: + - server: config now allows you to warn players to upgrade their byond version, + or bar them based on their byond version + Steelpoint: + - balance: UPP Synthetic's loadout has been reworked to account for its new status + as a non-combatant. +2024-04-19: + QuickLode: + - rscadd: Adds 3 variations of CMB Marshal and 4 variations of a UA Riot Police + Officer to Fiorina Prison Riot nightmare. These are fine men and women in uniform + prepared to engage what they suspect is a riot(or in the case of CMB, assisting + their underfunded and understaffed colleagues) however, they find something + much more sinister going on.. + - rscadd: Adds a CMB Investigative Synthetic(r) and a UA Police Synthetic. + - rscadd: Allows police baton and telescopic baton to shield clash for intimidation + and riot tactics. + - rscadd: Allows M81 launcher to utilize less lethal baton round + - qol: removes taser from some security synthetics belts, replaced with a more synthetic + friendly version +2024-04-20: + Huffie56: + - balance: Increase damage of standard revolver ammo from 55 to 72. + - balance: Marksman ammo remains 55 damage. + iloveloopers: + - rscadd: adds new flamer fuel type, stabilized metallic foam + - rscadd: Incinerator tanks can now hold stabilized metallic foam + - balance: High-Combustion napalm fuel is now easier to see on the ground +2024-04-21: + 567Turtle: + - balance: ' SO can now do basic surgeries' + Ben10083: + - rscadd: Synthetics when shoved into meat gibber will not be delimbed and spawn + their own flesh, but would not die (they are spat out as a torso and head) + - admin: Adjustment to meatgibber code to notify admins when a synthetic is being + shoved into gibber + Git-Nivrak: + - bugfix: You can no longer infinitely extend facehugger's lifetime by REDACTED + - balance: Lessers now lose 5 hp every 2 seconds off weeds + - bugfix: Fixed a bug which made boilers go way faster than they should + LTNTS: + - rscadd: Adds Command Tablets to Provost Marshal+ + iloveloopers: + - bugfix: White phosphorus will no longer forcefully set a mob's fire_reagent to + be UT napthal + realforest2001: + - rscadd: Added an ARES Log for chambering the OB Cannon. + vero5123: + - bugfix: toggling ghost vision now keeps the user's mob visible. +2024-04-22: + Git-Nivrak: + - rscdel: Reverted back to old throw logic + GrrrKitten: + - rscadd: Adds shockwave VFX to powerful explosions + - rscadd: Adds shockwave VFX to Queen + Predalien screech + LC4492: + - rscadd: Adds a new, better variation of the normal photocopier. + - imageadd: Adds a new sprite to the new photocopier variation and updates the sprites + of both normal, and new photocopiers to look slightly better. + - maptweak: Adds the new photocopiers to the CC and CL offices. + Zonespace27: + - admin: Unmarked tickets now mark themselves when an admin starts responding to + one + harryob: + - bugfix: you can bind to space again + iloveloopers: + - bugfix: custom flamer fuels no longer work for increasing OT assembly's caps + realforest2001: + - bugfix: Delaying round start now shows on the timer again. + - rscadd: Added ID Modification Log to the Access Report printout from an ID Console. +2024-04-23: + Drulikar: + - balance: Cryotubes now also cure external bleeding + - bugfix: Fixed internal bleeding granting blood on its last tick +2024-04-24: + Git-Nivrak: + - bugfix: Fixes boilers slowing themselves by using long range sight while resting. + iloveloopers: + - qol: Alt clicking a reagent tank will now toggle whether its dispensing or filling diff --git a/icons/effects/Targeted.dmi b/icons/effects/Targeted.dmi index fce948574a3d..24b82a90fe6c 100644 Binary files a/icons/effects/Targeted.dmi and b/icons/effects/Targeted.dmi differ diff --git a/icons/effects/warning_stripes.dmi b/icons/effects/warning_stripes.dmi index c962ef88bfeb..f4eae17e3748 100644 Binary files a/icons/effects/warning_stripes.dmi and b/icons/effects/warning_stripes.dmi differ diff --git a/icons/flags.dmi b/icons/flags.dmi index a192d17ff10b..673a3ee7a5dd 100644 Binary files a/icons/flags.dmi and b/icons/flags.dmi differ diff --git a/icons/mob/hud/marine_hud.dmi b/icons/mob/hud/marine_hud.dmi index 5de7b83a9309..8eefce871099 100644 Binary files a/icons/mob/hud/marine_hud.dmi and b/icons/mob/hud/marine_hud.dmi differ diff --git a/icons/mob/humans/onmob/back.dmi b/icons/mob/humans/onmob/back.dmi index eba8a2d0289c..42d46bcc9abe 100644 Binary files a/icons/mob/humans/onmob/back.dmi and b/icons/mob/humans/onmob/back.dmi differ diff --git a/icons/mob/humans/onmob/items_lefthand_0.dmi b/icons/mob/humans/onmob/items_lefthand_0.dmi index bcf2773e8dd7..4e8c1d59a41a 100644 Binary files a/icons/mob/humans/onmob/items_lefthand_0.dmi and b/icons/mob/humans/onmob/items_lefthand_0.dmi differ diff --git a/icons/mob/humans/onmob/items_righthand_0.dmi b/icons/mob/humans/onmob/items_righthand_0.dmi index d53360ec86a7..b8285acc65ad 100644 Binary files a/icons/mob/humans/onmob/items_righthand_0.dmi and b/icons/mob/humans/onmob/items_righthand_0.dmi differ diff --git a/icons/mob/humans/onmob/ties.dmi b/icons/mob/humans/onmob/ties.dmi index 87581eb94168..535e2cc69181 100644 Binary files a/icons/mob/humans/onmob/ties.dmi and b/icons/mob/humans/onmob/ties.dmi differ diff --git a/icons/obj/items/clothing/backpacks.dmi b/icons/obj/items/clothing/backpacks.dmi index 13acfa42cc40..be2602f76c57 100644 Binary files a/icons/obj/items/clothing/backpacks.dmi and b/icons/obj/items/clothing/backpacks.dmi differ diff --git a/icons/obj/items/clothing/ties.dmi b/icons/obj/items/clothing/ties.dmi index 366f2acb3512..012eb4a9630a 100644 Binary files a/icons/obj/items/clothing/ties.dmi and b/icons/obj/items/clothing/ties.dmi differ diff --git a/icons/obj/items/items.dmi b/icons/obj/items/items.dmi index bf9b64474af5..c4d34d3b790c 100644 Binary files a/icons/obj/items/items.dmi and b/icons/obj/items/items.dmi differ diff --git a/icons/obj/items/weapons/guns/lineart.dmi b/icons/obj/items/weapons/guns/lineart.dmi index 6c1dae5bd5c1..a746bce1716b 100644 Binary files a/icons/obj/items/weapons/guns/lineart.dmi and b/icons/obj/items/weapons/guns/lineart.dmi differ diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index b62860559b16..1dc934be2103 100644 Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ diff --git a/icons/obj/structures/machinery/fuelpump.dmi b/icons/obj/structures/machinery/fuelpump.dmi new file mode 100644 index 000000000000..a63fbab88019 Binary files /dev/null and b/icons/obj/structures/machinery/fuelpump.dmi differ diff --git a/icons/obj/structures/machinery/library.dmi b/icons/obj/structures/machinery/library.dmi index 3efeeef8b9f5..b2e62dc1bb93 100644 Binary files a/icons/obj/structures/machinery/library.dmi and b/icons/obj/structures/machinery/library.dmi differ diff --git a/icons/obj/structures/props/banners.dmi b/icons/obj/structures/props/banners.dmi index d45574de1185..ee30e197d21b 100644 Binary files a/icons/obj/structures/props/banners.dmi and b/icons/obj/structures/props/banners.dmi differ diff --git a/icons/turf/walls/windows.dmi b/icons/turf/walls/windows.dmi index 2904c8d5fa9a..c162b83e661c 100644 Binary files a/icons/turf/walls/windows.dmi and b/icons/turf/walls/windows.dmi differ diff --git a/icons/ui_icons/inventory/back.png b/icons/ui_icons/inventory/back.png new file mode 100644 index 000000000000..736b9d64bf99 Binary files /dev/null and b/icons/ui_icons/inventory/back.png differ diff --git a/icons/ui_icons/inventory/belt.png b/icons/ui_icons/inventory/belt.png new file mode 100644 index 000000000000..1be89d450a8f Binary files /dev/null and b/icons/ui_icons/inventory/belt.png differ diff --git a/icons/ui_icons/inventory/collar.png b/icons/ui_icons/inventory/collar.png new file mode 100644 index 000000000000..71803b1b6c6b Binary files /dev/null and b/icons/ui_icons/inventory/collar.png differ diff --git a/icons/ui_icons/inventory/ears.png b/icons/ui_icons/inventory/ears.png new file mode 100644 index 000000000000..e9a8f3c23c4b Binary files /dev/null and b/icons/ui_icons/inventory/ears.png differ diff --git a/icons/ui_icons/inventory/glasses.png b/icons/ui_icons/inventory/glasses.png new file mode 100644 index 000000000000..6e6f1ad098f6 Binary files /dev/null and b/icons/ui_icons/inventory/glasses.png differ diff --git a/icons/ui_icons/inventory/gloves.png b/icons/ui_icons/inventory/gloves.png new file mode 100644 index 000000000000..2c8a16cbdb7a Binary files /dev/null and b/icons/ui_icons/inventory/gloves.png differ diff --git a/icons/ui_icons/inventory/hand_l.png b/icons/ui_icons/inventory/hand_l.png new file mode 100644 index 000000000000..b09228d65f6d Binary files /dev/null and b/icons/ui_icons/inventory/hand_l.png differ diff --git a/icons/ui_icons/inventory/hand_r.png b/icons/ui_icons/inventory/hand_r.png new file mode 100644 index 000000000000..0e05a487e070 Binary files /dev/null and b/icons/ui_icons/inventory/hand_r.png differ diff --git a/icons/ui_icons/inventory/head.png b/icons/ui_icons/inventory/head.png new file mode 100644 index 000000000000..11e2d2254cd0 Binary files /dev/null and b/icons/ui_icons/inventory/head.png differ diff --git a/icons/ui_icons/inventory/id.png b/icons/ui_icons/inventory/id.png new file mode 100644 index 000000000000..4469591d36f5 Binary files /dev/null and b/icons/ui_icons/inventory/id.png differ diff --git a/icons/ui_icons/inventory/mask.png b/icons/ui_icons/inventory/mask.png new file mode 100644 index 000000000000..82e510893796 Binary files /dev/null and b/icons/ui_icons/inventory/mask.png differ diff --git a/icons/ui_icons/inventory/neck.png b/icons/ui_icons/inventory/neck.png new file mode 100644 index 000000000000..78ad3ce3b1c7 Binary files /dev/null and b/icons/ui_icons/inventory/neck.png differ diff --git a/icons/ui_icons/inventory/pocket.png b/icons/ui_icons/inventory/pocket.png new file mode 100644 index 000000000000..f42399dca0f5 Binary files /dev/null and b/icons/ui_icons/inventory/pocket.png differ diff --git a/icons/ui_icons/inventory/shoes.png b/icons/ui_icons/inventory/shoes.png new file mode 100644 index 000000000000..d20f7ef4d106 Binary files /dev/null and b/icons/ui_icons/inventory/shoes.png differ diff --git a/icons/ui_icons/inventory/suit.png b/icons/ui_icons/inventory/suit.png new file mode 100644 index 000000000000..e9c48e8069f7 Binary files /dev/null and b/icons/ui_icons/inventory/suit.png differ diff --git a/icons/ui_icons/inventory/suit_storage.png b/icons/ui_icons/inventory/suit_storage.png new file mode 100644 index 000000000000..9722eb10297a Binary files /dev/null and b/icons/ui_icons/inventory/suit_storage.png differ diff --git a/icons/ui_icons/inventory/uniform.png b/icons/ui_icons/inventory/uniform.png new file mode 100644 index 000000000000..292b3324b5bd Binary files /dev/null and b/icons/ui_icons/inventory/uniform.png differ diff --git a/maps/desert_dam.json b/maps/desert_dam.json index b5717af450cc..b40e9887d15b 100644 --- a/maps/desert_dam.json +++ b/maps/desert_dam.json @@ -14,6 +14,7 @@ "/datum/equipment_preset/survivor/engineer/trijent/hydro", "/datum/equipment_preset/survivor/trucker/trijent", "/datum/equipment_preset/survivor/security/trijent", + "/datum/equipment_preset/survivor/corporate/trijent", "/datum/equipment_preset/survivor/clf", "/datum/equipment_preset/survivor/civilian" ], diff --git a/maps/lv624.json b/maps/lv624.json index 76b00753db24..7c782c0a43bf 100644 --- a/maps/lv624.json +++ b/maps/lv624.json @@ -12,6 +12,7 @@ "/datum/equipment_preset/survivor/corporate/lv", "/datum/equipment_preset/survivor/trucker/lv", "/datum/equipment_preset/survivor/security/lv", + "/datum/equipment_preset/survivor/colonial_marshal/lv", "/datum/equipment_preset/survivor/goon", "/datum/equipment_preset/survivor/clf", "/datum/equipment_preset/survivor/civilian" diff --git a/maps/map_files/BigRed/BigRed.dmm b/maps/map_files/BigRed/BigRed.dmm index 52a85debafc2..bd4c1b4f33d8 100644 --- a/maps/map_files/BigRed/BigRed.dmm +++ b/maps/map_files/BigRed/BigRed.dmm @@ -5256,9 +5256,6 @@ icon_state = "delivery" }, /area/bigredv2/outside/marshal_office) -"apI" = ( -/turf/closed/wall/solaris/reinforced/hull, -/area/bigredv2/outside/lambda_cave_cas) "apJ" = ( /obj/structure/window/framed/solaris/reinforced, /obj/structure/machinery/door/poddoor/shutters/almayer{ @@ -6761,7 +6758,7 @@ }, /area/bigredv2/outside/general_offices) "aui" = ( -/obj/effect/decal/cleanable/dirt, +/obj/structure/surface/table/woodentable, /turf/open/floor{ icon_state = "wood" }, @@ -6862,18 +6859,6 @@ icon_state = "darkish" }, /area/bigredv2/caves/lambda/breakroom) -"auw" = ( -/obj/structure/showcase{ - icon = 'icons/obj/structures/machinery/research.dmi'; - icon_state = "d_analyzer_la" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 - }, -/turf/open/floor{ - icon_state = "darkish" - }, -/area/bigredv2/caves/lambda/breakroom) "aux" = ( /obj/effect/landmark/xeno_spawn, /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, @@ -9708,21 +9693,6 @@ }, /turf/open/floor, /area/bigredv2/outside/hydroponics) -"aDd" = ( -/obj/structure/pipes/vents/pump{ - dir = 4 - }, -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/bed/chair/comfy{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "aDe" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 6 @@ -9731,20 +9701,6 @@ icon_state = "wood" }, /area/bigredv2/outside/library) -"aDf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_17"; - pixel_x = 7; - pixel_y = 14 - }, -/obj/structure/window{ - dir = 8 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "aDg" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -9753,15 +9709,6 @@ icon_state = "wood" }, /area/bigredv2/outside/library) -"aDh" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/bed/chair/comfy{ - dir = 4 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "aDi" = ( /obj/structure/machinery/light/small, /turf/open/floor/engine, @@ -10118,23 +10065,6 @@ /obj/structure/window/framed/solaris/reinforced, /turf/open/floor/plating, /area/bigredv2/caves/eta/living) -"aEk" = ( -/obj/effect/landmark/objective_landmark/close, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" - }, -/area/bigredv2/outside/ne) -"aEl" = ( -/obj/structure/surface/table, -/obj/structure/machinery/computer/emails{ - dir = 8; - pixel_y = 4 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "aEm" = ( /obj/structure/machinery/power/apc{ dir = 8; @@ -11013,17 +10943,6 @@ icon_state = "white" }, /area/bigredv2/outside/virology) -"aGQ" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/structure/machinery/power/apc{ - dir = 1 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "aGT" = ( /obj/structure/surface/table, /turf/open/floor{ @@ -11324,10 +11243,6 @@ icon_state = "delivery" }, /area/bigredv2/outside/hydroponics) -"aHN" = ( -/obj/effect/landmark/crap_item, -/turf/open/floor/carpet, -/area/bigredv2/outside/library) "aHO" = ( /obj/structure/bed/chair/wood/normal, /turf/open/floor{ @@ -11466,6 +11381,14 @@ icon_state = "white" }, /area/bigredv2/outside/virology) +"aIe" = ( +/obj/structure/surface/table/reinforced, +/obj/item/pizzabox/vegetable, +/turf/open/floor{ + dir = 9; + icon_state = "redfull" + }, +/area/bigredv2/outside/lambda_cave_cas) "aIg" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -11643,15 +11566,6 @@ /obj/structure/machinery/vending/snack, /turf/open/floor, /area/bigredv2/outside/hydroponics) -"aIH" = ( -/obj/structure/surface/table/woodentable, -/obj/item/paper, -/obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "aIJ" = ( /turf/open/floor{ dir = 9; @@ -12001,14 +11915,15 @@ }, /turf/open/floor, /area/bigredv2/outside/hydroponics) -"aJB" = ( -/obj/structure/machinery/light{ - dir = 4 +"aJC" = ( +/obj/structure/machinery/alarm{ + dir = 4; + pixel_x = -30 }, /turf/open/floor{ - icon_state = "yellowfull" + icon_state = "wood" }, -/area/bigredv2/outside/hydroponics) +/area/bigredv2/outside/library) "aJD" = ( /obj/structure/surface/table/woodentable, /obj/item/toy/dice/d20, @@ -12415,38 +12330,6 @@ icon_state = "yellowfull" }, /area/bigredv2/outside/hydroponics) -"aKK" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) -"aKL" = ( -/obj/structure/bookcase{ - icon_state = "book-5" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) -"aKM" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet, -/area/bigredv2/outside/library) -"aKN" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet, -/area/bigredv2/outside/library) "aKO" = ( /obj/structure/bed/chair/wood/normal{ dir = 1 @@ -12600,12 +12483,6 @@ icon_state = "grimy" }, /area/bigredv2/outside/office_complex) -"aLh" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "lz1north_mining" - }, -/turf/closed/wall/solaris/reinforced, -/area/bigredv2/outside/space_port) "aLi" = ( /obj/structure/closet/jcloset, /obj/structure/machinery/camera/autoname{ @@ -12755,10 +12632,6 @@ icon_state = "yellowfull" }, /area/bigredv2/outside/hydroponics) -"aLF" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet, -/area/bigredv2/outside/library) "aLH" = ( /turf/open/floor/bluegrid{ icon_state = "bcircuitoff" @@ -13210,12 +13083,6 @@ icon_state = "mars_dirt_13" }, /area/bigredv2/outside/e) -"aMS" = ( -/turf/open/floor{ - dir = 10; - icon_state = "asteroidwarning" - }, -/area/bigredv2/caves_lambda) "aMT" = ( /turf/open/floor{ icon_state = "asteroidwarning" @@ -13703,13 +13570,6 @@ icon_state = "yellowfull" }, /area/bigredv2/outside/hydroponics) -"aOi" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/turf/open/floor/carpet, -/area/bigredv2/outside/library) -"aOj" = ( -/turf/open/floor/carpet, -/area/bigredv2/outside/library) "aOk" = ( /turf/open/mars{ icon_state = "mars_dirt_11" @@ -14109,49 +13969,6 @@ icon_state = "yellowfull" }, /area/bigredv2/outside/hydroponics) -"aPk" = ( -/obj/structure/bed/chair/wood/normal, -/turf/open/floor/carpet, -/area/bigredv2/outside/library) -"aPl" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 5 - }, -/turf/open/floor/carpet, -/area/bigredv2/outside/library) -"aPm" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 10 - }, -/turf/open/floor/carpet, -/area/bigredv2/outside/library) -"aPn" = ( -/obj/effect/landmark/crap_item, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) -"aPo" = ( -/obj/structure/surface/table/woodentable, -/obj/structure/window{ - dir = 8 - }, -/obj/structure/machinery/computer/emails{ - dir = 4 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) -"aPp" = ( -/obj/structure/bed/chair/comfy{ - dir = 8 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "aPq" = ( /obj/structure/machinery/door/airlock/almayer/research/glass/colony{ dir = 1; @@ -14576,35 +14393,8 @@ }, /turf/open/floor, /area/bigredv2/outside/hydroponics) -"aQr" = ( -/obj/structure/bookcase{ - icon_state = "book-5" - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) -"aQs" = ( -/obj/structure/machinery/light, -/obj/structure/window{ - dir = 4 - }, -/obj/structure/surface/table/woodentable, -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_10"; - pixel_y = 11 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "aQt" = ( -/obj/structure/surface/table, -/obj/structure/window, -/obj/structure/machinery/computer/emails{ - dir = 8; - pixel_y = 4 - }, +/obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor{ icon_state = "wood" }, @@ -14999,18 +14789,6 @@ icon_state = "delivery" }, /area/bigredv2/outside/library) -"aRv" = ( -/turf/open/mars_cave{ - icon_state = "mars_cave_22" - }, -/area/bigredv2/outside/lambda_cave_cas) -"aRw" = ( -/obj/effect/landmark/crap_item, -/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, -/turf/open/mars_cave{ - icon_state = "mars_cave_6" - }, -/area/bigredv2/outside/lambda_cave_cas) "aRx" = ( /obj/structure/machinery/teleport/station, /turf/open/floor{ @@ -15282,21 +15060,6 @@ icon_state = "asteroidwarning" }, /area/bigredv2/outside/e) -"aSj" = ( -/obj/effect/decal/remains/human, -/obj/structure/blocker/forcefield/multitile_vehicles, -/turf/open/floor{ - dir = 5; - icon_state = "asteroidwarning" - }, -/area/bigredv2/outside/lambda_cave_cas) -"aSk" = ( -/obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, -/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, -/turf/open/mars_cave{ - icon_state = "mars_cave_8" - }, -/area/bigredv2/outside/lambda_cave_cas) "aSl" = ( /obj/structure/machinery/light{ dir = 8 @@ -15744,16 +15507,6 @@ icon_state = "asteroidfloor" }, /area/bigredv2/outside/e) -"aTo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 10 - }, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" - }, -/area/bigredv2/outside/e) "aTp" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor{ @@ -15804,30 +15557,6 @@ icon_state = "asteroidwarning" }, /area/bigredv2/caves_lambda) -"aTx" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidwarning" - }, -/area/bigredv2/outside/lambda_cave_cas) -"aTy" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidwarning" - }, -/area/bigredv2/caves_lambda) -"aTz" = ( -/obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, -/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidwarning" - }, -/area/bigredv2/outside/lambda_cave_cas) "aTC" = ( /obj/structure/bed, /obj/item/bedsheet/medical, @@ -16080,63 +15809,6 @@ icon_state = "mars_dirt_4" }, /area/bigredv2/outside/e) -"aUo" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 5 - }, -/turf/open/floor{ - dir = 10; - icon_state = "asteroidwarning" - }, -/area/bigredv2/outside/e) -"aUp" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor{ - icon_state = "asteroidwarning" - }, -/area/bigredv2/outside/e) -"aUq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/pipes/standard/manifold/hidden/green, -/turf/open/floor{ - icon_state = "asteroidwarning" - }, -/area/bigredv2/outside/e) -"aUr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/turf/open/floor{ - icon_state = "asteroidwarning" - }, -/area/bigredv2/outside/e) -"aUs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/pipes/standard/manifold/hidden/green{ - dir = 1 - }, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" - }, -/area/bigredv2/outside/e) -"aUu" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/machinery/door/poddoor/almayer/closed{ - dir = 4; - id = "lambda"; - name = "Lambda Lockdown" - }, -/turf/open/floor{ - icon_state = "delivery" - }, -/area/bigredv2/outside/lambda_cave_cas) "aUv" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -16146,49 +15818,6 @@ icon_state = "asteroidfloor" }, /area/bigredv2/outside/lambda_cave_cas) -"aUw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/machinery/door/poddoor/almayer/closed{ - dir = 4; - id = "lambda"; - name = "Lambda Lockdown" - }, -/turf/open/floor{ - icon_state = "delivery" - }, -/area/bigredv2/outside/lambda_cave_cas) -"aUx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/structure/blocker/forcefield/multitile_vehicles, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" - }, -/area/bigredv2/outside/lambda_cave_cas) -"aUy" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/turf/open/floor{ - icon_state = "asteroidwarning" - }, -/area/bigredv2/caves_lambda) -"aUA" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, -/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, -/turf/open/floor{ - icon_state = "asteroidwarning" - }, -/area/bigredv2/outside/lambda_cave_cas) "aUD" = ( /obj/structure/bed, /obj/item/bedsheet/medical, @@ -16485,15 +16114,6 @@ icon_state = "asteroidwarning" }, /area/bigredv2/outside/e) -"aVw" = ( -/obj/effect/decal/cleanable/blood{ - dir = 4; - icon_state = "gib6" - }, -/turf/open/mars_cave{ - icon_state = "mars_cave_8" - }, -/area/bigredv2/outside/lambda_cave_cas) "aVx" = ( /obj/structure/curtain/medical, /obj/structure/machinery/alarm{ @@ -17147,11 +16767,6 @@ "aXr" = ( /turf/open/floor, /area/bigredv2/outside/office_complex) -"aXt" = ( -/turf/open/mars_cave{ - icon_state = "mars_dirt_6" - }, -/area/bigredv2/outside/e) "aXu" = ( /obj/structure/machinery/computer/med_data, /turf/open/floor{ @@ -17323,11 +16938,6 @@ icon_state = "asteroidwarning" }, /area/bigredv2/outside/e) -"aXX" = ( -/turf/open/mars_cave{ - icon_state = "mars_dirt_5" - }, -/area/bigredv2/outside/e) "aXY" = ( /turf/open/floor{ dir = 10; @@ -17459,16 +17069,6 @@ icon_state = "asteroidfloor" }, /area/bigredv2/outside/e) -"aYw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidwarning" - }, -/area/bigredv2/outside/e) "aYx" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -17478,16 +17078,6 @@ icon_state = "asteroidwarning" }, /area/bigredv2/outside/e) -"aYy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 10 - }, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidwarning" - }, -/area/bigredv2/outside/e) "aYA" = ( /obj/structure/closet/l3closet/virology, /turf/open/floor{ @@ -17801,14 +17391,6 @@ icon_state = "cult" }, /area/bigredv2/outside/chapel) -"aZI" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 6 - }, -/turf/open/floor{ - icon_state = "dark" - }, -/area/bigredv2/outside/chapel) "aZJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor{ @@ -17816,14 +17398,6 @@ icon_state = "darkyellow2" }, /area/bigredv2/outside/filtration_plant) -"aZK" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 9 - }, -/turf/open/floor{ - icon_state = "dark" - }, -/area/bigredv2/outside/chapel) "aZL" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/structure/machinery/door/airlock/almayer/maint/colony{ @@ -18037,16 +17611,6 @@ icon_state = "chapel" }, /area/bigredv2/outside/chapel) -"bas" = ( -/obj/structure/bed/chair/wood/normal{ - dir = 8 - }, -/obj/structure/pipes/standard/simple/hidden/green, -/turf/open/floor{ - dir = 1; - icon_state = "chapel" - }, -/area/bigredv2/outside/chapel) "bat" = ( /turf/open/floor{ dir = 4; @@ -18191,16 +17755,6 @@ icon_state = "chapel" }, /area/bigredv2/outside/chapel) -"baV" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/structure/bed/chair/wood/normal{ - dir = 8 - }, -/turf/open/floor{ - dir = 8; - icon_state = "chapel" - }, -/area/bigredv2/outside/chapel) "baW" = ( /turf/open/floor{ icon_state = "chapel" @@ -26712,6 +26266,12 @@ icon_state = "mars_cave_7" }, /area/bigredv2/outside/lz1_telecomm_cas) +"bRC" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "reactor_meltdown" + }, +/turf/closed/wall/solaris/rock, +/area/bigredv2/caves) "bRK" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/surface/rack, @@ -26885,13 +26445,14 @@ icon_state = "mars_cave_2" }, /area/bigredv2/caves/mining) -"ceF" = ( -/obj/structure/surface/table/woodentable, -/obj/effect/landmark/objective_landmark/close, -/turf/open/floor{ - icon_state = "wood" +"ceA" = ( +/obj/structure/machinery/light{ + dir = 4 }, -/area/bigredv2/outside/library) +/turf/open/mars_cave{ + icon_state = "mars_dirt_4" + }, +/area/bigredv2/outside/e) "cfr" = ( /obj/item/explosive/grenade/baton{ dir = 8 @@ -27033,6 +26594,16 @@ icon_state = "mars_cave_2" }, /area/bigredv2/caves/mining) +"crd" = ( +/obj/structure/bed/chair/wood/normal{ + dir = 8 + }, +/obj/structure/pipes/standard/simple/hidden/green, +/turf/open/floor{ + dir = 4; + icon_state = "chapel" + }, +/area/bigredv2/outside/chapel) "crl" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -27053,6 +26624,14 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) +"cry" = ( +/obj/structure/surface/table/reinforced, +/obj/item/handcuffs, +/turf/open/floor{ + dir = 9; + icon_state = "redfull" + }, +/area/bigredv2/outside/lambda_cave_cas) "crQ" = ( /turf/open/mars_cave{ icon_state = "mars_cave_18" @@ -27095,6 +26674,12 @@ icon_state = "darkyellow2" }, /area/bigredv2/outside/engineering) +"cuG" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/turf/open/floor{ + icon_state = "dark" + }, +/area/bigredv2/outside/chapel) "cvi" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/tunnel{ @@ -27195,19 +26780,6 @@ icon_state = "red" }, /area/bigredv2/outside/marshal_office) -"cGv" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "containerroom_xenos" - }, -/turf/closed/wall/solaris/reinforced, -/area/bigredv2/outside/nw/ceiling) -"cGQ" = ( -/obj/structure/blocker/forcefield/multitile_vehicles, -/turf/open/floor{ - dir = 6; - icon_state = "asteroidwarning" - }, -/area/bigredv2/caves) "cGT" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/machinery/power/apc{ @@ -27262,14 +26834,6 @@ icon_state = "wood" }, /area/bigredv2/outside/dorms) -"cIq" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/mars_cave{ - icon_state = "mars_cave_23" - }, -/area/bigredv2/outside/lambda_cave_cas) "cIP" = ( /obj/item/paper/bigred/smuggling, /turf/open/floor, @@ -27291,6 +26855,9 @@ icon_state = "delivery" }, /area/bigredv2/outside/admin_building) +"cJd" = ( +/turf/open/space/basic, +/area/space) "cJh" = ( /obj/structure/bed/chair{ dir = 8; @@ -27368,6 +26935,12 @@ /obj/structure/sign/poster/clf, /turf/closed/wall/solaris/reinforced, /area/bigredv2/caves/mining) +"cOu" = ( +/obj/structure/machinery/vending/coffee, +/turf/open/floor{ + icon_state = "yellowfull" + }, +/area/bigredv2/outside/hydroponics) "cOJ" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -27570,6 +27143,15 @@ icon_state = "podhatchfloor" }, /area/bigredv2/outside/admin_building) +"djo" = ( +/obj/structure/surface/table/reinforced, +/obj/structure/machinery/recharger, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor{ + dir = 9; + icon_state = "redfull" + }, +/area/bigredv2/outside/lambda_cave_cas) "dka" = ( /obj/effect/landmark/crap_item, /turf/open/mars_cave{ @@ -27626,6 +27208,21 @@ icon_state = "mars_dirt_4" }, /area/bigredv2/caves/mining) +"drx" = ( +/obj/structure/filingcabinet{ + density = 0; + pixel_x = 8; + pixel_y = 16 + }, +/obj/structure/filingcabinet{ + density = 0; + pixel_x = -8; + pixel_y = 18 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "drT" = ( /obj/structure/disposalpipe/broken{ dir = 4 @@ -27689,6 +27286,10 @@ }, /turf/open/gm/river, /area/bigredv2/outside/engineering) +"dvz" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/closed/wall/solaris/reinforced, +/area/bigredv2/outside/lambda_cave_cas) "dvB" = ( /obj/item/ore/coal{ pixel_x = 9; @@ -27760,6 +27361,14 @@ icon_state = "asteroidwarning" }, /area/bigredv2/outside/c) +"dAd" = ( +/obj/structure/surface/table/reinforced, +/obj/structure/machinery/recharger, +/turf/open/floor{ + dir = 9; + icon_state = "redfull" + }, +/area/bigredv2/outside/lambda_cave_cas) "dAi" = ( /obj/effect/landmark/objective_landmark/close, /turf/open/floor/plating, @@ -27869,6 +27478,13 @@ icon_state = "mars_dirt_4" }, /area/bigredv2/caves/mining) +"dFL" = ( +/obj/effect/landmark/corpsespawner/security, +/obj/effect/decal/cleanable/blood{ + layer = 3 + }, +/turf/open/floor, +/area/bigredv2/outside/lambda_cave_cas) "dFR" = ( /obj/item/stack/sheet/wood{ pixel_y = -8 @@ -27927,6 +27543,14 @@ /obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot, /turf/open/floor, /area/bigredv2/outside/dorms) +"dJr" = ( +/obj/effect/landmark/structure_spawner/xvx_hive/xeno_wall, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/floor{ + dir = 5; + icon_state = "asteroidwarning" + }, +/area/bigredv2/caves_lambda) "dJM" = ( /obj/structure/surface/rack, /obj/item/storage/pouch/shotgun, @@ -27936,6 +27560,12 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) +"dKk" = ( +/turf/open/floor{ + dir = 8; + icon_state = "redcorner" + }, +/area/bigredv2/outside/lambda_cave_cas) "dKo" = ( /obj/item/ore/iron{ pixel_x = 6; @@ -27955,11 +27585,20 @@ icon_state = "mars_cave_5" }, /area/bigredv2/caves_lambda) -"dLe" = ( -/turf/open/mars_cave{ - icon_state = "mars_cave_5" +"dLS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_17"; + pixel_x = 7; + pixel_y = 14 }, -/area/bigredv2/outside/lambda_cave_cas) +/obj/structure/window{ + dir = 8 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "dNd" = ( /obj/item/stack/cable_coil/cut, /turf/open/mars_cave{ @@ -27984,6 +27623,10 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) +"dNX" = ( +/obj/effect/landmark/crap_item, +/turf/open/floor/carpet, +/area/bigredv2/outside/library) "dOu" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -28053,6 +27696,14 @@ icon_state = "darkyellow2" }, /area/bigredv2/outside/filtration_plant) +"dRc" = ( +/obj/structure/machinery/door/airlock/almayer/security/glass/colony{ + name = "\improper Lambda Checkpoint" + }, +/turf/open/floor{ + icon_state = "delivery" + }, +/area/bigredv2/outside/lambda_cave_cas) "dSg" = ( /obj/effect/landmark/crap_item, /obj/effect/decal/cleanable/dirt, @@ -28067,6 +27718,9 @@ icon_state = "mars_cave_9" }, /area/bigredv2/caves_north) +"dTB" = ( +/turf/closed/wall/solaris/reinforced, +/area/bigredv2/outside/lambda_cave_cas) "dUj" = ( /obj/effect/decal/cleanable/blood/drip{ pixel_x = -8; @@ -28166,6 +27820,14 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) +"eaZ" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "yellowfull" + }, +/area/bigredv2/outside/hydroponics) "ebr" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor{ @@ -28213,6 +27875,20 @@ icon_state = "asteroidfloor" }, /area/bigred/ground/garage_workshop) +"eeI" = ( +/obj/structure/machinery/light, +/obj/structure/window{ + dir = 4 + }, +/obj/structure/surface/table/woodentable, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_10"; + pixel_y = 11 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "efK" = ( /obj/structure/machinery/computer/crew{ density = 0; @@ -28244,12 +27920,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/bigredv2/caves/mining) -"eiR" = ( -/obj/structure/window, -/turf/open/floor{ - icon_state = "wood" +"ejp" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "filtration_restored" }, -/area/bigredv2/outside/library) +/turf/open/mars_cave{ + icon_state = "mars_cave_2" + }, +/area/bigredv2/outside/s) "eju" = ( /obj/item/ore{ pixel_x = 9; @@ -28362,12 +28040,6 @@ icon_state = "delivery" }, /area/bigredv2/outside/dorms) -"ers" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "etatunnel_open" - }, -/turf/closed/wall/solaris/rock, -/area/bigredv2/caves) "erA" = ( /obj/item/ore, /turf/open/mars_cave{ @@ -28394,6 +28066,15 @@ icon_state = "mars_cave_20" }, /area/bigredv2/caves/mining) +"esS" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/window, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "eup" = ( /obj/structure/bed/chair, /obj/item/trash/cigbutt, @@ -28474,6 +28155,14 @@ icon_state = "mars_dirt_4" }, /area/bigredv2/caves/mining) +"eBL" = ( +/obj/structure/bookcase{ + icon_state = "book-5" + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "eDQ" = ( /obj/structure/closet/secure_closet/engineering_personal, /obj/effect/landmark/objective_landmark/medium, @@ -28541,14 +28230,6 @@ icon_state = "mars_cave_2" }, /area/bigredv2/caves_sw) -"eGv" = ( -/obj/structure/window, -/obj/structure/surface/table/woodentable, -/obj/item/newspaper, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "eGM" = ( /turf/open/floor{ icon_state = "darkyellowcorners2" @@ -28604,6 +28285,16 @@ icon_state = "darkyellow2" }, /area/bigredv2/outside/filtration_plant) +"eKZ" = ( +/obj/structure/surface/table/reinforced, +/obj/structure/machinery/computer/cameras/wooden_tv{ + dir = 4 + }, +/turf/open/floor{ + dir = 9; + icon_state = "redfull" + }, +/area/bigredv2/outside/lambda_cave_cas) "eLp" = ( /obj/structure/closet/secure_closet/brig, /obj/effect/landmark/objective_landmark/medium, @@ -28715,12 +28406,6 @@ }, /turf/open/floor/plating, /area/bigredv2/caves/mining) -"eUT" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "viro-rock_open" - }, -/turf/closed/wall/solaris/reinforced, -/area/bigredv2/outside/virology) "eVo" = ( /obj/effect/decal/cleanable/dirt, /obj/item/weapon/gun/pistol/m4a3, @@ -28811,6 +28496,15 @@ icon_state = "darkyellow2" }, /area/bigredv2/outside/engineering) +"eYA" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 10 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidwarning" + }, +/area/bigredv2/outside/e) "eYH" = ( /obj/structure/machinery/camera/autoname{ dir = 4 @@ -28984,16 +28678,6 @@ icon_state = "mars_cave_22" }, /area/bigredv2/caves_east) -"foT" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" - }, -/area/bigredv2/outside/e) "fpa" = ( /obj/effect/decal/cleanable/blood/drip{ pixel_x = -8; @@ -29120,6 +28804,16 @@ icon_state = "whitepurplecorner" }, /area/bigredv2/outside/medical) +"fyZ" = ( +/obj/structure/surface/table/reinforced, +/obj/item/device/camera, +/obj/structure/machinery/light/small, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor{ + dir = 9; + icon_state = "redfull" + }, +/area/bigredv2/outside/lambda_cave_cas) "fBc" = ( /obj/structure/pipes/standard/tank/phoron, /turf/open/floor/plating, @@ -29207,6 +28901,14 @@ icon_state = "asteroidwarning" }, /area/bigredv2/outside/eta) +"fJW" = ( +/obj/structure/window, +/obj/structure/surface/table/woodentable, +/obj/item/newspaper, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "fKO" = ( /obj/structure/barricade/wooden{ desc = "This barricade is heavily reinforced. Nothing short of blasting it open seems like it'll do the trick, that or melting the breams supporting it..."; @@ -29227,15 +28929,6 @@ icon_state = "darkyellowcorners2" }, /area/bigredv2/caves/eta/living) -"fKY" = ( -/obj/structure/window, -/obj/structure/window{ - dir = 8 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "fLj" = ( /turf/open/mars_cave{ icon_state = "mars_cave_6" @@ -29448,6 +29141,18 @@ icon_state = "grass_impenetrable" }, /area/bigredv2/caves/eta/xenobiology) +"fWY" = ( +/obj/structure/window, +/obj/structure/window{ + dir = 8 + }, +/obj/structure/surface/table/woodentable, +/obj/effect/landmark/objective_landmark/close, +/obj/item/prop/magazine/book/starshiptroopers, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "fXm" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -29574,14 +29279,6 @@ icon_state = "whitepurple" }, /area/bigredv2/caves/lambda/research) -"ghh" = ( -/obj/structure/bed/chair/wood/normal{ - dir = 4 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "gio" = ( /turf/open/mars_cave, /area/bigredv2/outside/filtration_cave_cas) @@ -29696,6 +29393,12 @@ /obj/structure/machinery/light, /turf/open/floor, /area/bigred/ground/garage_workshop) +"gri" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "containerroom_xenos" + }, +/turf/closed/wall/solaris/reinforced, +/area/bigredv2/outside/nw/ceiling) "grU" = ( /obj/structure/machinery/door/poddoor/almayer/closed{ dir = 4; @@ -29815,6 +29518,12 @@ }, /turf/open/floor, /area/bigredv2/outside/hydroponics) +"gAK" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "chapel_cult" + }, +/turf/closed/wall/solaris, +/area/bigredv2/outside/chapel) "gAX" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 8 @@ -29857,6 +29566,13 @@ icon_state = "mars_cave_2" }, /area/bigredv2/caves_east) +"gEM" = ( +/obj/structure/machinery/vending/security, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor{ + icon_state = "red" + }, +/area/bigredv2/outside/lambda_cave_cas) "gFR" = ( /obj/structure/machinery/power/port_gen/pacman, /turf/open/floor{ @@ -29884,6 +29600,16 @@ icon_state = "darkyellow2" }, /area/bigredv2/outside/engineering) +"gIT" = ( +/obj/structure/machinery/door/poddoor/almayer/closed{ + dir = 4; + id = "lambda-interior"; + name = "Lambda Checkpoint Interior" + }, +/turf/open/floor{ + icon_state = "delivery" + }, +/area/bigredv2/caves_north) "gJw" = ( /obj/structure/blocker/forcefield/multitile_vehicles, /turf/open/mars_cave, @@ -29934,16 +29660,6 @@ icon_state = "mars_cave_2" }, /area/bigredv2/caves_research) -"gPb" = ( -/obj/structure/filingcabinet{ - density = 0; - pixel_x = 8; - pixel_y = 3 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "gPc" = ( /turf/open/floor{ dir = 4; @@ -30034,6 +29750,12 @@ icon_state = "darkblue2" }, /area/bigredv2/caves/eta/research) +"gWv" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "eta_carp" + }, +/turf/closed/wall/solaris/reinforced, +/area/bigredv2/caves/eta/xenobiology) "gWD" = ( /turf/closed/wall/solaris, /area/bigredv2/outside/space_port_lz2) @@ -30135,6 +29857,15 @@ icon_state = "darkyellow2" }, /area/bigredv2/outside/engineering) +"heD" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "heG" = ( /obj/structure/bed/chair{ can_buckle = 0; @@ -30174,6 +29905,15 @@ icon_state = "mars_dirt_7" }, /area/bigredv2/outside/lz1_north_cas) +"hho" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed/chair/wood/normal{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "hhK" = ( /turf/open/floor{ dir = 1; @@ -30422,6 +30162,13 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) +"hFg" = ( +/obj/effect/landmark/crap_item, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/mars_cave{ + icon_state = "mars_cave_6" + }, +/area/bigredv2/caves_lambda) "hFv" = ( /obj/structure/platform{ dir = 4 @@ -30500,6 +30247,15 @@ icon_state = "mars_cave_17" }, /area/bigredv2/caves_north) +"hKO" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor{ + dir = 10; + icon_state = "red" + }, +/area/bigredv2/outside/lambda_cave_cas) "hLp" = ( /obj/effect/landmark/corpsespawner/ua_riot, /turf/open/mars_cave, @@ -30522,6 +30278,13 @@ icon_state = "dark" }, /area/bigredv2/caves/eta/research) +"hNW" = ( +/obj/structure/machinery/light, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/bigredv2/outside/lambda_cave_cas) "hOx" = ( /obj/structure/machinery/portable_atmospherics/powered/scrubber/huge/stationary, /turf/open/floor{ @@ -30557,12 +30320,6 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) -"hSs" = ( -/obj/structure/machinery/light, -/turf/open/mars_cave{ - icon_state = "mars_cave_8" - }, -/area/bigredv2/outside/lambda_cave_cas) "hSP" = ( /obj/structure/machinery/vending/cigarette/colony, /turf/open/mars_cave{ @@ -30665,6 +30422,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/bigredv2/caves/mining) +"iaS" = ( +/obj/structure/bed/chair/comfy{ + dir = 8 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "iaX" = ( /obj/item/weapon/twohanded/folded_metal_chair, /obj/effect/landmark/corpsespawner/colonist/random/burst, @@ -30915,6 +30680,15 @@ /obj/effect/spawner/random/technology_scanner, /turf/open/floor/plating, /area/bigredv2/outside/filtration_plant) +"irZ" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor{ + dir = 6; + icon_state = "red" + }, +/area/bigredv2/outside/lambda_cave_cas) "itL" = ( /obj/structure/closet/l3closet/virology, /obj/effect/landmark/objective_landmark/science, @@ -30944,23 +30718,6 @@ icon_state = "mars_dirt_6" }, /area/bigredv2/caves/mining) -"ixN" = ( -/obj/structure/machinery/camera/autoname{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) -"ixR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/blocker/forcefield/multitile_vehicles, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" - }, -/area/bigredv2/outside/lambda_cave_cas) "iyY" = ( /turf/open/mars_cave{ icon_state = "mars_cave_13" @@ -31070,6 +30827,10 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) +"iEm" = ( +/obj/structure/bed/chair/wood/normal, +/turf/open/floor/carpet, +/area/bigredv2/outside/library) "iFa" = ( /obj/effect/decal/cleanable/dirt, /obj/item/bananapeel, @@ -31078,6 +30839,16 @@ icon_state = "darkyellow2" }, /area/bigredv2/outside/engineering) +"iFz" = ( +/obj/structure/machinery/door/poddoor/almayer/closed{ + dir = 4; + id = "lambda-interior"; + name = "Lambda Checkpoint Interior" + }, +/turf/open/floor{ + icon_state = "delivery" + }, +/area/bigredv2/outside/lambda_cave_cas) "iGK" = ( /turf/open/mars_cave, /area/bigredv2/caves_sw) @@ -31094,12 +30865,6 @@ icon_state = "asteroidwarning" }, /area/bigredv2/outside/space_port_lz2) -"iIp" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "chapel_cult" - }, -/turf/closed/wall/solaris, -/area/bigredv2/outside/chapel) "iJF" = ( /obj/effect/decal/cleanable/blood{ icon_state = "gib6"; @@ -31288,12 +31053,6 @@ icon_state = "dark" }, /area/bigredv2/outside/admin_building) -"iZi" = ( -/obj/structure/machinery/light, -/turf/open/floor{ - icon_state = "asteroidwarning" - }, -/area/bigredv2/outside/lambda_cave_cas) "iZA" = ( /obj/structure/surface/rack, /turf/open/floor, @@ -31319,12 +31078,6 @@ icon_state = "mars_cave_13" }, /area/bigredv2/caves/mining) -"jcn" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "tcomms_open" - }, -/turf/closed/wall/solaris/rock, -/area/bigredv2/caves) "jcR" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, /turf/open/mars_cave{ @@ -31468,15 +31221,6 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) -"joa" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 5 - }, -/obj/effect/landmark/nightmare{ - insert_tag = "dorms_party" - }, -/turf/open/floor, -/area/bigredv2/outside/dorms) "jph" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -31539,12 +31283,24 @@ icon_state = "podhatch" }, /area/bigredv2/caves/lambda/research) -"jvP" = ( -/obj/structure/pipes/standard/simple/hidden/green, +"juZ" = ( +/obj/structure/machinery/light{ + dir = 1 + }, /turf/open/floor{ - icon_state = "wood" + dir = 1; + icon_state = "asteroidwarning" }, -/area/bigredv2/outside/library) +/area/bigredv2/outside/lambda_cave_cas) +"jvW" = ( +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor{ + dir = 6; + icon_state = "asteroidwarning" + }, +/area/bigredv2/caves_lambda) "jwj" = ( /obj/structure/platform/shiva{ dir = 8 @@ -31614,13 +31370,6 @@ icon_state = "mars_cave_17" }, /area/bigredv2/caves_lambda) -"jBo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/surface/table/woodentable, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "jBq" = ( /obj/structure/blocker/forcefield/multitile_vehicles, /turf/open/floor{ @@ -31757,6 +31506,15 @@ icon_state = "mars_cave_13" }, /area/bigredv2/caves_north) +"jKp" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor{ + dir = 1; + icon_state = "red" + }, +/area/bigredv2/outside/lambda_cave_cas) "jKI" = ( /obj/structure/platform_decoration/shiva{ dir = 8 @@ -31796,6 +31554,13 @@ icon_state = "freezerfloor" }, /area/bigredv2/outside/general_offices) +"jNN" = ( +/obj/structure/bed/chair/wood/normal, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "jOc" = ( /obj/structure/machinery/door/poddoor/almayer/closed{ dir = 4; @@ -31946,6 +31711,20 @@ icon_state = "delivery" }, /area/bigredv2/outside/cargo) +"jUJ" = ( +/obj/structure/machinery/light, +/obj/structure/surface/table/woodentable, +/obj/structure/window{ + dir = 8 + }, +/obj/structure/machinery/door_control{ + id = "Library"; + name = "Storm Shutters" + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "jUM" = ( /obj/structure/surface/table/woodentable, /obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot, @@ -32197,15 +31976,6 @@ icon_state = "dark" }, /area/bigredv2/caves/eta/research) -"kgl" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "kgn" = ( /obj/item/paper/bigred/crazy, /turf/open/floor/plating{ @@ -32377,6 +32147,14 @@ icon_state = "mars_cave_14" }, /area/bigredv2/outside/ne) +"kqO" = ( +/obj/effect/landmark/structure_spawner/xvx_hive/xeno_wall, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/bigredv2/caves_lambda) "kqS" = ( /turf/open/floor{ icon_state = "wood" @@ -32456,20 +32234,6 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) -"kwh" = ( -/obj/structure/surface/table/woodentable, -/obj/item/paper_bin/wy{ - pixel_x = 7; - pixel_y = 8 - }, -/obj/item/paper_bin/wy{ - pixel_x = -4; - pixel_y = 8 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "kwq" = ( /obj/structure/machinery/light{ dir = 8 @@ -32494,6 +32258,15 @@ icon_state = "darkredcorners2" }, /area/bigredv2/caves/eta/xenobiology) +"kxr" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 5 + }, +/obj/effect/landmark/nightmare{ + insert_tag = "dorms_party" + }, +/turf/open/floor, +/area/bigredv2/outside/dorms) "kyz" = ( /obj/structure/transmitter/colony_net{ dir = 4; @@ -32510,6 +32283,13 @@ icon_state = "mars_cave_2" }, /area/bigredv2/outside/ne) +"kAj" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/bigredv2/outside/library) "kAs" = ( /obj/structure/platform_decoration{ dir = 8 @@ -32555,21 +32335,6 @@ icon_state = "red" }, /area/bigredv2/outside/marshal_office) -"kDb" = ( -/obj/structure/filingcabinet{ - density = 0; - pixel_x = 8; - pixel_y = 16 - }, -/obj/structure/filingcabinet{ - density = 0; - pixel_x = -8; - pixel_y = 18 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "kDs" = ( /obj/structure/surface/table, /obj/item/reagent_container/food/drinks/cans/waterbottle{ @@ -32663,13 +32428,6 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) -"kMA" = ( -/obj/structure/bed/chair/wood/normal, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "kMJ" = ( /obj/structure/prop/invuln/minecart_tracks{ desc = "A heavy duty power cable for high voltage applications"; @@ -32696,14 +32454,6 @@ icon_state = "dark" }, /area/bigredv2/outside/engineering) -"kNP" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 9 - }, -/turf/open/floor{ - icon_state = "asteroidwarning" - }, -/area/bigredv2/caves_lambda) "kOv" = ( /obj/structure/largecrate/random, /turf/open/floor{ @@ -32781,6 +32531,17 @@ /obj/effect/decal/cleanable/blood, /turf/open/floor, /area/bigredv2/outside/filtration_cave_cas) +"kUW" = ( +/obj/effect/landmark/structure_spawner/xvx_hive/xeno_wall, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor{ + dir = 4; + icon_state = "asteroidwarning" + }, +/area/bigredv2/caves_lambda) "kVR" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 5 @@ -32833,14 +32594,20 @@ icon_state = "whitegreen" }, /area/bigredv2/outside/medical) -"kYd" = ( -/turf/closed/wall/solaris/reinforced/hull, -/area/bigredv2/outside/e) "kZG" = ( /obj/effect/decal/cleanable/dirt, /obj/item/storage/bible/hefa, /turf/open/floor/plating, /area/bigredv2/caves/mining) +"kZI" = ( +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor{ + dir = 10; + icon_state = "asteroidwarning" + }, +/area/bigredv2/caves_lambda) "laj" = ( /obj/structure/tunnel{ id = "hole5" @@ -32935,15 +32702,6 @@ icon_state = "floor1" }, /area/bigredv2/oob) -"llZ" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/structure/window, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "lmg" = ( /obj/structure/bed/chair/office/light{ dir = 4 @@ -32963,6 +32721,21 @@ icon_state = "asteroidwarning" }, /area/bigredv2/outside/eta) +"lmO" = ( +/obj/structure/surface/table/woodentable, +/obj/item/newspaper{ + pixel_x = -7 + }, +/obj/item/prop/magazine/book/theartofwar{ + pixel_x = 11 + }, +/obj/item/tool/pen{ + pixel_x = -7 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "lom" = ( /obj/effect/landmark/corpsespawner/miner, /obj/effect/decal/cleanable/blood{ @@ -33022,13 +32795,6 @@ icon_state = "mars_cave_2" }, /area/bigredv2/caves/mining) -"lsk" = ( -/obj/structure/surface/table/woodentable, -/obj/item/newspaper, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "lsq" = ( /obj/item/device/flashlight/lantern, /turf/open/mars_cave{ @@ -33142,6 +32908,18 @@ /obj/structure/surface/table/woodentable/fancy, /turf/open/floor/wood, /area/bigredv2/caves/lambda/breakroom) +"lAR" = ( +/obj/structure/surface/table/reinforced, +/obj/structure/machinery/door_control{ + id = "lambda-interior"; + name = "Lambda Checkpoint Interior"; + pixel_x = null + }, +/turf/open/floor{ + dir = 9; + icon_state = "redfull" + }, +/area/bigredv2/outside/lambda_cave_cas) "lBc" = ( /turf/closed/wall/solaris/reinforced, /area/bigredv2/outside/c) @@ -33215,12 +32993,12 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) -"lEP" = ( -/obj/structure/surface/table/woodentable, -/turf/open/floor{ - icon_state = "wood" +"lFR" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "viro_open" }, -/area/bigredv2/outside/library) +/turf/closed/wall/solaris/rock, +/area/bigredv2/caves) "lGt" = ( /turf/open/floor{ icon_state = "delivery" @@ -33262,6 +33040,11 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) +"lLe" = ( +/turf/open/mars_cave{ + icon_state = "mars_cave_18" + }, +/area/bigredv2/outside/lambda_cave_cas) "lLf" = ( /obj/structure/largecrate/random/case, /turf/open/floor/plating{ @@ -33269,12 +33052,6 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) -"lMt" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "cargo_containers" - }, -/turf/closed/wall/solaris, -/area/bigredv2/outside/cargo) "lMw" = ( /obj/structure/machinery/sensortower{ pixel_x = -9 @@ -33284,12 +33061,6 @@ icon_state = "asteroidfloor" }, /area/bigredv2/caves_lambda) -"lMB" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "lz1cave_flank" - }, -/turf/closed/wall/solaris/reinforced, -/area/bigredv2/outside/space_port) "lMC" = ( /obj/structure/machinery/light{ dir = 4 @@ -33316,6 +33087,12 @@ icon_state = "mars_cave_20" }, /area/bigredv2/outside/n) +"lOY" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "etatunnel_open" + }, +/turf/closed/wall/solaris/rock, +/area/bigredv2/caves) "lPg" = ( /turf/closed/wall/solaris, /area/bigredv2/outside/n) @@ -33404,6 +33181,17 @@ icon_state = "darkyellow2" }, /area/bigredv2/outside/filtration_plant) +"lTC" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/machinery/power/apc{ + dir = 1 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "lTM" = ( /obj/item/folder/yellow, /turf/open/floor{ @@ -33490,6 +33278,12 @@ icon_state = "mars_cave_23" }, /area/bigredv2/caves/mining) +"maB" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "viro-rock_open" + }, +/turf/closed/wall/solaris/reinforced, +/area/bigredv2/outside/virology) "maD" = ( /turf/open/floor/almayer{ icon_state = "test_floor4" @@ -33645,6 +33439,13 @@ icon_state = "asteroidfloor" }, /area/bigredv2/outside/ne) +"moe" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/bigredv2/outside/library) "moE" = ( /turf/open/mars_cave{ icon_state = "mars_cave_9" @@ -33879,6 +33680,13 @@ icon_state = "mars_dirt_7" }, /area/bigredv2/outside/filtration_plant) +"mIs" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "mIu" = ( /obj/structure/machinery/light{ dir = 4 @@ -33896,6 +33704,14 @@ icon_state = "asteroidwarning" }, /area/bigredv2/outside/filtration_plant) +"mKi" = ( +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_10" + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "mKM" = ( /obj/effect/decal/cleanable/blood/drip{ pixel_y = 6 @@ -33907,6 +33723,14 @@ icon_state = "mars_dirt_11" }, /area/bigredv2/outside/space_port_lz2) +"mNT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/pipes/standard/manifold/hidden/green, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/bigredv2/outside/e) "mOc" = ( /obj/structure/machinery/door/airlock/almayer/maint/colony{ dir = 1; @@ -33930,14 +33754,6 @@ icon_state = "mars_cave_2" }, /area/bigredv2/caves/mining) -"mPo" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_10" - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "mPC" = ( /obj/structure/blocker/forcefield/multitile_vehicles, /obj/structure/fence, @@ -33997,6 +33813,17 @@ icon_state = "darkred2" }, /area/bigredv2/outside/admin_building) +"mUb" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 9 + }, +/obj/structure/bed/chair/comfy{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "mUy" = ( /turf/open/mars_cave{ icon_state = "mars_cave_7" @@ -34027,6 +33854,16 @@ icon_state = "mars_dirt_6" }, /area/bigredv2/caves/mining) +"mYV" = ( +/obj/structure/machinery/power/apc{ + dir = 1; + start_charge = 0 + }, +/turf/open/floor{ + dir = 1; + icon_state = "red" + }, +/area/bigredv2/outside/lambda_cave_cas) "mYW" = ( /obj/structure/prop/invuln/minecart_tracks{ desc = "A heavy duty power cable for high voltage applications"; @@ -34086,13 +33923,6 @@ icon_state = "mars_dirt_4" }, /area/bigredv2/caves/mining) -"ncT" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "ndw" = ( /turf/open/floor{ dir = 4; @@ -34114,12 +33944,27 @@ icon_state = "asteroidwarning" }, /area/bigredv2/outside/filtration_cave_cas) +"nfY" = ( +/turf/open/floor{ + dir = 4; + icon_state = "asteroidwarning" + }, +/area/bigredv2/caves_east) "ngJ" = ( /obj/item/stack/cable_coil/cut, /turf/open/mars_cave{ icon_state = "mars_dirt_6" }, /area/bigredv2/caves/mining) +"nhF" = ( +/obj/structure/machinery/camera/autoname{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "niQ" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 6 @@ -34139,6 +33984,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor, /area/bigredv2/outside/admin_building) +"nkE" = ( +/obj/structure/surface/table/woodentable, +/obj/item/paper_bin/wy{ + pixel_x = 7; + pixel_y = 8 + }, +/obj/item/paper_bin/wy{ + pixel_x = -4; + pixel_y = 8 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "nkQ" = ( /turf/open/mars_cave{ icon_state = "mars_cave_23" @@ -34200,6 +34059,18 @@ icon_state = "mars_dirt_5" }, /area/bigredv2/outside/n) +"nnA" = ( +/obj/structure/surface/table/woodentable, +/obj/structure/window{ + dir = 8 + }, +/obj/structure/machinery/computer/emails{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "nnK" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor{ @@ -34261,6 +34132,13 @@ icon_state = "mars_cave_6" }, /area/bigredv2/outside/filtration_cave_cas) +"nrA" = ( +/obj/effect/landmark/objective_landmark/close, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/bigredv2/outside/ne) "ntX" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor{ @@ -34315,6 +34193,13 @@ icon_state = "darkyellow2" }, /area/bigredv2/outside/engineering) +"nuQ" = ( +/obj/structure/surface/table/woodentable, +/obj/effect/landmark/objective_landmark/close, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "nvn" = ( /obj/structure/machinery/portable_atmospherics/powered/scrubber/huge/stationary{ density = 0; @@ -34366,15 +34251,6 @@ icon_state = "darkyellow2" }, /area/bigredv2/outside/engineering) -"nAA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/bed/chair/wood/normal{ - dir = 4 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "nBb" = ( /obj/item/ammo_magazine/pistol/b92fs, /obj/item/weapon/gun/pistol/b92fs{ @@ -34436,6 +34312,15 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) +"nFp" = ( +/obj/structure/window, +/obj/structure/window{ + dir = 8 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "nFB" = ( /obj/item/weapon/gun/rifle/m16, /obj/item/ammo_magazine/rifle/m16, @@ -34458,12 +34343,6 @@ icon_state = "mars_cave_17" }, /area/bigredv2/outside/filtration_cave_cas) -"nGt" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "admin_pmc" - }, -/turf/closed/wall/solaris/reinforced, -/area/bigredv2/outside/admin_building) "nHQ" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, /obj/structure/machinery/door/poddoor/almayer/closed{ @@ -34484,6 +34363,14 @@ icon_state = "test_floor4" }, /area/bigredv2/outside/engineering) +"nIS" = ( +/obj/structure/surface/table/reinforced, +/obj/item/storage/donut_box, +/turf/open/floor{ + dir = 9; + icon_state = "redfull" + }, +/area/bigredv2/outside/lambda_cave_cas) "nKL" = ( /obj/structure/prop/invuln/minecart_tracks{ desc = "An exchange valve"; @@ -34603,11 +34490,6 @@ icon_state = "dark" }, /area/bigredv2/outside/engineering) -"nVw" = ( -/turf/open/mars_cave{ - icon_state = "mars_cave_23" - }, -/area/bigredv2/outside/lambda_cave_cas) "nVx" = ( /turf/open/floor{ dir = 4; @@ -34664,6 +34546,12 @@ /obj/item/tool/warning_cone, /turf/open/mars, /area/bigredv2/outside/s) +"nZd" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "lz1cave_flank" + }, +/turf/closed/wall/solaris/reinforced, +/area/bigredv2/outside/space_port) "nZB" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor{ @@ -34742,6 +34630,13 @@ icon_state = "dark" }, /area/bigredv2/caves/lambda/breakroom) +"oes" = ( +/obj/structure/surface/table/woodentable, +/obj/item/newspaper, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "ofn" = ( /obj/effect/decal/cleanable/dirt, /turf/closed/wall/solaris, @@ -35117,6 +35012,12 @@ icon_state = "darkred2" }, /area/bigredv2/outside/admin_building) +"oHn" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/open/floor, +/area/bigredv2/outside/lambda_cave_cas) "oIc" = ( /obj/effect/decal/cleanable/blood{ base_icon = 'icons/obj/items/weapons/grenade.dmi'; @@ -35153,6 +35054,16 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) +"oJv" = ( +/obj/structure/surface/table/reinforced, +/obj/structure/machinery/computer/cameras/wooden_tv{ + dir = 8 + }, +/turf/open/floor{ + dir = 9; + icon_state = "redfull" + }, +/area/bigredv2/outside/lambda_cave_cas) "oJO" = ( /obj/effect/decal/cleanable/blood/drip{ pixel_x = -8; @@ -35219,6 +35130,18 @@ /obj/effect/decal/cleanable/dirt, /turf/open/gm/river, /area/bigredv2/outside/c) +"oPM" = ( +/obj/structure/surface/table/reinforced, +/obj/structure/machinery/door_control{ + id = "lambda-exterior"; + name = "Lambda Checkpoint Exterior"; + pixel_x = null + }, +/turf/open/floor{ + dir = 9; + icon_state = "redfull" + }, +/area/bigredv2/outside/lambda_cave_cas) "oQz" = ( /obj/structure/machinery/light/double{ dir = 1 @@ -35306,6 +35229,12 @@ icon_state = "asteroidfloor" }, /area/bigredv2/outside/telecomm/n_cave) +"oVq" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "lz1entrance_v2" + }, +/turf/open/mars, +/area/bigredv2/outside/nw) "oWc" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -35473,12 +35402,6 @@ icon_state = "wood" }, /area/bigredv2/outside/admin_building) -"pdN" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "lz1entrance_v2" - }, -/turf/open/mars, -/area/bigredv2/outside/nw) "pdW" = ( /turf/open/mars_cave{ icon_state = "mars_cave_13" @@ -35521,11 +35444,29 @@ icon_state = "freezerfloor" }, /area/bigredv2/outside/general_offices) +"pgV" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor{ + dir = 6; + icon_state = "asteroidwarning" + }, +/area/bigredv2/caves_east) "phi" = ( /turf/open/mars_cave{ icon_state = "mars_cave_6" }, /area/bigredv2/caves_research) +"phx" = ( +/obj/structure/pipes/standard/manifold/hidden/green{ + dir = 1 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/bigredv2/outside/e) "plx" = ( /obj/structure/machinery/power/apc{ dir = 4 @@ -35557,6 +35498,15 @@ "pmS" = ( /turf/open/mars, /area/bigredv2/caves_north) +"pmV" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/bigredv2/caves_lambda) "pnL" = ( /turf/open/mars{ icon_state = "mars_dirt_11" @@ -35600,6 +35550,19 @@ icon_state = "mars_cave_15" }, /area/bigredv2/caves_north) +"prU" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/surface/table/woodentable, +/obj/item/prop/magazine/book/bladerunner{ + pixel_y = 3 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "psE" = ( /obj/effect/landmark/objective_landmark/medium, /turf/open/floor{ @@ -35675,6 +35638,16 @@ icon_state = "dark" }, /area/bigredv2/outside/admin_building) +"pyq" = ( +/obj/structure/surface/table, +/obj/structure/machinery/computer/emails{ + dir = 8; + pixel_y = 4 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "pyU" = ( /obj/effect/decal/warning_stripes{ icon_state = "NW-out"; @@ -35697,6 +35670,9 @@ /obj/structure/curtain, /turf/open/floor/plating, /area/bigredv2/outside/medical) +"pAX" = ( +/turf/open/floor, +/area/bigredv2/outside/lambda_cave_cas) "pBv" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor{ @@ -35766,6 +35742,17 @@ icon_state = "mars_cave_2" }, /area/bigredv2/caves_lambda) +"pJd" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/security/glass/colony{ + name = "\improper Lambda Checkpoint" + }, +/turf/open/floor{ + icon_state = "delivery" + }, +/area/bigredv2/outside/lambda_cave_cas) "pJn" = ( /obj/structure/blocker/forcefield/multitile_vehicles, /turf/open/mars_cave{ @@ -35844,20 +35831,6 @@ icon_state = "darkred2" }, /area/bigredv2/caves/eta/research) -"pNn" = ( -/obj/structure/machinery/light, -/obj/structure/surface/table/woodentable, -/obj/structure/window{ - dir = 8 - }, -/obj/structure/machinery/door_control{ - id = "Library"; - name = "Storm Shutters" - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "pNU" = ( /obj/structure/bed, /obj/item/prop/alien/hugger, @@ -35939,6 +35912,9 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) +"pSf" = ( +/turf/open/floor/carpet, +/area/bigredv2/outside/library) "pTo" = ( /obj/structure/machinery/power/apc{ dir = 1; @@ -36100,6 +36076,25 @@ icon_state = "bcircuit" }, /area/bigredv2/outside/telecomm/lz2_cave) +"qbG" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/poddoor/almayer/closed{ + dir = 4; + id = "lambda-interior"; + name = "Lambda Checkpoint Interior" + }, +/turf/open/floor{ + icon_state = "delivery" + }, +/area/bigredv2/outside/lambda_cave_cas) +"qcE" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 10 + }, +/turf/open/floor/carpet, +/area/bigredv2/outside/library) "qcQ" = ( /turf/open/mars_cave{ icon_state = "mars_dirt_7" @@ -36200,11 +36195,6 @@ icon_state = "mars_dirt_4" }, /area/bigredv2/caves/mining) -"qkB" = ( -/turf/open/mars_cave{ - icon_state = "mars_cave_8" - }, -/area/bigredv2/caves) "qkC" = ( /obj/structure/fence, /turf/open/floor{ @@ -36260,6 +36250,15 @@ icon_state = "whiteblue" }, /area/bigredv2/outside/medical) +"qoS" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor{ + dir = 8; + icon_state = "asteroidwarning" + }, +/area/bigredv2/outside/e) "qpn" = ( /obj/item/tool/warning_cone{ pixel_x = -6 @@ -36295,6 +36294,15 @@ "qsE" = ( /turf/closed/wall/solaris/reinforced, /area/bigred/ground/garage_workshop) +"qsV" = ( +/obj/structure/bookcase{ + icon_state = "book-5" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "qus" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor{ @@ -36482,6 +36490,20 @@ /obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot, /turf/open/floor, /area/bigredv2/outside/cargo) +"qJB" = ( +/obj/effect/decal/cleanable/blood{ + dir = 4; + icon_state = "gib6" + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/bigredv2/outside/lambda_cave_cas) +"qJM" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/bigredv2/outside/library) "qJV" = ( /obj/effect/decal/cleanable/blood/drip{ pixel_x = -5; @@ -36492,12 +36514,29 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) +"qKH" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidwarning" + }, +/area/bigredv2/caves_lambda) "qLk" = ( /obj/item/device/flashlight/lantern, /turf/open/mars_cave{ icon_state = "mars_dirt_5" }, /area/bigredv2/caves/mining) +"qLD" = ( +/turf/open/floor{ + icon_state = "red" + }, +/area/bigredv2/outside/lambda_cave_cas) "qLV" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor{ @@ -36510,15 +36549,6 @@ icon_state = "mars_cave_18" }, /area/bigredv2/outside/n) -"qNp" = ( -/obj/structure/bed/chair/comfy{ - dir = 4 - }, -/obj/structure/window, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "qNu" = ( /obj/structure/surface/table, /obj/structure/machinery/light/small{ @@ -36594,12 +36624,6 @@ /obj/structure/cargo_container/hd/mid/alt, /turf/open/floor/plating, /area/bigredv2/caves/mining) -"qTu" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "viro_open" - }, -/turf/closed/wall/solaris/rock, -/area/bigredv2/caves) "qTC" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor{ @@ -36649,6 +36673,27 @@ icon_state = "mars_cave_17" }, /area/bigredv2/caves/mining) +"qWA" = ( +/obj/structure/surface/table/woodentable, +/obj/item/paper, +/obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) +"qWT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/door/poddoor/almayer/closed{ + dir = 4; + id = "lambda-exterior"; + name = "Lambda Checkpoint Exterior" + }, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor{ + icon_state = "delivery" + }, +/area/bigredv2/outside/lambda_cave_cas) "qXi" = ( /obj/structure/surface/table/woodentable, /obj/item/device/pinpointer, @@ -36732,6 +36777,10 @@ icon_state = "red" }, /area/bigredv2/outside/marshal_office) +"rbs" = ( +/obj/structure/window/framed/solaris/reinforced, +/turf/open/floor/plating, +/area/bigredv2/outside/lambda_cave_cas) "rbD" = ( /obj/structure/largecrate/random, /turf/open/floor/plating{ @@ -36823,6 +36872,15 @@ icon_state = "whitegreen" }, /area/bigredv2/outside/medical) +"rgm" = ( +/obj/structure/bed/chair/wood/normal{ + dir = 8 + }, +/obj/structure/pipes/standard/simple/hidden/green, +/turf/open/floor{ + icon_state = "chapel" + }, +/area/bigredv2/outside/chapel) "rgp" = ( /obj/structure/blocker/forcefield/multitile_vehicles, /turf/open/mars_cave{ @@ -36862,6 +36920,12 @@ }, /turf/closed/wall/solaris/reinforced, /area/bigredv2/caves/mining) +"rkh" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor{ + icon_state = "red" + }, +/area/bigredv2/outside/lambda_cave_cas) "rkS" = ( /obj/structure/cable{ icon_state = "5-6" @@ -36878,6 +36942,17 @@ "rnc" = ( /turf/open/mars_cave, /area/bigredv2/caves_research) +"rnK" = ( +/obj/structure/machinery/door/poddoor/almayer/closed{ + dir = 4; + id = "lambda-exterior"; + name = "Lambda Checkpoint Exterior" + }, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor{ + icon_state = "delivery" + }, +/area/bigredv2/outside/lambda_cave_cas) "rnV" = ( /obj/item/stack/sheet/glass, /turf/open/floor{ @@ -36931,14 +37006,6 @@ icon_state = "mars_cave_19" }, /area/bigredv2/caves/mining) -"rrl" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "filtration_restored" - }, -/turf/open/mars_cave{ - icon_state = "mars_cave_2" - }, -/area/bigredv2/outside/s) "rrF" = ( /turf/open/mars_cave{ icon_state = "mars_cave_13" @@ -37039,6 +37106,12 @@ icon_state = "mars_cave_6" }, /area/bigredv2/caves_east) +"rBn" = ( +/obj/structure/window, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "rBK" = ( /obj/structure/fence, /turf/open/mars{ @@ -37056,6 +37129,11 @@ icon_state = "mars_cave_7" }, /area/bigredv2/outside/lz1_telecomm_cas) +"rDa" = ( +/turf/open/floor{ + icon_state = "redcorner" + }, +/area/bigredv2/outside/lambda_cave_cas) "rDl" = ( /obj/effect/decal/cleanable/blood/drip{ pixel_x = -3; @@ -37130,6 +37208,12 @@ icon_state = "mars_cave_15" }, /area/bigredv2/caves/mining) +"rKe" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 5 + }, +/turf/open/floor/carpet, +/area/bigredv2/outside/library) "rKs" = ( /obj/item/stack/medical/splint{ pixel_x = 4; @@ -37217,6 +37301,12 @@ /obj/effect/landmark/crap_item, /turf/open/floor, /area/bigredv2/outside/hydroponics) +"rNs" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "tcomms_open" + }, +/turf/closed/wall/solaris/rock, +/area/bigredv2/caves) "rOK" = ( /obj/effect/landmark/corpsespawner/ua_riot, /obj/item/weapon/baton/loaded, @@ -37260,19 +37350,6 @@ }, /turf/open/floor/plating, /area/bigredv2/oob) -"rRE" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/surface/table/woodentable, -/obj/item/prop/magazine/book/bladerunner{ - pixel_y = 3 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "rRO" = ( /obj/structure/blocker/forcefield/multitile_vehicles, /turf/open/floor{ @@ -37336,18 +37413,6 @@ icon_state = "mars_dirt_7" }, /area/bigredv2/caves/mining) -"rVy" = ( -/obj/structure/window, -/obj/structure/window{ - dir = 8 - }, -/obj/structure/surface/table/woodentable, -/obj/effect/landmark/objective_landmark/close, -/obj/item/prop/magazine/book/starshiptroopers, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "rVE" = ( /obj/effect/landmark/crap_item, /turf/open/mars_cave{ @@ -37520,6 +37585,15 @@ icon_state = "asteroidfloor" }, /area/bigredv2/outside/telecomm/n_cave) +"sdl" = ( +/obj/structure/bed/chair/comfy{ + dir = 4 + }, +/obj/structure/window, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "sdP" = ( /obj/structure/largecrate/random/barrel/white, /turf/open/floor/plating, @@ -37557,6 +37631,20 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) +"shn" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/machinery/door/poddoor/almayer/closed{ + dir = 4; + id = "lambda-exterior"; + name = "Lambda Checkpoint Exterior" + }, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor{ + icon_state = "delivery" + }, +/area/bigredv2/outside/lambda_cave_cas) "shK" = ( /obj/structure/cargo_container/arious/right, /turf/open/mars_cave{ @@ -37700,14 +37788,6 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) -"sri" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "sso" = ( /obj/structure/bed/chair, /turf/open/mars_cave{ @@ -37930,6 +38010,21 @@ icon_state = "darkyellow2" }, /area/bigredv2/outside/engineering) +"sEb" = ( +/obj/structure/filingcabinet{ + density = 0; + pixel_x = 8; + pixel_y = 3 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) +"sEh" = ( +/turf/open/floor{ + icon_state = "asteroidwarning" + }, +/area/bigredv2/outside/e) "sEi" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, @@ -37972,6 +38067,13 @@ icon_state = "mars_dirt_6" }, /area/bigredv2/caves/mining) +"sHO" = ( +/obj/effect/landmark/crap_item, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "sIh" = ( /obj/effect/landmark/nightmare{ insert_tag = "lambda-cave-extratunnel" @@ -38066,19 +38168,55 @@ icon_state = "delivery" }, /area/bigredv2/outside/admin_building) +"sRV" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidwarning" + }, +/area/bigredv2/caves_lambda) "sSU" = ( /turf/open/mars_cave{ icon_state = "mars_cave_19" }, /area/bigredv2/outside/lz2_south_cas) +"sSY" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/bed/chair/comfy{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "sUQ" = ( /obj/structure/machinery/photocopier, /turf/open/floor/wood, /area/bigredv2/caves/lambda/breakroom) +"sVk" = ( +/obj/effect/decal/remains/human, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidwarning" + }, +/area/bigredv2/outside/lambda_cave_cas) "sVB" = ( /obj/structure/window_frame/solaris, /turf/open/floor/plating, /area/bigredv2/outside/marshal_office) +"sVM" = ( +/obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/bigredv2/caves_lambda) "sWa" = ( /obj/item/ore{ pixel_x = 12; @@ -38106,6 +38244,12 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) +"sXd" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "prison_breakout" + }, +/turf/closed/wall/solaris/reinforced, +/area/bigredv2/outside/marshal_office) "sXv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/blood/drip{ @@ -38192,15 +38336,6 @@ /obj/effect/decal/cleanable/dirt/greenglow, /turf/closed/wall/solaris/reinforced, /area/bigredv2/outside/engineering) -"tdn" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 6 - }, -/turf/open/floor{ - dir = 1; - icon_state = "asteroidfloor" - }, -/area/bigredv2/caves_lambda) "tdp" = ( /obj/effect/decal/cleanable/blood{ icon_state = "xgib4" @@ -38335,15 +38470,6 @@ icon_state = "mars_cave_7" }, /area/bigredv2/outside/n) -"tkM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "tkN" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -38375,10 +38501,12 @@ }, /turf/open/floor, /area/bigred/ground/garage_workshop) -"tmj" = ( -/obj/structure/machinery/alarm{ - dir = 4; - pixel_x = -30 +"tlU" = ( +/obj/structure/surface/table, +/obj/structure/window, +/obj/structure/machinery/computer/emails{ + dir = 8; + pixel_y = 4 }, /turf/open/floor{ icon_state = "wood" @@ -38564,21 +38692,6 @@ icon_state = "wood" }, /area/bigredv2/caves/eta/living) -"tAM" = ( -/obj/structure/surface/table/woodentable, -/obj/item/newspaper{ - pixel_x = -7 - }, -/obj/item/prop/magazine/book/theartofwar{ - pixel_x = 11 - }, -/obj/item/tool/pen{ - pixel_x = -7 - }, -/turf/open/floor{ - icon_state = "wood" - }, -/area/bigredv2/outside/library) "tAW" = ( /obj/effect/landmark/lv624/xeno_tunnel, /turf/open/floor{ @@ -38947,12 +39060,6 @@ icon_state = "mars_cave_13" }, /area/bigredv2/caves/mining) -"tYM" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "prison_breakout" - }, -/turf/closed/wall/solaris/reinforced, -/area/bigredv2/outside/marshal_office) "tZU" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -39147,6 +39254,10 @@ icon_state = "delivery" }, /area/bigredv2/outside/telecomm/lz2_cave) +"unS" = ( +/obj/structure/pipes/standard/simple/hidden/green, +/turf/open/floor/carpet, +/area/bigredv2/outside/library) "uoj" = ( /obj/effect/decal/remains/human, /turf/open/floor{ @@ -39191,12 +39302,6 @@ icon_state = "mars_cave_18" }, /area/bigredv2/caves_east) -"uuo" = ( -/obj/structure/blocker/forcefield/multitile_vehicles, -/turf/open/mars_cave{ - icon_state = "mars_cave_18" - }, -/area/bigredv2/outside/lambda_cave_cas) "uuO" = ( /obj/item/shard{ icon_state = "small" @@ -39281,12 +39386,6 @@ icon_state = "platingdmg3" }, /area/bigredv2/caves/mining) -"uCD" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "reactor_meltdown" - }, -/turf/closed/wall/solaris/rock, -/area/bigredv2/caves) "uDn" = ( /obj/structure/sign/safety/west, /obj/structure/sign/safety/hazard{ @@ -39583,14 +39682,6 @@ icon_state = "darkyellow2" }, /area/bigredv2/outside/engineering) -"vcm" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 - }, -/turf/open/floor{ - icon_state = "asteroidwarning" - }, -/area/bigredv2/outside/lambda_cave_cas) "vct" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -39887,15 +39978,6 @@ icon_state = "darkblue2" }, /area/bigredv2/caves/eta/research) -"vvi" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "lz1containers_scramble" - }, -/turf/open/floor{ - dir = 4; - icon_state = "asteroidwarning" - }, -/area/bigredv2/outside/space_port) "vvj" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -40013,6 +40095,20 @@ icon_state = "mars_dirt_10" }, /area/bigredv2/outside/s) +"vFA" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) +"vFH" = ( +/obj/effect/landmark/structure_spawner/xvx_hive/xeno_wall, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidwarning" + }, +/area/bigredv2/caves_lambda) "vFS" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, @@ -40159,12 +40255,28 @@ icon_state = "darkyellow2" }, /area/bigredv2/outside/engineering) +"vUw" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/bigredv2/outside/lambda_cave_cas) "vUy" = ( /obj/structure/cargo_container/kelland/left, /turf/open/mars_cave{ icon_state = "mars_dirt_4" }, /area/bigredv2/outside/space_port_lz2) +"vUN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "vVl" = ( /obj/structure/machinery/door/airlock/almayer/generic{ name = "\improper Dormitories Toilet" @@ -40360,6 +40472,13 @@ icon_state = "asteroidwarning" }, /area/bigredv2/outside/filtration_cave_cas) +"whw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/surface/table/woodentable, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "whE" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/effect/landmark/objective_landmark/close, @@ -40615,6 +40734,14 @@ icon_state = "asteroidwarning" }, /area/bigredv2/outside/c) +"wBK" = ( +/obj/structure/bed/chair/wood/normal{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "wCo" = ( /turf/open/mars_cave{ icon_state = "mars_dirt_4" @@ -40636,6 +40763,14 @@ icon_state = "mars_cave_17" }, /area/bigredv2/caves/mining) +"wET" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "wFL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/safety/hazard{ @@ -40693,6 +40828,12 @@ icon_state = "asteroidwarning" }, /area/bigredv2/outside/c) +"wHg" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "lz1north_mining" + }, +/turf/closed/wall/solaris/reinforced, +/area/bigredv2/outside/space_port) "wHx" = ( /obj/effect/decal/warning_stripes{ icon_state = "S"; @@ -40703,6 +40844,27 @@ icon_state = "darkredcorners2" }, /area/bigredv2/outside/admin_building) +"wHM" = ( +/obj/structure/pipes/vents/pump{ + dir = 4 + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/bed/chair/comfy{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) +"wIj" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor{ + icon_state = "asteroidwarning" + }, +/area/bigredv2/outside/e) "wIw" = ( /obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, @@ -40728,6 +40890,15 @@ icon_state = "mars_cave_17" }, /area/bigredv2/outside/lz1_north_cas) +"wKA" = ( +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor{ + icon_state = "wood" + }, +/area/bigredv2/outside/library) "wLD" = ( /obj/structure/largecrate/random/barrel/yellow, /turf/open/floor/plating{ @@ -40775,21 +40946,19 @@ /obj/structure/largecrate/random/secure, /turf/open/floor, /area/bigred/ground/garage_workshop) -"wNw" = ( -/obj/structure/machinery/door/poddoor/almayer/closed{ - dir = 4; - id = "lambda"; - name = "Lambda Lockdown" - }, -/turf/open/floor{ - icon_state = "delivery" - }, -/area/bigredv2/outside/lambda_cave_cas) "wNA" = ( /obj/effect/decal/cleanable/dirt, /obj/item/ammo_magazine/pistol/m1911, /turf/open/floor/plating, /area/bigredv2/caves/mining) +"wOK" = ( +/obj/effect/landmark/structure_spawner/xvx_hive/xeno_wall, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/floor{ + dir = 4; + icon_state = "asteroidwarning" + }, +/area/bigredv2/caves_lambda) "wPk" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -40815,6 +40984,12 @@ icon_state = "mars_cave_7" }, /area/bigredv2/caves_lambda) +"wRl" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "admin_pmc" + }, +/turf/closed/wall/solaris/reinforced, +/area/bigredv2/outside/admin_building) "wRH" = ( /obj/effect/decal/cleanable/dirt, /obj/item/device/flashlight, @@ -40938,6 +41113,15 @@ icon_state = "mars_dirt_4" }, /area/bigredv2/outside/space_port_lz2) +"xaE" = ( +/obj/structure/machinery/door/airlock/almayer/security/glass/colony{ + dir = 1; + name = "\improper Lambda Checkpoint" + }, +/turf/open/floor{ + icon_state = "delivery" + }, +/area/bigredv2/outside/lambda_cave_cas) "xaH" = ( /turf/closed/wall/wood, /area/bigredv2/caves_sw) @@ -41173,17 +41357,14 @@ icon_state = "mars_dirt_4" }, /area/bigredv2/caves/mining) -"xsf" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 9 - }, -/obj/structure/bed/chair/comfy{ - dir = 4 - }, -/turf/open/floor{ - icon_state = "wood" +"xsX" = ( +/obj/structure/bed/chair{ + dir = 8; + pixel_y = 3 }, -/area/bigredv2/outside/library) +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor, +/area/bigredv2/outside/lambda_cave_cas) "xte" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/machinery/light, @@ -41412,6 +41593,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor, /area/bigredv2/outside/admin_building) +"xLz" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "lz1containers_scramble" + }, +/turf/open/floor{ + dir = 4; + icon_state = "asteroidwarning" + }, +/area/bigredv2/outside/space_port) "xLM" = ( /obj/structure/machinery/light{ dir = 1 @@ -41459,6 +41649,12 @@ icon_state = "dark" }, /area/bigredv2/caves/lambda/research) +"xOk" = ( +/obj/effect/landmark/nightmare{ + insert_tag = "cargo_containers" + }, +/turf/closed/wall/solaris, +/area/bigredv2/outside/cargo) "xPg" = ( /obj/structure/barricade/handrail/wire, /turf/open/mars_cave{ @@ -41499,10 +41695,26 @@ icon_state = "mars_cave_13" }, /area/bigredv2/caves/mining) +"xTk" = ( +/obj/limb/arm/l_arm, +/obj/effect/decal/cleanable/blood/drip, +/obj/structure/blocker/forcefield/multitile_vehicles, +/turf/open/floor, +/area/bigredv2/outside/lambda_cave_cas) "xTM" = ( /obj/structure/closet/medical_wall, /turf/closed/wall/solaris/reinforced, /area/bigredv2/caves/mining) +"xTV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/bigredv2/outside/lambda_cave_cas) "xUo" = ( /obj/effect/landmark/monkey_spawn, /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, @@ -41547,6 +41759,14 @@ }, /turf/open/floor/plating, /area/bigredv2/caves/mining) +"xWv" = ( +/obj/effect/landmark/structure_spawner/xvx_hive/xeno_door, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/floor{ + dir = 1; + icon_state = "asteroidfloor" + }, +/area/bigredv2/caves_lambda) "xWz" = ( /obj/effect/decal/cleanable/dirt{ pixel_x = 17 @@ -41646,12 +41866,9 @@ icon_state = "mars_dirt_7" }, /area/bigredv2/caves/mining) -"yao" = ( -/obj/structure/machinery/vending/coffee, -/turf/open/floor{ - icon_state = "yellowfull" - }, -/area/bigredv2/outside/hydroponics) +"xZL" = ( +/turf/closed/wall/solaris/rock, +/area/bigredv2/outside/lambda_cave_cas) "yar" = ( /turf/open/floor{ dir = 4; @@ -41721,12 +41938,6 @@ icon_state = "asteroidwarning" }, /area/bigredv2/outside/n) -"yfe" = ( -/obj/effect/landmark/nightmare{ - insert_tag = "eta_carp" - }, -/turf/closed/wall/solaris/reinforced, -/area/bigredv2/caves/eta/xenobiology) "yfs" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -41795,6 +42006,18 @@ icon_state = "mars_dirt_5" }, /area/bigredv2/caves/mining) +"yhG" = ( +/obj/structure/showcase{ + icon = 'icons/obj/structures/machinery/research.dmi'; + icon_state = "d_analyzer_la" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 1 + }, +/turf/open/floor{ + icon_state = "darkish" + }, +/area/bigredv2/caves/lambda/breakroom) "yhN" = ( /obj/effect/decal/cleanable/blood{ layer = 3 @@ -43869,7 +44092,7 @@ aao aao aao aao -jcn +rNs aao aao xmy @@ -45200,7 +45423,7 @@ aao aao aao aao -qTu +lFR aao aao aao @@ -49076,7 +49299,7 @@ ajx aoN ajx vXp -pdN +oVq aeI aeI aeI @@ -49114,7 +49337,7 @@ aoD aoD aoD aoD -eUT +maB aoD aoD aoD @@ -49274,7 +49497,7 @@ acw acw aam aam -vvi +xLz aam aam aam @@ -49962,7 +50185,7 @@ axv anp anp anp -cGv +gri ajx ajY akK @@ -50340,7 +50563,7 @@ wcs aae aae aae -aLh +wHg aah aah aaU @@ -52020,7 +52243,7 @@ aao aao aao aao -ers +lOY aao uHQ oRK @@ -52401,7 +52624,7 @@ asK asK bkz asK -lMt +xOk aFc ftY kcH @@ -53177,7 +53400,7 @@ aae aae aae aae -lMB +nZd aae aae aaq @@ -55039,7 +55262,7 @@ wog wog wog aao -uCD +bRC aao aao aao @@ -56889,7 +57112,7 @@ ana acp acp acp -tYM +sXd ume aqv bOZ @@ -58242,7 +58465,7 @@ apC apC apC apC -nGt +wRl aHF aHD aBR @@ -61592,7 +61815,7 @@ aCe aCe aCe aCe -yfe +gWv aao jrD jrD @@ -63196,7 +63419,7 @@ ayY axG ayY ayY -joa +kxr asJ asJ aua @@ -65880,7 +66103,7 @@ buc buc buc buu -rrl +ejp azO meT meT @@ -73416,8 +73639,8 @@ aOb aQo aQl aqU -aTo -aUo +qhl +aVv aUk aKP aKP @@ -73622,7 +73845,7 @@ aCo aQa aCZ anT -yao +cOu aJA aKJ aEd @@ -73633,8 +73856,8 @@ aPi aQp aQm aqU -aTp -aTk +qhl +sEh aUk aKP aKP @@ -73797,7 +74020,7 @@ aao tqS xWl xWl -xWl +gIT xWl xWl tqS @@ -73840,7 +74063,7 @@ aQa aCZ anT aIF -aJB +eaZ aCZ aLE aMp @@ -73850,8 +74073,8 @@ aPj aQq aRs anT -aTp -aUp +qhl +wIj aUk aKP aKP @@ -74067,8 +74290,8 @@ anW anW anW anW -aTq -aUp +aDy +wIj aUk aKP aKP @@ -74267,25 +74490,25 @@ pLH bMz apo anW -aKL -aui -aKK -kgl -ixN +qsV +vFA +heD +wKA +nhF anW -aQr -aKL -aKL +eBL +qsV +qsV anW -aKL +qsV anW -aQr -aQr -aQr +eBL +eBL +eBL anW aTq -aTq -aTk +aDy +sEh aUk aKP aWL @@ -74300,7 +74523,7 @@ atP atP atP atb -iIp +gAK bja bes bes @@ -74484,25 +74707,25 @@ aCc aCc aMk anW -aKL +qsV aEi aEi -kgl +wKA aEi -tmj +aJC aEi aEi -aui -tkM -aui -sri +vFA +vUN +vFA +wET aEi aEi aEi aqx aTq -aTq -aUp +aDy +wIj aUk aKP aKP @@ -74701,25 +74924,25 @@ aCc pLH aMk anW -aKL -aui +qsV +vFA aDe aGe -aOi -aOi -aOi -ncT -aKM -aLF -aOj +unS +unS +unS +mIs +kAj +qJM +pSf aEi -aOj -aPk -tAM +pSf +iEm +lmO aqx aTq -aTq -aUp +aDy +wIj aQu aVr aKP @@ -74919,24 +75142,24 @@ aCc aMk anW anW -aDf +dLS aDg -fKY -aOj -aHN -aOj +nFp +pSf +dNX +pSf aEi -aKN -aOi -aOi -jvP -aOi -aPl -aQs +moe +unS +unS +aQt +unS +rKe +eeI anW aTq -aTp -aUp +qhl +wIj aQu aUk aKP @@ -75135,25 +75358,25 @@ aCc aCc aMk anW -aDd -aDh -xsf -qNp -aui -aui -aui +wHM +sSY +mUb +sdl +vFA +vFA +vFA aEi aEi aEi aHO -rVy -aOj -aPm -ncT +fWY +pSf +qcE +mIs aRu nnK -aTt -aUq +mNT +wIj aQu aUk aKP @@ -75352,25 +75575,25 @@ aCc aCc aMk anW -aEl -aQt -aEl -aQt +pyq +tlU +pyq +tlU aEi -kMA -aIH +jNN +qWA aJD aKO aEi aHO -eGv +fJW aEi -aPn -aui +sHO +vFA ocA aTq -aTp -aUr +qhl +wIj aQu aQu aOk @@ -75573,21 +75796,21 @@ anW anW anW anW -kDb +drx aHO lDa lDa aKO aEi aEi -eiR -lsk -aPo -pNn +rBn +oes +nnA +jUJ anW aTq -aTq -aUs +phx +aTt aSf aSf aWM @@ -75787,24 +76010,24 @@ aCc aMk apo apo -aEk +nrA apo anW voz -ghh -ghh -aui -nAA -ghh +wBK +wBK +vFA +hho +wBK aEi aEi aEi -aPp -lEP +iaS +aui aqx aTq -aTq -foT +aDy +aTp aSg aSg aSg @@ -76007,21 +76230,21 @@ apo apo apo anW -aGQ -ceF -jBo -aui -rRE -jBo -mPo -llZ -gPb -gPb -kwh +lTC +nuQ +whw +vFA +prU +whw +mKi +esS +sEb +sEb +nkE aqx aTq -aTq -aUp +aDy +wIj aQu aVq aVq @@ -76237,8 +76460,8 @@ aoc anW anW aTq -aTp -aUp +qhl +wIj aUk aKP aKP @@ -76453,9 +76676,9 @@ aSg aSg aSg aSg -aSg -aTp -aUp +aTq +qhl +wIj aUk aKP aKP @@ -76463,10 +76686,10 @@ aKP aSh aYx atb -aZI -bas -baV -bbG +nRT +bar +baU +bbF bar baU nRT @@ -76670,20 +76893,20 @@ aKP aKP aKP aMR -aQu aTr -aUp +aDy +wIj aQu aVr aKP aKP aSh -aYx -atd -bbF -bap -baT -bbF +eYA +aZh +cuG +crd +rgm +bbG bap baT nRT @@ -76887,17 +77110,17 @@ aKP aKP aMR aQu -aSi -aTq -foT -aVv -aQu -aOk -aOk -aQu -aYw -atd -bbF +aTr +aDy +aTp +aTu +qoS +aTu +aTu +aTu +aTp +aZi +nRT bar baU bbH @@ -77103,18 +77326,18 @@ aMR aOk aOk aQu -kYd -wNw -wNw -aUu -wNw -kYd -aQu aQu -aQu -aYw -atb -bbF +aTr +aDy +aTq +aTq +dTB +rbs +rbs +dRc +dTB +dTB +nRT bap baT bbF @@ -77317,21 +77540,21 @@ aao aao aao aao -apI -apI -apI -apI -hLs -iKn -aUv -iZi -kYd aQu aQu -aXX -aYy -aZh -aZK +aQu +ceA +aTr +aDy +aTq +aTq +rbs +oPM +eKZ +pAX +hKO +dTB +nRT bao baS bbF @@ -77537,17 +77760,17 @@ aao aao aao aao -apI -wNw -wNw -aUw -wNw -apI -apI -aXt -aXX -aTr -aZi +dvz +rnK +shn +qWT +rnK +dvz +djo +xsX +xTk +rkh +dvz nRT bat baW @@ -77754,18 +77977,18 @@ aao aao aao aao -uuo -aSj -ixR -aUx -cGQ -aao -aao -aXt -aXt -aTr -atb -nRT +lLe +sVk +xTV +vUw +iKn +rbs +aIe +pAX +pAX +qLD +dvz +dTB aJy aJy nRT @@ -77972,17 +78195,17 @@ aao aao aao aao -sYL -aTx -vcm -qkB -aao -aao -aao -aao -aTr -atb -atb +hLs +xTV +iKn +hNW +dTB +jKp +dFL +pAX +dKk +fyZ +dTB atb atb atb @@ -78188,17 +78411,17 @@ aao aao aao aao -aao -sYL -aTx -vcm -sYL -aao -aao -aao -aao -aao -aao +dTB +juZ +xTV +iKn +iKn +xaE +pAX +pAX +pAX +pAX +gEM aao aao aao @@ -78406,16 +78629,16 @@ aao aao aao aao -sYL -aTx -vcm -aVw -aao -aao -aao -aao -aao -aao +hLs +xTV +iKn +qJB +dTB +mYV +pAX +pAX +rDa +cry aao aao aao @@ -78622,17 +78845,17 @@ eMX aao aao aao -gNH -cIq +sYL hLs -vcm -hSs -gNH -aao -aao -aao -aao -aao +aUv +iKn +iKn +rbs +nIS +pAX +pAX +qLD +dTB aao aao aao @@ -78839,20 +79062,20 @@ eFh aao aao aao -aRv -nVw -hLs -vcm -qkB -aao -aao -aao -aao +dTB +iFz +qbG +iFz +iFz +dTB +dAd +oHn +pAX +qLD +xZL aao aao -sON -sfI -aao +gCE aao aao aao @@ -79057,17 +79280,17 @@ aao aao aao aao -sYL -hLs -vcm -aao -aao -aao -aao -aao +aTw +pmV +aTv +aTv +rbs +lAR +oJv +pAX +irZ +dTB aao -sON -gCE gCE rAs rAs @@ -79274,16 +79497,16 @@ tQw aao aao aao -sYL -hLs -vcm -aao -aao -aao -aao -aao -aao -ecK +vFH +pmV +aTv +kqO +dTB +rbs +rbs +pJd +dTB +dTB gCE gCE gCE @@ -79491,15 +79714,15 @@ tQw tQw aao aao -aSk -aTz -aUA -aao -aao -aao -aao -aao -sON +dJr +sVM +xWv +wOK +kUW +aOn +nfY +nfY +pgV gCE gCE gCE @@ -79707,16 +79930,16 @@ tQw gXp gXp gXp -aRw -dLe -hLs -vcm -aao -aao -aao -aao -aao -ecK +hFg +eFh +sRV +aMT +tQw +ujC +ujC +gCE +gCE +gCE gCE gCE gCE @@ -79926,14 +80149,14 @@ tQw tQw tQw eFh -aTw -aUy -amG -aao -aao -aao -aao -ecK +sRV +aMT +tQw +tQw +pIN +gCE +gCE +gCE gCE gCE gCE @@ -80143,14 +80366,14 @@ tQw tQw tQw eFh -aTw -aUy -wQC -eMX -aao -aao -aao -ecK +sRV +aMT +tQw +tQw +aWN +gCE +gCE +gCE gCE xuU qFY @@ -80354,19 +80577,19 @@ anI anI anI anI -aMS +kZI gmN tQw tQw tQw arK -aTy -aUy -wQC -sNQ -aao -aao -sON +qKH +aMT +tQw +tQw +ujC +gCE +gCE gCE gCE gCE @@ -80571,18 +80794,18 @@ uaB uaB uaB aMq -aMT +aTv aOm aOm aOm aOm aSl -aTv -aUy -amG -aao -aao -jgW +pmV +aMT +tQw +ujC +ujC +gCE gCE gCE gCE @@ -80788,18 +81011,18 @@ aJE aKQ aKQ hmm -aMT +aTv aOn aOn aOn aOn aTv -tdn -kNP -wQC -gXp -qQn +pmV +aMT tQw +tQw +pIN +gCE gCE gCE gpg @@ -81005,7 +81228,7 @@ aJF anI anI anI -aMV +jvW gXp gXp gXp @@ -81013,10 +81236,10 @@ gXp aTw ocR uoj -wQC tQw -aWN tQw +aWN +gCE gCE ohD aao @@ -81232,9 +81455,9 @@ aTv aMT tQw tQw -pIN -xFZ -ohD +ujC +gCE +gCE aao aao aao @@ -81448,8 +81671,8 @@ aSm lMw aMT tQw -xFZ -ahy +tQw +ujC aao aao aao @@ -81664,7 +81887,7 @@ aao aao aSm aMV -sNQ +tQw aao aao sIh @@ -82284,7 +82507,7 @@ tFO axs ati atN -auw +yhG avj avR awI @@ -89065,7 +89288,7 @@ aab aaa aaa aaa -aaa +cJd aaa aaa aaa @@ -89282,7 +89505,7 @@ aab aaa aaa aaa -aaa +cJd aaa aaa aaa @@ -89501,7 +89724,7 @@ aaa aaa aaa aaa -aaa +cJd aaa aaa aaa @@ -89718,15 +89941,15 @@ aaa aaa aaa aaa +cJd aaa aaa aaa aaa aaa -aaa -aaa -aaa -aaa +cJd +cJd +cJd aaa aaa aaa @@ -89941,9 +90164,9 @@ aaa aaa aaa aaa -aaa -aaa -aaa +cJd +cJd +cJd aaa aaa aaa diff --git a/maps/map_files/Kutjevo/Kutjevo.dmm b/maps/map_files/Kutjevo/Kutjevo.dmm index b63b0895a23b..e29ebb9280b9 100644 --- a/maps/map_files/Kutjevo/Kutjevo.dmm +++ b/maps/map_files/Kutjevo/Kutjevo.dmm @@ -675,14 +675,13 @@ }, /area/kutjevo/exterior/lz_river) "aWR" = ( -/obj/structure/blocker/invisible_wall, /obj/structure/machinery/light{ dir = 8 }, /turf/open/gm/river/desert/deep{ icon = 'icons/turf/floors/desert_water_toxic.dmi' }, -/area/kutjevo/interior/oob) +/area/kutjevo/exterior/construction) "aXU" = ( /obj/structure/barricade/wooden{ dir = 1; @@ -740,11 +739,8 @@ /obj/structure/platform/kutjevo{ dir = 4 }, -/obj/structure/blocker/invisible_wall, -/turf/open/gm/river/desert/deep{ - icon = 'icons/turf/floors/desert_water_toxic.dmi' - }, -/area/kutjevo/interior/oob) +/turf/open/gm/river/desert/deep, +/area/kutjevo/interior/complex/botany/east_tech) "bcl" = ( /obj/structure/largecrate/random/barrel/red, /turf/open/floor/kutjevo/multi_tiles{ @@ -926,8 +922,10 @@ /turf/open/auto_turf/sand/layer0, /area/kutjevo/interior/colony_north) "bnQ" = ( -/turf/closed/wall/kutjevo/colony/reinforced/hull, -/area/kutjevo/interior/colony_north) +/turf/open/gm/river/desert/deep{ + icon = 'icons/turf/floors/desert_water_toxic.dmi' + }, +/area/kutjevo/interior/complex/botany) "boa" = ( /obj/structure/machinery/light{ dir = 4 @@ -994,7 +992,9 @@ /turf/open/floor/kutjevo/tan, /area/kutjevo/interior/complex/Northwest_Security_Checkpoint) "btI" = ( -/turf/closed/wall/kutjevo/colony/reinforced/hull, +/turf/open/floor/plating/kutjevo{ + icon_state = "panelscorched" + }, /area/kutjevo/interior/complex/botany/east_tech) "buo" = ( /obj/structure/machinery/power/apc{ @@ -1013,14 +1013,13 @@ /turf/open/floor/kutjevo/colors/cyan, /area/kutjevo/interior/complex/med) "bvT" = ( -/obj/structure/blocker/invisible_wall, /obj/structure/machinery/light{ dir = 1 }, /turf/open/gm/river/desert/deep{ icon = 'icons/turf/floors/desert_water_toxic.dmi' }, -/area/kutjevo/interior/oob) +/area/kutjevo/exterior/construction) "bwt" = ( /obj/structure/prop/dam/truck/cargo, /turf/open/floor/kutjevo/tan/multi_tiles{ @@ -1317,9 +1316,7 @@ /turf/open/floor/kutjevo/tan, /area/kutjevo/interior/complex/botany) "bQg" = ( -/obj/structure/machinery/colony_floodlight{ - pixel_y = 10 - }, +/obj/structure/machinery/colony_floodlight, /turf/open/floor/kutjevo/colors/orange, /area/kutjevo/interior/foremans_office) "bQk" = ( @@ -1342,11 +1339,8 @@ /obj/structure/platform_decoration/kutjevo{ dir = 8 }, -/obj/structure/blocker/invisible_wall, -/turf/open/gm/river/desert/deep{ - icon = 'icons/turf/floors/desert_water_toxic.dmi' - }, -/area/kutjevo/interior/oob) +/turf/open/gm/river/desert/deep, +/area/kutjevo/interior/complex/botany/east_tech) "bRl" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/computer/communications{ @@ -1738,7 +1732,7 @@ /area/kutjevo/interior/colony_South/power2) "cum" = ( /obj/structure/extinguisher_cabinet, -/turf/closed/wall/kutjevo/colony/reinforced/hull, +/turf/closed/wall/kutjevo/colony/reinforced, /area/kutjevo/interior/oob) "cun" = ( /obj/structure/platform_decoration/kutjevo, @@ -2316,11 +2310,8 @@ /area/kutjevo/exterior/spring) "ddi" = ( /obj/structure/platform/kutjevo, -/obj/structure/blocker/invisible_wall, -/turf/open/gm/river/desert/deep{ - icon = 'icons/turf/floors/desert_water_toxic.dmi' - }, -/area/kutjevo/interior/oob) +/turf/open/gm/river/desert/deep, +/area/kutjevo/interior/complex/botany/east_tech) "ddk" = ( /obj/structure/stairs/perspective/kutjevo{ dir = 4; @@ -3138,12 +3129,11 @@ /turf/open/floor/kutjevo/colors/cyan, /area/kutjevo/interior/complex/med/auto_doc) "ecO" = ( -/obj/structure/blocker/invisible_wall, /obj/structure/machinery/light, /turf/open/gm/river/desert/deep{ icon = 'icons/turf/floors/desert_water_toxic.dmi' }, -/area/kutjevo/interior/oob) +/area/kutjevo/exterior/construction) "ecV" = ( /obj/structure/flora/grass/tallgrass/desert/corner{ dir = 9 @@ -3393,14 +3383,13 @@ /turf/open/floor/kutjevo/colors/orange/edge, /area/kutjevo/interior/power_pt2_electric_boogaloo) "epV" = ( -/obj/structure/blocker/invisible_wall, /obj/structure/machinery/light{ dir = 4 }, /turf/open/gm/river/desert/deep{ icon = 'icons/turf/floors/desert_water_toxic.dmi' }, -/area/kutjevo/interior/oob) +/area/kutjevo/exterior/construction) "eqJ" = ( /obj/structure/flora/grass/desert/lightgrass_2, /turf/open/auto_turf/sand/layer1, @@ -3844,9 +3833,7 @@ }, /area/kutjevo/interior/oob/dev_room) "eQQ" = ( -/obj/structure/machinery/colony_floodlight{ - pixel_y = 10 - }, +/obj/structure/machinery/colony_floodlight, /turf/open/floor/kutjevo/colors/purple, /area/kutjevo/interior/construction) "eQW" = ( @@ -4285,7 +4272,7 @@ /area/kutjevo/interior/complex/med/cells) "frx" = ( /obj/structure/extinguisher_cabinet, -/turf/closed/wall/kutjevo/colony/reinforced/hull, +/turf/closed/wall/kutjevo/colony/reinforced, /area/kutjevo/interior/power_pt2_electric_boogaloo) "frF" = ( /obj/structure/flora/grass/tallgrass/desert/corner{ @@ -4841,7 +4828,7 @@ /turf/open/auto_turf/sand/layer0, /area/kutjevo/exterior/complex_border/med_rec) "glB" = ( -/turf/closed/wall/kutjevo/colony/reinforced/hull, +/turf/closed/wall/kutjevo/colony, /area/kutjevo/interior/complex/med/cells) "gma" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, @@ -5124,11 +5111,11 @@ /turf/open/floor/kutjevo/grey/plate, /area/kutjevo/interior/complex/med) "gCG" = ( -/obj/structure/stairs/perspective/kutjevo{ - icon_state = "p_stair_sn_full_cap" +/obj/structure/machinery/light{ + dir = 4 }, -/turf/open/auto_turf/sand/layer0, -/area/kutjevo/exterior/complex_border/med_rec) +/turf/open/floor/kutjevo/colors/orange/tile, +/area/kutjevo/interior/power_pt2_electric_boogaloo) "gDP" = ( /obj/item/tool/wrench, /turf/open/floor/kutjevo/tan, @@ -5487,14 +5474,10 @@ /turf/open/auto_turf/sand/layer0, /area/kutjevo/interior/colony_central) "hdF" = ( -/obj/structure/filtration/coagulation_arm{ - pixel_x = -16; - pixel_y = -16 - }, -/turf/open/gm/river/desert/deep{ - icon = 'icons/turf/floors/desert_water_toxic.dmi' +/turf/open/floor/plating/kutjevo{ + icon_state = "platingdmg1" }, -/area/kutjevo/interior/oob) +/area/kutjevo/interior/complex/botany/east_tech) "hdQ" = ( /obj/structure/platform/kutjevo/smooth, /turf/open/floor/kutjevo/colors/orange, @@ -5712,13 +5695,10 @@ }, /area/kutjevo/interior/oob) "hwA" = ( -/obj/structure/stairs/perspective/kutjevo{ - dir = 4; - icon_state = "p_stair_full" +/turf/open/floor/plating/kutjevo{ + icon_state = "platingdmg3" }, -/obj/structure/platform/kutjevo/smooth, -/turf/open/floor/plating/kutjevo, -/area/kutjevo/interior/complex/med/locks) +/area/kutjevo/interior/complex/botany/east_tech) "hwO" = ( /obj/structure/machinery/light{ dir = 1 @@ -5928,11 +5908,8 @@ /obj/structure/platform/kutjevo{ dir = 4 }, -/obj/structure/blocker/invisible_wall, -/turf/open/gm/river/desert/deep{ - icon = 'icons/turf/floors/desert_water_toxic.dmi' - }, -/area/kutjevo/interior/oob) +/turf/open/gm/river/desert/deep, +/area/kutjevo/interior/complex/botany/east_tech) "hLH" = ( /obj/structure/platform/kutjevo/rock{ dir = 1 @@ -6148,7 +6125,7 @@ }, /area/kutjevo/interior/complex/Northwest_Flight_Control) "ify" = ( -/turf/closed/wall/kutjevo/colony/reinforced/hull, +/turf/closed/wall/kutjevo/colony, /area/kutjevo/interior/complex/med/pano) "ifE" = ( /obj/structure/machinery/power/apc{ @@ -6192,14 +6169,8 @@ /turf/open/auto_turf/sand/layer1, /area/kutjevo/exterior/Northwest_Colony) "iiG" = ( -/obj/structure/stairs/perspective/kutjevo{ - dir = 8; - icon_state = "p_stair_full" - }, -/obj/structure/platform/kutjevo/smooth, -/obj/structure/barricade/handrail/kutjevo, -/turf/open/floor/kutjevo/tan/multi_tiles, -/area/kutjevo/interior/colony_South/power2) +/turf/open/gm/river/desert/deep, +/area/kutjevo/interior/complex/botany/east_tech) "iiN" = ( /obj/item/stack/sheet/metal, /turf/open/floor/plating/kutjevo, @@ -6444,11 +6415,8 @@ /area/kutjevo/exterior/runoff_dunes) "iIz" = ( /obj/structure/platform_decoration/kutjevo, -/obj/structure/blocker/invisible_wall, -/turf/open/gm/river/desert/deep{ - icon = 'icons/turf/floors/desert_water_toxic.dmi' - }, -/area/kutjevo/interior/oob) +/turf/open/gm/river/desert/deep, +/area/kutjevo/interior/complex/botany/east_tech) "iIT" = ( /obj/structure/platform/kutjevo{ dir = 4 @@ -6831,13 +6799,6 @@ }, /turf/open/floor/kutjevo/tan, /area/kutjevo/interior/construction) -"jkp" = ( -/obj/structure/platform/kutjevo/smooth, -/obj/structure/barricade/handrail/kutjevo, -/turf/open/floor/kutjevo/multi_tiles{ - dir = 4 - }, -/area/kutjevo/interior/colony_South/power2) "jkJ" = ( /obj/structure/closet/secure_closet/hydroponics, /obj/item/reagent_container/glass/watertank, @@ -6916,12 +6877,6 @@ dir = 10 }, /area/kutjevo/interior/colony_South/power2) -"jos" = ( -/obj/structure/stairs/perspective/kutjevo{ - icon_state = "p_stair_full" - }, -/turf/open/auto_turf/sand/layer0, -/area/kutjevo/exterior/complex_border/med_rec) "joL" = ( /obj/structure/filingcabinet, /obj/structure/machinery/light{ @@ -7476,8 +7431,8 @@ /turf/open/auto_turf/sand/layer1, /area/kutjevo/exterior/spring) "khI" = ( -/obj/structure/window/framed/kutjevo/reinforced/hull, -/turf/open/floor/kutjevo/grey/plate, +/obj/structure/window/framed/kutjevo/reinforced, +/turf/open/floor/plating/kutjevo, /area/kutjevo/interior/complex/botany/east_tech) "khW" = ( /obj/structure/surface/table/almayer, @@ -8025,13 +7980,6 @@ }, /turf/open/floor/kutjevo/tan/multi_tiles, /area/kutjevo/interior/oob) -"kPA" = ( -/obj/structure/stairs/perspective/kutjevo{ - dir = 4; - icon_state = "p_stair_full" - }, -/turf/open/floor/plating/kutjevo, -/area/kutjevo/interior/complex/med/locks) "kPM" = ( /obj/structure/stairs/perspective/kutjevo{ dir = 8; @@ -8155,10 +8103,6 @@ dir = 10 }, /area/kutjevo/interior/colony_South/power2) -"kYs" = ( -/obj/structure/window/framed/kutjevo/reinforced/hull, -/turf/open/floor/plating/kutjevo, -/area/kutjevo/interior/complex/med) "kZm" = ( /obj/structure/platform_decoration/kutjevo, /turf/open/gm/river/desert/shallow, @@ -8651,10 +8595,6 @@ dir = 8 }, /area/kutjevo/exterior/runoff_river) -"lLn" = ( -/obj/structure/window/framed/kutjevo/reinforced/hull, -/turf/open/floor/plating/kutjevo, -/area/kutjevo/interior/complex/botany) "lLo" = ( /obj/structure/monorail, /obj/structure/machinery/door/poddoor/shutters/almayer, @@ -8716,9 +8656,6 @@ /turf/open/floor/kutjevo/multi_tiles, /area/kutjevo/exterior/Northwest_Colony) "lNt" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, /obj/structure/closet/secure_closet/engineering_personal, /obj/item/stack/sheet/metal/medium_stack, /obj/effect/landmark/objective_landmark/far, @@ -9058,11 +8995,10 @@ /turf/open/asphalt/cement_sunbleached, /area/kutjevo/exterior/Northwest_Colony) "mjP" = ( -/obj/structure/blocker/invisible_wall, /turf/open/floor/coagulation{ icon_state = "0,5" }, -/area/kutjevo/interior/oob) +/area/kutjevo/interior/complex/botany/east_tech) "mjW" = ( /obj/structure/flora/bush/ausbushes/reedbush, /turf/open/desert/desert_shore/shore_edge1{ @@ -9243,11 +9179,8 @@ /obj/structure/platform/kutjevo{ dir = 1 }, -/obj/structure/blocker/invisible_wall, -/turf/open/gm/river/desert/deep{ - icon = 'icons/turf/floors/desert_water_toxic.dmi' - }, -/area/kutjevo/interior/oob) +/turf/open/gm/river/desert/deep, +/area/kutjevo/interior/complex/botany/east_tech) "mzS" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/stack/medical/splint, @@ -9587,12 +9520,10 @@ /turf/open/floor/kutjevo/plate, /area/kutjevo/interior/colony_central) "mPt" = ( +/obj/structure/machinery/colony_floodlight, /obj/structure/platform/kutjevo{ dir = 1 }, -/obj/structure/machinery/colony_floodlight{ - pixel_y = 10 - }, /turf/open/auto_turf/sand/layer1, /area/kutjevo/interior/complex/med/triage) "mPL" = ( @@ -9795,9 +9726,6 @@ }, /turf/open/floor/kutjevo/colors, /area/kutjevo/interior/complex/botany) -"nie" = ( -/turf/closed/wall/kutjevo/colony/reinforced/hull, -/area/kutjevo/interior/complex/botany/east) "niC" = ( /obj/structure/flora/bush/ausbushes/reedbush, /turf/open/desert/desert_shore/shore_corner2, @@ -9838,11 +9766,6 @@ dir = 8 }, /area/kutjevo/exterior/complex_border/med_park) -"nlc" = ( -/obj/structure/blocker/invisible_wall, -/obj/structure/window/framed/kutjevo/reinforced/hull, -/turf/open/floor/plating/kutjevo, -/area/kutjevo/interior/oob) "nlv" = ( /turf/open/auto_turf/sand/layer2, /area/kutjevo/interior/colony_central) @@ -9941,7 +9864,7 @@ /area/kutjevo/exterior/complex_border/med_rec) "nsC" = ( /obj/structure/extinguisher_cabinet, -/turf/closed/wall/kutjevo/colony/reinforced/hull, +/turf/closed/wall/kutjevo/colony, /area/kutjevo/interior/complex/botany/east) "nsF" = ( /turf/open/floor/kutjevo/multi_tiles{ @@ -10762,9 +10685,7 @@ /obj/structure/platform/kutjevo{ dir = 8 }, -/obj/structure/machinery/colony_floodlight{ - pixel_y = 10 - }, +/obj/structure/machinery/colony_floodlight, /turf/open/auto_turf/sand/layer1, /area/kutjevo/interior/complex/med) "oum" = ( @@ -11556,12 +11477,6 @@ dir = 6 }, /area/kutjevo/interior/power_pt2_electric_boogaloo) -"pxl" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 1 - }, -/turf/open/floor/kutjevo/colors/orange, -/area/kutjevo/interior/complex/med/locks) "pxB" = ( /obj/structure/platform/kutjevo/rock{ dir = 1 @@ -12450,9 +12365,6 @@ /area/kutjevo/exterior/scrubland) "qIN" = ( /obj/structure/surface/table/reinforced/prison, -/obj/structure/barricade/handrail/kutjevo{ - layer = 3.1 - }, /obj/item/toy/deck, /obj/item/device/flashlight/lamp, /turf/open/floor/kutjevo/multi_tiles{ @@ -12483,11 +12395,8 @@ dir = 4 }, /obj/structure/platform/kutjevo, -/obj/structure/blocker/invisible_wall, -/turf/open/gm/river/desert/deep{ - icon = 'icons/turf/floors/desert_water_toxic.dmi' - }, -/area/kutjevo/interior/oob) +/turf/open/gm/river/desert/deep, +/area/kutjevo/interior/complex/botany/east_tech) "qLV" = ( /obj/structure/tunnel, /turf/open/auto_turf/sand/layer0, @@ -13226,9 +13135,6 @@ /area/kutjevo/interior/complex/botany/east_tech) "rRC" = ( /obj/structure/surface/table/reinforced/prison, -/obj/structure/barricade/handrail/kutjevo{ - layer = 3.1 - }, /obj/item/clipboard, /obj/item/clothing/glasses/thermal/syndi{ icon_state = "kutjevo_goggles"; @@ -13464,11 +13370,8 @@ /obj/structure/platform/kutjevo{ dir = 8 }, -/obj/structure/blocker/invisible_wall, -/turf/open/gm/river/desert/deep{ - icon = 'icons/turf/floors/desert_water_toxic.dmi' - }, -/area/kutjevo/interior/oob) +/turf/open/gm/river/desert/deep, +/area/kutjevo/interior/complex/botany/east_tech) "sgc" = ( /turf/open/floor/kutjevo/tan/alt_edge{ dir = 6 @@ -13712,13 +13615,6 @@ /obj/structure/machinery/floodlight/landing, /turf/open/floor/kutjevo/plate, /area/kutjevo/exterior/lz_dunes) -"sxq" = ( -/obj/structure/stairs/perspective/kutjevo{ - dir = 6; - icon_state = "p_stair_full" - }, -/turf/open/auto_turf/sand/layer0, -/area/kutjevo/exterior/complex_border/med_rec) "sxy" = ( /turf/open/gm/river/desert/shallow_edge{ dir = 9 @@ -13963,16 +13859,6 @@ }, /turf/open/floor/kutjevo/tan/multi_tiles, /area/kutjevo/interior/complex/botany) -"sOy" = ( -/obj/structure/stairs/perspective/kutjevo{ - dir = 8; - icon_state = "p_stair_ew_full_cap_butt" - }, -/obj/structure/platform/stair_cut{ - icon_state = "kutjevo_platform_sm_stair" - }, -/turf/open/floor/plating/kutjevo, -/area/kutjevo/interior/complex/med/locks) "sOF" = ( /obj/item/stack/sheet/wood{ pixel_x = -4 @@ -13984,13 +13870,6 @@ "sOJ" = ( /turf/open/gm/river/desert/shallow_corner, /area/kutjevo/exterior/lz_river) -"sOT" = ( -/obj/structure/blocker/invisible_wall, -/obj/structure/filtration/machine_96x96/indestructible{ - icon_state = "sedimentation" - }, -/turf/open/floor/plating/kutjevo, -/area/kutjevo/interior/power_pt2_electric_boogaloo) "sPp" = ( /obj/structure/platform/kutjevo/smooth, /turf/open/gm/river/desert/deep/covered, @@ -14810,9 +14689,8 @@ /turf/open/floor/almayer/research/containment/floor2, /area/kutjevo/exterior/complex_border/botany_medical_cave) "tWv" = ( -/obj/structure/blocker/invisible_wall, /turf/open/gm/river, -/area/kutjevo/interior/oob) +/area/kutjevo/interior/power_pt2_electric_boogaloo) "tWM" = ( /turf/open/floor/kutjevo/tan/multi_tiles, /area/kutjevo/interior/power/comms) @@ -14841,12 +14719,10 @@ /turf/open/auto_turf/sand/layer1, /area/kutjevo/exterior/telecomm/lz2_north) "uah" = ( -/obj/structure/filtration/coagulation_arm, -/obj/structure/blocker/invisible_wall, /turf/open/gm/river/desert/deep{ icon = 'icons/turf/floors/desert_water_toxic.dmi' }, -/area/kutjevo/interior/oob) +/area/kutjevo/exterior/construction) "uaj" = ( /obj/structure/machinery/light, /turf/open/floor/kutjevo/tan/alt_inner_edge{ @@ -15013,11 +14889,8 @@ /obj/structure/platform/kutjevo{ dir = 8 }, -/obj/structure/blocker/invisible_wall, -/turf/open/gm/river/desert/deep{ - icon = 'icons/turf/floors/desert_water_toxic.dmi' - }, -/area/kutjevo/interior/oob) +/turf/open/gm/river/desert/deep, +/area/kutjevo/interior/complex/botany/east_tech) "ukN" = ( /obj/structure/prop/dam/boulder/boulder3, /turf/open/auto_turf/sand/layer0, @@ -15468,11 +15341,8 @@ dir = 8 }, /obj/structure/platform/kutjevo, -/obj/structure/blocker/invisible_wall, -/turf/open/gm/river/desert/deep{ - icon = 'icons/turf/floors/desert_water_toxic.dmi' - }, -/area/kutjevo/interior/oob) +/turf/open/gm/river/desert/deep, +/area/kutjevo/interior/complex/botany/east_tech) "uNW" = ( /obj/structure/prop/dam/boulder/boulder2, /turf/open/auto_turf/sand/layer0, @@ -15867,11 +15737,8 @@ /obj/structure/platform/kutjevo{ dir = 4 }, -/obj/structure/blocker/invisible_wall, -/turf/open/gm/river/desert/deep{ - icon = 'icons/turf/floors/desert_water_toxic.dmi' - }, -/area/kutjevo/interior/oob) +/turf/open/gm/river/desert/deep, +/area/kutjevo/interior/complex/botany/east_tech) "vlg" = ( /obj/structure/flora/grass/tallgrass/desert/corner{ dir = 6 @@ -16673,12 +16540,6 @@ }, /turf/open/auto_turf/sand/layer0, /area/kutjevo/exterior/spring) -"wtu" = ( -/obj/structure/platform_decoration/kutjevo{ - dir = 4 - }, -/turf/open/floor/kutjevo/colors/orange, -/area/kutjevo/interior/complex/med/locks) "wtH" = ( /turf/closed/wall/kutjevo/colony, /area/kutjevo/interior/complex/botany/east) @@ -16764,12 +16625,6 @@ /turf/open/floor/plating/kutjevo, /area/kutjevo/interior/complex/Northwest_Security_Checkpoint) "wwV" = ( -/obj/structure/platform/kutjevo/smooth{ - dir = 1 - }, -/obj/structure/platform/kutjevo/smooth{ - dir = 8 - }, /obj/structure/filingcabinet{ pixel_x = 8; pixel_y = 5 @@ -17045,7 +16900,7 @@ /turf/open/gm/river/desert/deep{ icon = 'icons/turf/floors/desert_water_toxic.dmi' }, -/area/kutjevo/interior/oob) +/area/kutjevo/interior/complex/med) "wXd" = ( /turf/closed/wall/kutjevo/rock, /area/kutjevo/interior/colony_South) @@ -17343,7 +17198,11 @@ /turf/open/auto_turf/sand/layer1, /area/kutjevo/exterior/Northwest_Colony) "xti" = ( -/obj/structure/platform_decoration/kutjevo, +/obj/structure/stairs/perspective/kutjevo{ + dir = 4; + icon_state = "p_stair_full" + }, +/obj/structure/platform/kutjevo, /turf/open/auto_turf/sand/layer0, /area/kutjevo/exterior/complex_border/med_rec) "xtN" = ( @@ -17589,9 +17448,6 @@ /obj/effect/landmark/objective_landmark/science, /turf/open/floor/kutjevo/colors/green/tile, /area/kutjevo/interior/complex/botany) -"xRh" = ( -/turf/closed/wall/kutjevo/colony/reinforced/hull, -/area/kutjevo/interior/power_pt2_electric_boogaloo) "xRo" = ( /obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{ dir = 1; @@ -24763,15 +24619,15 @@ ich jqt pyp pyp -aHW +pyp uPu vYI vYI vYI uCR -aHW -aHW -aHW +pyp +pyp +pyp aHW rwj rwj @@ -26266,7 +26122,7 @@ dfY pyp pyp pyp -aHW +pyp yas ddk ddk @@ -32737,7 +32593,7 @@ jwR qgW nAo nIA -rYS +mbS xhV kxW eNf @@ -33714,7 +33570,7 @@ dxF dxF mhj fjF -gBl +wff dxF dxF eXm @@ -33875,7 +33731,7 @@ jzl jzl fUL jzl -kYs +lcs jzl jzl eMC @@ -34875,22 +34731,22 @@ oag oVX oVX iZu -jhS -jhS -kVJ -jhS -jhS -jhS +jzl +jzl +jzl +jzl +jzl +jzl wff wff wff wff -jhS -jhS -jhS -kVJ -kVJ -rYS +eXm +eXm +lHs +lHs +eXm +eXm lce hVg qgW @@ -35042,22 +34898,22 @@ snr oVX oVX cfa -kVJ +lcs wWy wWy wWy wWy -kVJ +lcs wff wff wff wff -kVJ -wWy -wWy -wWy -wWy -lLn +lHs +bnQ +bnQ +bnQ +bnQ +lHs kDS kDS eOM @@ -35201,7 +35057,7 @@ aHl lCu oVX jzl -pbY +jzl kBb uTj abS @@ -35209,22 +35065,22 @@ snr oVX oVX cfa -kVJ -wWy +lcs wWy -hdF +jzl +jzl wWy -kVJ +lcs nnf wff wff wff -kVJ -wWy -wWy -hdF -wWy -lLn +lHs +bnQ +eXm +eXm +bnQ +lHs kDS kDS kct @@ -35368,7 +35224,7 @@ etm lCu oVX jzl -pbY +jzl cZt cDf dvL @@ -35376,22 +35232,22 @@ snr oVX oVX cfa -kVJ -wWy -wWy +lcs wWy +jzl +jzl wWy -kVJ +lcs nnf wff wff wff -kVJ -wWy -wWy -wWy -wWy -lLn +lHs +bnQ +eXm +eXm +bnQ +lHs bGX kDS qgW @@ -35543,22 +35399,22 @@ snr oVX oVX ewF -kVJ +lcs wWy wWy wWy wWy -kVJ +lcs nnf nnf nnf wff -kVJ -wWy -wWy -wWy -wWy -lLn +lHs +bnQ +bnQ +bnQ +bnQ +lHs vDS vDS wGD @@ -35710,22 +35566,22 @@ oag oVX oVX sFL -jhS -jhS -kVJ -jhS -jhS -jhS +jzl +jzl +jzl +jzl +jzl +jzl wff nnf wff wff -jhS -jhS -jhS -kVJ -kVJ -rYS +eXm +eXm +lHs +lHs +eXm +eXm nIn cAt vDS @@ -36024,8 +35880,8 @@ rlB ryB nsd pfz -gCG -gld +pfz +pfz jhb eCY tOe @@ -36191,8 +36047,8 @@ rlB ryB nsd pfz -jos -gld +pfz +pfz jhb bKi asQ @@ -36358,8 +36214,8 @@ rlB ryB nsd pfz -jos -gld +pfz +pfz jhb eCY ygh @@ -36525,7 +36381,7 @@ rlB jPW kGU kOD -sxq +wzC xti jhb ayB @@ -36702,9 +36558,9 @@ dRX dRX dRX jhb -pbY -pbY -pbY +jzl +jzl +jzl jzl lBP jzl @@ -37233,7 +37089,7 @@ jhD oQc oQc oQc -xRh +oQc yir xkk yir @@ -37729,9 +37585,9 @@ xWK xWK xWK jhx -xRh -xRh -xRh +dip +dip +dip dnR lah kHm @@ -37896,9 +37752,9 @@ xWK xWK xWK jhx -nlc +ubR tWv -nlc +ubR eSH stt stt @@ -38063,9 +37919,9 @@ bKH xWK xWK xWK -nlc +ubR tWv -nlc +ubR sPV rQY rQY @@ -38230,9 +38086,9 @@ bKH xWK xWK xWK -xRh -xRh -xRh +dip +dip +dip eVv rQY pxb @@ -38383,9 +38239,9 @@ slF slF slF slF -sOy -kPA -hwA +slF +slF +slF nsF kOo nYz @@ -38403,9 +38259,9 @@ lah sPV rQY rkO -xRh +dip frx -xRh +dip eVv rxr qJx @@ -38414,7 +38270,7 @@ dip wtH wtH tIz -nie +tIz vHL vHL vHL @@ -38424,17 +38280,17 @@ tIz wtH wtH wtH -rzh -rzh -rzh -jhS +wCU +wCU +wCU +wCU tGi tGi tGi tGi tGi -jhS -jhS +wCU +wCU dxF dxF dxF @@ -38550,9 +38406,9 @@ fpJ fpJ pIE wwV -wtu nAy -pxl +nAy +nAy lNt ktq ngX @@ -38570,9 +38426,9 @@ stt eOc rQY epR -mcv +ubR tWv -mcv +ubR sPV rQY rQY @@ -38591,17 +38447,17 @@ tIz wtH wtH wtH -rzh -rzh -rzh -jhS -kVJ -kVJ -kVJ -kVJ -kVJ -jhS -jhS +wCU +wCU +wCU +wCU +khI +khI +khI +khI +khI +wCU +wCU dxF dxF dxF @@ -38737,9 +38593,9 @@ rQY rQY rQY epR -mcv +ubR tWv -mcv +ubR sPV rQY rQY @@ -38760,15 +38616,15 @@ wCU wCU wCU wCU -btI -jhS +wCU +wCU mjP mjP mjP mjP mjP -jhS -jhS +wCU +wCU dxF dxF dxF @@ -38904,9 +38760,9 @@ rQY rQY rQY tFe -xRh -xRh -xRh +dip +dip +dip eVv rxr pxb @@ -38926,8 +38782,8 @@ wCU wCU wCU wCU -btI -btI +wCU +wCU sfz ukd ukd @@ -38935,7 +38791,7 @@ ukd ukd ukd uNJ -jhS +wCU dxF dxF dxF @@ -39096,13 +38952,13 @@ rRl mCd khI mzn -qwg -qwg -qwg -uah -qwg +iiG +iiG +wCU +iiG +iiG ddi -jhS +wCU dxF dxF dxF @@ -39263,13 +39119,13 @@ oJj jyq khI mzn -qwg -qwg -qwg -qwg -qwg +iiG +wCU +wCU +wCU +iiG ddi -jhS +wCU dxF dxF dxF @@ -39430,13 +39286,13 @@ iNF jyq khI mzn -qwg -qwg -qwg -qwg -qwg +iiG +iiG +wCU +iiG +iiG ddi -jhS +wCU dxF dxF dxF @@ -39597,13 +39453,13 @@ nbu jKN khI mzn -qwg -qwg -qwg -qwg -qwg +iiG +iiG +iiG +iiG +iiG ddi -jhS +wCU dxF dxF dxF @@ -39737,9 +39593,9 @@ dip dip szC vdV -szC -szC -sOT +lah +lah +lah dip jmP jmP @@ -39762,15 +39618,15 @@ nbu nbu nbu jKN -btI +wCU vkV bQY -qwg -qwg -qwg +iiG +iiG +iiG iIz qLa -jhS +wCU dxF dxF dxF @@ -39904,9 +39760,9 @@ oNG dip szC szC -szC -szC -szC +lah +lah +lah dip dip dip @@ -39929,15 +39785,15 @@ nbu eBH nbu hYE -btI -btI +wCU +wCU mzn -qwg -qwg -uah +iiG +wCU +iiG ddi -jhS -jhS +wCU +wCU dxF dxF dxF @@ -40071,8 +39927,8 @@ oNG dip szC lNG -szC -lNG +lah +gCG dip dip rIL @@ -40099,11 +39955,11 @@ jKN jKN khI mzn -qwg -qwg -qwg +wCU +wCU +wCU ddi -jhS +wCU dxF dxF dxF @@ -40266,11 +40122,11 @@ jKN jKN khI mzn -qwg -qwg -qwg +iiG +wCU +iiG ddi -jhS +wCU dxF dxF dxF @@ -40433,11 +40289,11 @@ aHC jKN khI mzn -qwg -qwg -qwg +iiG +iiG +iiG ddi -jhS +wCU dxF dxF dxF @@ -40598,13 +40454,13 @@ hUy yaI hMu hMu -btI +wCU vkV bQY -qwg +iiG iIz hLi -jhS +wCU dxF dxF dxF @@ -40739,7 +40595,7 @@ rIL rIL fAT dnF -rIL +btI rIL rIL rIL @@ -40765,13 +40621,13 @@ oNK dkE dkE iBd -btI -jhS +wCU +wCU vkV bcb hLi -jhS -jhS +wCU +wCU dxF dxF dxF @@ -40908,9 +40764,9 @@ mMf rIL mMf rIL +cXL rIL -rIL -mMf +hwA jhS hws qwg @@ -40932,12 +40788,12 @@ tfx dkE tyJ eyk -btI -jhS -jhS -jhS -jhS -jhS +wCU +wCU +wCU +wCU +wCU +wCU dxF dxF dxF @@ -41099,8 +40955,8 @@ dkE ugQ fjX peo -btI -jhS +wCU +wCU dxF dxF dxF @@ -41241,9 +41097,9 @@ rdm rdm rdm hMu +cXL rIL -rIL -mMf +hdF hMu jhS kVJ @@ -41266,8 +41122,8 @@ cXL iiN duP hMu -jhS -jhS +wCU +wCU dxF dxF dxF @@ -41384,11 +41240,11 @@ mpW mpW pmv pmv -jhS -mcv -mcv -mcv -jhS +lPR +hPf +hPf +hPf +lPR feR xWK jhx @@ -41408,9 +41264,9 @@ rdm rdm fTk qIN -fDY fTk -jkp +fTk +fTk lkp foE fDY @@ -41426,15 +41282,15 @@ aFc fDY fTk dUy -jhS +nTw rzT aRS cXL cXL aRS hMu -jhS -jhS +wCU +wCU dxF dxF dxF @@ -41550,13 +41406,13 @@ beR jEN jEN dQD -jhS -jhS +lPR +lPR bvT -qwg +uah ecO -jhS -jhS +lPR +lPR xrv eTT xWK @@ -41575,9 +41431,9 @@ rdm rdm rsM rRC -aoJ -tnx -iiG +mLw +mLw +mLw fTk qgI aoJ @@ -41600,8 +41456,8 @@ wcl rUM nUV nUV -jhS -jhS +wCU +wCU dxF dxF dxF @@ -41717,13 +41573,13 @@ bKH bKH bKH bKH -mcv +hPf aWR -qwg -qwg +uah +lPR uah aWR -mcv +hPf cHb fyF xWK @@ -41767,8 +41623,8 @@ qGx qGx rdm rdm -jhS -jhS +wCU +wCU dxF dxF dxF @@ -41884,13 +41740,13 @@ xWK xWK jhx xWK -mcv -qwg -qwg -qwg -qwg -qwg -mcv +hPf +uah +lPR +lPR +lPR +uah +hPf fyF lxc xWK @@ -41935,7 +41791,7 @@ qGx jhS jhS jhS -jhS +dxF dxF dxF dxF @@ -42051,13 +41907,13 @@ xWK xWK bKH xWK -mcv +hPf epV -qwg -qwg -qwg +uah +lPR +uah epV -mcv +hPf cUm cUm xWK @@ -42102,7 +41958,7 @@ qGx qhV kma jhS -jhS +dxF dxF dxF dxF @@ -42218,13 +42074,13 @@ bKH xWK xWK xWK -jhS -jhS +lPR +lPR bvT -qwg +uah ecO -jhS -jhS +lPR +lPR cUm eTT hpB @@ -42269,7 +42125,7 @@ mLw qhV kma jhS -jhS +dxF dxF dxF dxF @@ -42386,11 +42242,11 @@ bKH xWK xWK xWK -jhS -mcv -mcv -mcv -jhS +lPR +hPf +hPf +hPf +lPR jhx xWK xWK @@ -42436,7 +42292,7 @@ qGx qhV kma jhS -jhS +dxF dxF dxF dxF @@ -42603,7 +42459,7 @@ rHE jhS jhS jhS -jhS +dxF dxF dxF dxF @@ -42769,8 +42625,8 @@ acD vSE rdm rdm -jhS -jhS +rzh +rzh dxF dxF dxF @@ -42936,8 +42792,8 @@ rdm rdm rdm rdm -jhS -jhS +rzh +rzh dxF dxF dxF @@ -43103,8 +42959,8 @@ rdm rdm rdm rdm -jhS -jhS +rzh +rzh dxF dxF mMH @@ -43270,8 +43126,8 @@ rdm rdm rdm rdm -jhS -jhS +dxF +dxF mMH bpj bpj @@ -48046,9 +47902,9 @@ hUk hUk hUk hUk -bnQ -bnQ -bnQ +hUk +hUk +hUk fQx fQx fQx diff --git a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm index 6bc30f573dd2..3b8e72bf2cee 100644 --- a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm +++ b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm @@ -50,18 +50,6 @@ icon_state = "cement1" }, /area/lv522/outdoors/colony_streets/north_east_street) -"abL" = ( -/obj/structure/platform{ - dir = 1 - }, -/obj/structure/platform{ - dir = 4 - }, -/obj/structure/platform_decoration{ - dir = 9 - }, -/turf/open/gm/river, -/area/lv522/atmos/sewer) "abS" = ( /obj/effect/acid_hole, /turf/closed/wall/strata_ice/dirty, @@ -368,7 +356,7 @@ /area/lv522/outdoors/colony_streets/central_streets) "ajw" = ( /obj/structure/pipes/standard/simple/hidden/green{ - dir = 10 + dir = 4 }, /turf/open/floor/corsat{ dir = 4; @@ -397,11 +385,13 @@ /turf/open/floor/plating/plating_catwalk/prison, /area/lv522/indoors/a_block/dorms/glass) "akk" = ( -/obj/structure/platform{ +/obj/structure/machinery/power/apc/weak{ dir = 1 }, -/turf/open/asphalt/cement, -/area/lv522/outdoors/colony_streets/south_east_street) +/turf/open/floor/corsat{ + icon_state = "plate" + }, +/area/lv522/atmos/east_reactor) "akl" = ( /obj/structure/barricade/wooden{ dir = 8 @@ -450,19 +440,18 @@ /obj/structure/pipes/standard/simple/hidden/green{ dir = 10 }, -/turf/open/floor/prison{ - icon_state = "floor_plate" - }, +/turf/open/floor/prison, /area/lv522/atmos/sewer) "amc" = ( /obj/structure/cargo_container/kelland/left, /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/north_east_street) "ame" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/obj/structure/machinery/light{ + dir = 1 + }, /turf/open/floor/corsat{ - icon_state = "squares" + icon_state = "plate" }, /area/lv522/atmos/east_reactor) "amC" = ( @@ -633,11 +622,13 @@ /turf/open/floor/plating, /area/lv522/indoors/c_block/mining) "apS" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 10 }, -/turf/open/auto_turf/shale/layer1, -/area/lv522/outdoors/colony_streets/south_east_street) +/turf/open/floor/corsat{ + icon_state = "plate" + }, +/area/lv522/atmos/north_command_centre) "aqo" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, @@ -903,8 +894,8 @@ }, /area/lv522/atmos/east_reactor/south) "aza" = ( -/obj/structure/platform{ - dir = 1 +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -1018,15 +1009,12 @@ /turf/open/floor/plating, /area/lv522/indoors/c_block/cargo) "aDj" = ( -/obj/structure/stairs/perspective{ - dir = 9; - icon_state = "p_stair_full" - }, -/obj/structure/platform_decoration{ - dir = 1 +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/obj/structure/pipes/standard/simple/hidden/green, +/turf/open/floor/corsat{ + icon_state = "squares" }, -/turf/open/asphalt/cement, -/area/lv522/outdoors/colony_streets/north_east_street) +/area/lv522/atmos/north_command_centre) "aDs" = ( /obj/item/explosive/mine/active{ dir = 8 @@ -1040,9 +1028,9 @@ /turf/open/floor/plating, /area/shuttle/drop2/lv522) "aDS" = ( +/obj/structure/pipes/vents/pump, /turf/open/floor/corsat{ - dir = 5; - icon_state = "brown" + icon_state = "marked" }, /area/lv522/atmos/east_reactor) "aDZ" = ( @@ -1261,9 +1249,13 @@ /area/lv522/outdoors/colony_streets/north_east_street) "aJr" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "w-y2" +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = -1 + }, +/turf/open/floor{ + dir = 4; + icon_state = "whiteyellowfull" }, /area/lv522/oob/w_y_vault) "aJS" = ( @@ -1342,12 +1334,6 @@ icon_state = "blue_plate" }, /area/lv522/indoors/a_block/hallway) -"aLG" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "w-y0" - }, -/area/lv522/oob/w_y_vault) "aLJ" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, /turf/open/floor/corsat, @@ -1449,15 +1435,6 @@ }, /turf/open/floor/prison, /area/lv522/indoors/a_block/security/glass) -"aPS" = ( -/obj/structure/stairs/perspective{ - dir = 10; - icon_state = "p_stair_full" - }, -/turf/open/asphalt/cement{ - icon_state = "cement12" - }, -/area/lv522/outdoors/colony_streets/central_streets) "aQe" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/recharger, @@ -1790,12 +1767,11 @@ }, /area/lv522/indoors/c_block/mining) "aWX" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/obj/effect/landmark/xeno_spawn, /turf/open/floor/corsat{ - icon_state = "plate" + icon_state = "squares" }, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/east_reactor/south) "aXa" = ( /turf/open/floor/corsat{ dir = 6; @@ -1938,10 +1914,13 @@ }, /area/lv522/atmos/reactor_garage) "ban" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/blocker/invisible_wall, -/turf/open/floor/plating, -/area/lv522/indoors/c_block/cargo) +/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest, +/obj/effect/landmark/corpsespawner/colonist/burst, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/corsat{ + icon_state = "plate" + }, +/area/lv522/atmos/east_reactor/south) "baG" = ( /turf/open/floor/corsat{ dir = 1; @@ -2083,7 +2062,10 @@ /turf/open/floor/prison, /area/lv522/indoors/c_block/garage) "bdL" = ( -/obj/structure/platform, +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" + }, /turf/open/asphalt/cement{ icon_state = "cement4" }, @@ -2227,35 +2209,12 @@ }, /area/lv522/atmos/east_reactor/north) "bhh" = ( -/obj/structure/platform{ - dir = 1 - }, -/obj/structure/closet/crate/freezer{ - layer = 3 +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/corsat{ + dir = 6; + icon_state = "brown" }, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/item/reagent_container/food/snacks/grown/orange, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/lv522/indoors/c_block/cargo) +/area/lv522/atmos/east_reactor/south) "bhD" = ( /obj/structure/platform_decoration{ dir = 1 @@ -2828,9 +2787,6 @@ /turf/open/floor/wood, /area/lv522/indoors/a_block/fitness/glass) "bBB" = ( -/obj/structure/prop/invuln/ice_prefab/trim{ - dir = 8 - }, /obj/structure/cargo_container/grant/left, /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/w_rockies) @@ -2874,11 +2830,14 @@ }, /area/lv522/outdoors/colony_streets/north_east_street) "bCd" = ( -/obj/structure/machinery/light, +/obj/structure/pipes/standard/simple/hidden/green, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest, +/obj/effect/landmark/corpsespawner/colonist/burst, +/obj/effect/landmark/xeno_spawn, /turf/open/floor/corsat{ icon_state = "plate" }, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/east_reactor/south) "bCh" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/prison{ @@ -3481,10 +3440,8 @@ }, /area/lv522/indoors/a_block/fitness/glass) "bQq" = ( -/obj/structure/cargo_container/wy/mid{ - layer = 5 - }, -/turf/open/auto_turf/sand_white/layer0, +/obj/structure/cargo_container/grant/rightmid, +/turf/open/auto_turf/shale/layer2, /area/lv522/outdoors/w_rockies) "bQA" = ( /obj/structure/largecrate/random, @@ -3524,7 +3481,6 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/north_street) "bRN" = ( -/obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/corsat{ dir = 4; icon_state = "browncorner" @@ -3769,13 +3725,11 @@ }, /area/lv522/indoors/a_block/hallway) "bXl" = ( -/obj/structure/prop/ice_colony/ground_wire{ - dir = 1 - }, +/obj/effect/landmark/corpsespawner/colonist/burst, /turf/open/floor/corsat{ - icon_state = "brown" + icon_state = "plate" }, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/east_reactor/south) "bXo" = ( /obj/structure/surface/table/almayer, /obj/item/paper_bin{ @@ -3858,7 +3812,13 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/central_streets) "bYV" = ( -/obj/structure/platform, +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" + }, +/obj/structure/platform{ + dir = 8 + }, /turf/open/asphalt/cement, /area/lv522/outdoors/colony_streets/south_street) "bYZ" = ( @@ -3969,8 +3929,8 @@ /turf/open/floor/wood/ship, /area/lv522/atmos/way_in_command_centre) "caN" = ( -/obj/structure/pipes/standard/manifold/hidden/green{ - dir = 1 +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 6 }, /turf/open/floor/corsat{ icon_state = "squares" @@ -3996,20 +3956,8 @@ /obj/structure/pipes/standard/manifold/hidden/green{ dir = 1 }, -/turf/open/floor/prison{ - icon_state = "floor_plate" - }, +/turf/open/floor/prison, /area/lv522/atmos/sewer) -"cbn" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S"; - pixel_y = -1 - }, -/turf/open/floor{ - dir = 4; - icon_state = "whiteyellowfull" - }, -/area/lv522/oob/w_y_vault) "cbp" = ( /obj/structure/machinery/squeezer, /turf/open/floor{ @@ -4026,8 +3974,9 @@ }, /area/lv522/atmos/east_reactor/north) "cbR" = ( -/obj/structure/platform{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /turf/open/asphalt/cement{ icon_state = "cement3" @@ -4151,15 +4100,13 @@ }, /area/lv522/atmos/east_reactor) "cfv" = ( -/obj/structure/stairs/perspective{ - dir = 5; - icon_state = "p_stair_full" +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 9 }, -/obj/structure/platform_decoration, -/turf/open/asphalt/cement{ - icon_state = "cement4" +/turf/open/floor/corsat{ + icon_state = "brown" }, -/area/lv522/outdoors/colony_streets/north_east_street) +/area/lv522/atmos/north_command_centre) "cfz" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ name = "\improper B-Block - Hydroponics Airlock" @@ -4320,9 +4267,7 @@ dir = 1; icon_state = "fab_2" }, -/obj/structure/prop/invuln/ice_prefab{ - icon_state = "fab_2" - }, +/obj/structure/prop/invuln/ice_prefab, /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/w_rockies) "ckT" = ( @@ -4713,11 +4658,12 @@ }, /area/lv522/outdoors/colony_streets/north_east_street) "cuu" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest, -/obj/effect/landmark/xeno_spawn, /obj/structure/machinery/light{ dir = 8 }, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest, +/obj/effect/landmark/corpsespawner/colonist/burst, +/obj/effect/landmark/xeno_spawn, /turf/open/floor/corsat{ icon_state = "plate" }, @@ -4843,14 +4789,11 @@ }, /area/lv522/indoors/a_block/dorms) "cxE" = ( -/obj/structure/machinery/colony_floodlight{ - layer = 4.3 - }, -/obj/structure/platform{ - dir = 1 +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/corsat{ + icon_state = "plate" }, -/turf/open/asphalt/cement, -/area/lv522/outdoors/colony_streets/south_east_street) +/area/lv522/atmos/east_reactor/south) "cxK" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/corsat{ @@ -5277,11 +5220,8 @@ }, /area/lv522/outdoors/colony_streets/north_street) "cHy" = ( -/obj/structure/prop/ice_colony/ground_wire, -/turf/open/floor/corsat{ - icon_state = "squares" - }, -/area/lv522/atmos/east_reactor) +/turf/closed/wall/strata_outpost/reinforced, +/area/lv522/atmos/east_reactor/south) "cHC" = ( /obj/structure/prop/invuln/lattice_prop{ icon_state = "lattice12"; @@ -5499,7 +5439,10 @@ "cKo" = ( /obj/structure/closet/crate/trashcart, /obj/item/trash/chips, -/obj/structure/platform, +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" + }, /turf/open/asphalt/cement, /area/lv522/outdoors/colony_streets/east_central_street) "cKp" = ( @@ -5872,11 +5815,11 @@ }, /area/lv522/oob) "cRN" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/turf/open/floor/corsat{ - icon_state = "marked" +/obj/structure/largecrate, +/turf/open/asphalt/cement{ + icon_state = "cement3" }, -/area/lv522/atmos/north_command_centre) +/area/lv522/outdoors/colony_streets/north_east_street) "cRT" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -6096,14 +6039,11 @@ }, /area/lv522/indoors/a_block/security) "cWH" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, -/obj/structure/machinery/light{ - dir = 8 - }, +/obj/structure/window/framed/strata/reinforced, /turf/open/floor/corsat{ - icon_state = "squares" + icon_state = "marked" }, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/east_reactor/south) "cWL" = ( /turf/open/floor/corsat{ dir = 8; @@ -6183,13 +6123,12 @@ /turf/open/floor/prison, /area/lv522/indoors/a_block/security) "cYe" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/corsat{ - icon_state = "plate" - }, -/area/lv522/atmos/east_reactor) +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest, +/obj/effect/landmark/corpsespawner/colonist/burst, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/corsat, +/area/lv522/atmos/east_reactor/south) "cYf" = ( /obj/structure/closet/secure_closet/freezer/fridge/full, /obj/item/reagent_container/food/condiment/enzyme, @@ -6405,8 +6344,12 @@ /turf/open/floor/plating/plating_catwalk/prison, /area/lv522/indoors/b_block/hydro) "dbP" = ( -/obj/structure/platform{ - dir = 4 +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" + }, +/obj/structure/platform/stair_cut{ + icon_state = "platform_stair_alt" }, /turf/open/asphalt/cement, /area/lv522/outdoors/colony_streets/south_west_street) @@ -6497,7 +6440,7 @@ }, /area/lv522/atmos/east_reactor/south) "dcR" = ( -/obj/effect/alien/weeds/node/alpha, +/obj/structure/cargo_container/grant/right, /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/w_rockies) "ddo" = ( @@ -6774,11 +6717,11 @@ }, /area/lv522/landing_zone_2) "dhJ" = ( -/turf/open/floor/corsat{ - dir = 8; - icon_state = "browncorner" - }, -/area/lv522/atmos/east_reactor) +/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest, +/obj/effect/landmark/corpsespawner/colonist/burst, +/obj/effect/landmark/xeno_spawn, +/turf/open/floor/corsat, +/area/lv522/atmos/east_reactor/south) "dhP" = ( /obj/structure/machinery/landinglight/ds1/delayone{ dir = 8 @@ -6920,7 +6863,7 @@ /area/lv522/atmos/east_reactor) "dkJ" = ( /obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/cameras/wooden_tv/prop{ +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{ dir = 8; layer = 3; pixel_x = 5; @@ -7306,13 +7249,12 @@ }, /area/lv522/atmos/cargo_intake) "dsl" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 +/obj/structure/stairs/perspective{ + dir = 10; + icon_state = "p_stair_full" }, -/turf/open/auto_turf/shale/layer1, -/area/lv522/outdoors/colony_streets/south_east_street) +/turf/open/asphalt/cement, +/area/lv522/outdoors/colony_streets/north_east_street) "dsq" = ( /obj/structure/surface/rack, /obj/item/stack/sheet/mineral/iron{ @@ -7577,7 +7519,9 @@ /area/lv522/indoors/a_block/medical) "dyS" = ( /obj/item/stack/sheet/wood, -/turf/open/auto_turf/sand_white/layer0, +/turf/open/asphalt/cement{ + icon_state = "cement12" + }, /area/lv522/outdoors/colony_streets/south_street) "dzd" = ( /obj/structure/closet/secure_closet/marshal, @@ -7630,14 +7574,11 @@ }, /area/lv522/atmos/north_command_centre) "dAG" = ( -/obj/structure/pipes/vents/pump, -/obj/structure/machinery/light{ - dir = 8 - }, +/obj/item/stack/sheet/metal, /turf/open/floor/corsat{ - icon_state = "plate" + icon_state = "browncorner" }, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/east_reactor/south) "dAQ" = ( /obj/structure/platform_decoration{ dir = 1 @@ -8452,8 +8393,8 @@ }, /area/lv522/indoors/b_block/bar) "dQQ" = ( -/obj/structure/platform{ - dir = 1 +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" }, /obj/structure/barricade/wooden{ dir = 8 @@ -8737,8 +8678,9 @@ }, /area/lv522/atmos/east_reactor/east) "dXX" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/belt/utility, +/obj/structure/closet/fireaxecabinet{ + pixel_y = 29 + }, /turf/open/floor/prison{ icon_state = "floor_plate" }, @@ -8990,9 +8932,6 @@ icon_state = "browncorner" }, /area/lv522/oob) -"eds" = ( -/turf/closed/wall/strata_outpost/reinforced/hull, -/area/lv522/indoors/c_block/casino) "edw" = ( /obj/structure/bed/roller, /obj/effect/decal/cleanable/dirt, @@ -9084,17 +9023,6 @@ }, /turf/open/gm/river, /area/lv522/indoors/a_block/kitchen/damage) -"efM" = ( -/obj/structure/platform, -/obj/structure/platform{ - dir = 8 - }, -/obj/structure/platform_decoration{ - dir = 10; - layer = 3.51 - }, -/turf/open/gm/river, -/area/lv522/atmos/sewer) "efR" = ( /obj/effect/decal/hefa_cult_decals/d32{ desc = "You think you can make out the iconography of a Xenomorph." @@ -9828,11 +9756,11 @@ /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/colony_streets/north_west_street) "esB" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 6 +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" }, -/turf/closed/wall/mineral/bone_resin, -/area/lv522/oob) +/turf/open/asphalt/cement, +/area/lv522/outdoors/colony_streets/north_east_street) "esF" = ( /obj/structure/surface/rack, /turf/open/floor/prison{ @@ -9914,11 +9842,12 @@ }, /area/lv522/indoors/a_block/medical) "euN" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 9 +/obj/structure/stairs/perspective{ + dir = 6; + icon_state = "p_stair_full" }, -/turf/closed/wall/mineral/bone_resin, -/area/lv522/oob) +/turf/open/asphalt/cement, +/area/lv522/outdoors/colony_streets/north_east_street) "euT" = ( /obj/structure/stairs/perspective{ icon_state = "p_stair_full" @@ -9926,6 +9855,17 @@ /obj/vehicle/train/cargo/engine, /turf/open/floor/plating, /area/lv522/landing_zone_1/tunnel) +"evg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/lv624/fog_blocker/short, +/obj/structure/machinery/power/apc/weak{ + dir = 8 + }, +/turf/open/floor/prison{ + dir = 4; + icon_state = "greenfull" + }, +/area/lv522/landing_zone_1/ceiling) "evu" = ( /obj/structure/tunnel/maint_tunnel{ pixel_y = 6 @@ -10090,13 +10030,11 @@ /turf/open/asphalt/cement, /area/lv522/outdoors/colony_streets/central_streets) "eyh" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 6 - }, -/turf/open/floor/corsat{ - icon_state = "marked" +/obj/structure/platform{ + dir = 4 }, -/area/lv522/atmos/north_command_centre) +/turf/open/asphalt/cement, +/area/lv522/outdoors/colony_streets/north_east_street) "eym" = ( /obj/structure/surface/rack, /obj/item/storage/toolbox/mechanical/green{ @@ -10138,13 +10076,10 @@ }, /area/lv522/indoors/a_block/admin) "ezj" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 10 - }, -/turf/open/floor/corsat{ - icon_state = "plate" +/turf/open/asphalt/cement{ + icon_state = "cement12" }, -/area/lv522/atmos/east_reactor/west) +/area/lv522/outdoors/colony_streets/north_east_street) "ezo" = ( /obj/structure/surface/table/almayer, /obj/item/prop/helmetgarb/spacejam_tickets{ @@ -10467,11 +10402,12 @@ }, /area/lv522/indoors/a_block/corpo/glass) "eHp" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/obj/item/stack/sheet/metal, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/corsat{ - icon_state = "squares" + icon_state = "plate" }, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/east_reactor/south) "eHu" = ( /obj/structure/closet/secure_closet/miner, /turf/open/floor/prison{ @@ -10691,11 +10627,15 @@ }, /area/lv522/indoors/a_block/medical) "eLx" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/obj/structure/machinery/prop/almayer/computer/PC{ + dir = 1; + pixel_y = 3 + }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/corsat{ - icon_state = "marked" + icon_state = "plate" }, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/east_reactor/south) "eLG" = ( /obj/item/lightstick/red/spoke/planted{ pixel_x = -19; @@ -10767,13 +10707,17 @@ }, /area/lv522/atmos/east_reactor) "eMm" = ( -/obj/structure/prop/invuln/fusion_reactor, -/obj/structure/prop/turbine_extras, -/obj/structure/prop/turbine_extras, -/turf/open/floor/corsat{ - icon_state = "plate" +/obj/structure/platform{ + dir = 1 }, -/area/lv522/atmos/east_reactor) +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/platform_decoration{ + dir = 9 + }, +/turf/open/gm/river, +/area/lv522/atmos/sewer) "eMz" = ( /obj/item/stack/rods/plasteel, /obj/structure/pipes/standard/simple/hidden/green{ @@ -10954,12 +10898,12 @@ /area/lv522/atmos/west_reactor) "eQu" = ( /obj/structure/pipes/standard/simple/hidden/green{ - dir = 9 + dir = 4 }, -/turf/open/floor/corsat{ - icon_state = "marked" +/turf/open/asphalt/cement{ + icon_state = "cement14" }, -/area/lv522/atmos/north_command_centre) +/area/lv522/outdoors/colony_streets/north_east_street) "eQB" = ( /obj/structure/machinery/portable_atmospherics/canister/phoron, /turf/open/floor/corsat{ @@ -10993,12 +10937,11 @@ }, /area/lv522/indoors/a_block/hallway) "eRg" = ( -/obj/structure/prop/turbine, -/obj/structure/prop/turbine_extras/border, +/obj/structure/machinery/door/airlock/almayer/maint, /turf/open/floor/corsat{ - icon_state = "plate" + icon_state = "marked" }, -/area/lv522/oob) +/area/lv522/atmos/sewer) "eRI" = ( /obj/structure/barricade/deployable{ dir = 8 @@ -11027,10 +10970,9 @@ /turf/open/floor/prison, /area/lv522/indoors/a_block/security/glass) "eSy" = ( -/obj/structure/platform{ - dir = 1 +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" }, -/obj/structure/largecrate/random, /turf/open/floor/plating{ icon_state = "platebot" }, @@ -11330,12 +11272,18 @@ }, /area/lv522/outdoors/colony_streets/south_east_street) "eZq" = ( -/obj/structure/prop/turbine_extras/left, -/obj/structure/prop/invuln/fusion_reactor, -/turf/open/floor/corsat{ - icon_state = "plate" +/obj/structure/transmitter/colony_net{ + phone_category = "LV522 Chances Claim"; + phone_color = "red"; + phone_id = "Reactor Sewer"; + pixel_y = 26 }, -/area/lv522/oob) +/obj/effect/decal/cleanable/dirt, +/obj/structure/prop/static_tank/water, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, +/area/lv522/atmos/sewer) "eZv" = ( /obj/structure/fence, /obj/effect/decal/warning_stripes{ @@ -11492,20 +11440,21 @@ }, /area/lv522/atmos/north_command_centre) "fcW" = ( -/obj/structure/pipes/standard/manifold/hidden/green, -/turf/open/floor/corsat{ - icon_state = "brown" - }, -/area/lv522/atmos/north_command_centre) -"fda" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 }, -/turf/open/floor/corsat{ - dir = 6; - icon_state = "brown" +/turf/open/asphalt/cement{ + icon_state = "cement12" }, -/area/lv522/atmos/north_command_centre) +/area/lv522/outdoors/colony_streets/north_east_street) +"fda" = ( +/obj/structure/pipes/standard/manifold/hidden/green{ + dir = 1 + }, +/turf/open/asphalt/cement{ + icon_state = "cement12" + }, +/area/lv522/outdoors/colony_streets/north_east_street) "fdb" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ dir = 1; @@ -11587,13 +11536,12 @@ /area/lv522/landing_zone_2/ceiling) "feF" = ( /obj/structure/pipes/standard/simple/hidden/green{ - dir = 5 + dir = 4 }, -/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, -/turf/open/floor/corsat{ - icon_state = "plate" +/turf/open/asphalt/cement{ + icon_state = "cement15" }, -/area/lv522/atmos/east_reactor/west) +/area/lv522/outdoors/colony_streets/north_east_street) "feS" = ( /obj/item/prop/colony/used_flare, /turf/open/floor/corsat{ @@ -11724,14 +11672,13 @@ }, /area/lv522/indoors/c_block/mining) "fhQ" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 10 +/obj/structure/machinery/colony_floodlight{ + layer = 4.3 }, -/turf/open/floor/corsat{ - dir = 8; - icon_state = "brown" +/turf/open/asphalt/cement{ + icon_state = "cement4" }, -/area/lv522/atmos/east_reactor/west) +/area/lv522/outdoors/colony_streets/north_east_street) "fhY" = ( /obj/structure/surface/rack, /obj/item/tool/pickaxe, @@ -11921,11 +11868,12 @@ }, /area/lv522/atmos/east_reactor/east) "fmB" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, /turf/open/floor/corsat{ dir = 1; icon_state = "brown" }, -/area/lv522/oob) +/area/lv522/atmos/east_reactor) "fmH" = ( /obj/structure/pipes/vents/pump, /obj/effect/decal/cleanable/dirt, @@ -12066,14 +12014,12 @@ }, /area/lv522/indoors/a_block/dorms) "fpB" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 5 - }, -/turf/open/floor/corsat{ - dir = 8; - icon_state = "brown" +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" }, -/area/lv522/atmos/east_reactor/west) +/turf/open/asphalt/cement, +/area/lv522/outdoors/colony_streets/north_street) "fpH" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 9 @@ -12323,12 +12269,11 @@ /turf/open/floor/prison, /area/lv522/indoors/c_block/cargo) "fvQ" = ( -/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/window/framed/strata/reinforced, /turf/open/floor/corsat{ - dir = 1; - icon_state = "browncorner" + icon_state = "marked" }, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/sewer) "fvV" = ( /obj/effect/decal/warning_stripes{ icon_state = "NW-out"; @@ -12775,12 +12720,12 @@ }, /area/lv522/indoors/b_block/hydro) "fDC" = ( -/obj/structure/prop/ice_colony/ground_wire, -/obj/structure/pipes/standard/simple/hidden/green, -/turf/open/floor/corsat{ - icon_state = "squares" +/obj/effect/decal/cleanable/dirt, +/obj/structure/prop/static_tank/water, +/turf/open/floor/prison{ + icon_state = "floor_plate" }, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/sewer) "fDF" = ( /obj/structure/surface/rack, /obj/item/card/id/silver/clearance_badge/cl{ @@ -13240,10 +13185,12 @@ }, /area/lv522/indoors/c_block/garage) "fMT" = ( -/turf/open/floor/corsat{ - icon_state = "browncorner" +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/prison{ + icon_state = "floor_plate" }, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/sewer) "fNk" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -13517,7 +13464,9 @@ /obj/effect/decal/warning_stripes{ icon_state = "W" }, -/turf/open/auto_turf/shale/layer1, +/turf/open/asphalt/cement{ + icon_state = "cement3" + }, /area/lv522/outdoors/colony_streets/south_west_street) "fTO" = ( /obj/effect/landmark/xeno_spawn, @@ -13714,10 +13663,6 @@ }, /area/lv522/indoors/a_block/medical) "fYm" = ( -/obj/structure/stairs/perspective{ - dir = 10; - icon_state = "p_stair_full" - }, /obj/effect/decal/cleanable/dirt, /obj/structure/machinery/camera/autoname, /obj/structure/machinery/light/small{ @@ -13889,11 +13834,10 @@ /area/lv522/atmos/reactor_garage) "gbq" = ( /obj/structure/stairs/perspective{ - dir = 10; icon_state = "p_stair_full" }, -/obj/structure/platform_decoration{ - dir = 4 +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" }, /turf/open/floor/plating, /area/lv522/indoors/c_block/cargo) @@ -13940,7 +13884,9 @@ pixel_x = -2; pixel_y = 16 }, -/turf/open/auto_turf/sand_white/layer0, +/turf/open/asphalt/cement{ + icon_state = "cement12" + }, /area/lv522/outdoors/colony_streets/south_street) "gck" = ( /obj/structure/pipes/standard/manifold/hidden/green, @@ -14483,8 +14429,8 @@ /turf/open/floor/plating, /area/lv522/indoors/c_block/mining) "glV" = ( -/obj/structure/platform{ - dir = 1 +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" }, /obj/item/stack/sheet/wood, /turf/open/asphalt/cement{ @@ -14699,11 +14645,13 @@ }, /area/lv522/indoors/a_block/admin) "gqG" = ( -/obj/structure/machinery/fuelcell_recycler, -/turf/open/floor/corsat{ - icon_state = "plate" +/obj/structure/platform, +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, -/area/lv522/atmos/east_reactor) +/turf/open/gm/river, +/area/lv522/atmos/sewer) "grg" = ( /obj/effect/decal/cleanable/blood, /obj/structure/machinery/light{ @@ -14729,14 +14677,14 @@ /turf/open/floor/plating/plating_catwalk/prison, /area/lv522/indoors/a_block/dorms) "grz" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, -/obj/structure/prop/invuln/overhead/flammable_pipe/fly{ - pixel_y = 6 +/obj/structure/platform_decoration{ + dir = 1 }, -/turf/open/floor/corsat{ - icon_state = "plate" +/obj/structure/platform_decoration{ + dir = 8 }, -/area/lv522/atmos/east_reactor) +/turf/open/gm/river, +/area/lv522/atmos/sewer) "grP" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/prison, @@ -14830,9 +14778,12 @@ }, /area/lv522/indoors/a_block/dorm_north) "gtS" = ( -/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/cargo_container/wy/mid, /turf/open/auto_turf/shale/layer2, -/area/lv522/outdoors/n_rockies) +/area/lv522/outdoors/w_rockies) "gtX" = ( /obj/effect/decal/cleanable/blood, /obj/effect/decal/warning_stripes{ @@ -14969,12 +14920,11 @@ /turf/open/floor/plating/plating_catwalk/prison, /area/lv522/indoors/a_block/bridges/corpo) "gwk" = ( -/obj/structure/cable/heavyduty{ - icon_state = "4-8" +/obj/structure/prop/static_tank/water, +/turf/open/floor/prison{ + icon_state = "floor_plate" }, -/obj/structure/pipes/standard/simple/hidden/green, -/turf/open/floor/plating, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/sewer) "gwt" = ( /obj/structure/cargo_container/wy/right, /turf/open/floor/prison, @@ -15135,18 +15085,6 @@ /obj/structure/barricade/deployable, /turf/open/floor/prison, /area/lv522/atmos/cargo_intake) -"gzw" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - pixel_x = -1; - pixel_y = -1 - }, -/obj/effect/landmark/corpsespawner/wy/manager, -/turf/open/floor{ - dir = 4; - icon_state = "whiteyellowfull" - }, -/area/lv522/oob/w_y_vault) "gzD" = ( /obj/structure/prop/almayer/computers/sensor_computer3, /turf/open/floor/corsat{ @@ -15168,12 +15106,9 @@ layer = 2.9 }, /obj/structure/stairs/perspective{ - dir = 9; + dir = 1; icon_state = "p_stair_full" }, -/obj/structure/platform_decoration{ - dir = 1 - }, /turf/open/asphalt/cement{ icon_state = "cement4" }, @@ -15227,17 +15162,6 @@ icon_state = "blue" }, /area/lv522/indoors/a_block/hallway) -"gBb" = ( -/obj/structure/prop/structure_lattice, -/obj/structure/stairs/perspective{ - dir = 5; - icon_state = "p_stair_full" - }, -/obj/structure/platform_decoration, -/turf/open/asphalt/cement{ - icon_state = "cement4" - }, -/area/lv522/outdoors/colony_streets/north_east_street) "gBe" = ( /obj/item/stack/sheet/metal, /obj/effect/decal/cleanable/dirt, @@ -15254,7 +15178,9 @@ /obj/item/seeds/riceseed, /obj/structure/closet/crate, /obj/item/seeds/riceseed, -/turf/open/auto_turf/sand_white/layer0, +/turf/open/asphalt/cement{ + icon_state = "cement3" + }, /area/lv522/outdoors/colony_streets/south_west_street) "gBy" = ( /obj/effect/decal/warning_stripes{ @@ -15366,7 +15292,7 @@ /area/lv522/outdoors/nw_rockies) "gEQ" = ( /obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/cameras/wooden_tv/prop{ +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{ dir = 1; pixel_x = -10; pixel_y = 6 @@ -15763,18 +15689,6 @@ }, /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/n_rockies) -"gMe" = ( -/obj/structure/platform{ - dir = 1 - }, -/obj/structure/platform{ - dir = 4 - }, -/obj/structure/platform_decoration{ - dir = 9 - }, -/turf/open/asphalt/cement, -/area/lv522/outdoors/n_rockies) "gMy" = ( /obj/structure/stairs/perspective{ icon_state = "p_stair_full" @@ -15852,14 +15766,9 @@ /turf/open/floor/plating, /area/lv522/indoors/a_block/bridges/op_centre) "gNN" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/strata{ - dir = 4; - icon_state = "white_cyan1" - }, -/area/lv522/oob/w_y_vault) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/plating_catwalk/prison, +/area/lv522/atmos/sewer) "gOb" = ( /obj/structure/closet/emcloset, /obj/effect/decal/cleanable/dirt, @@ -15873,12 +15782,8 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/nw_rockies) "gOo" = ( -/obj/structure/prop/invuln/fusion_reactor, -/obj/structure/prop/turbine_extras, -/turf/open/floor/corsat{ - icon_state = "plate" - }, -/area/lv522/atmos/east_reactor) +/turf/open/floor/plating/plating_catwalk/prison, +/area/lv522/atmos/sewer) "gOC" = ( /obj/structure/pipes/vents/pump, /obj/effect/decal/cleanable/dirt, @@ -15905,12 +15810,12 @@ }, /area/lv522/indoors/a_block/security/glass) "gOG" = ( -/obj/structure/prop/turbine_extras/border, -/obj/structure/prop/turbine, -/turf/open/floor/corsat{ - icon_state = "plate" +/obj/structure/surface/table/almayer, +/obj/item/frame/fire_alarm, +/turf/open/floor/prison{ + icon_state = "floor_plate" }, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/sewer) "gOJ" = ( /obj/item/tool/wirecutters{ pixel_x = -1; @@ -16064,12 +15969,13 @@ }, /area/lv522/indoors/a_block/dorms) "gRV" = ( -/obj/structure/prop/turbine, -/obj/structure/prop/turbine_extras/border, -/turf/open/floor/corsat{ - icon_state = "plate" +/obj/structure/bed/chair{ + dir = 4 }, -/area/lv522/atmos/east_reactor) +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, +/area/lv522/atmos/sewer) "gSn" = ( /turf/open/floor/corsat{ icon_state = "marked" @@ -16838,12 +16744,12 @@ }, /area/lv522/indoors/c_block/cargo) "heF" = ( -/obj/structure/prop/server_equipment/yutani_server, -/turf/open/floor/corsat{ - dir = 1; - icon_state = "brown" +/obj/structure/surface/table/almayer, +/obj/item/storage/belt/utility, +/turf/open/floor/prison{ + icon_state = "floor_plate" }, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/sewer) "heO" = ( /obj/structure/machinery/camera/autoname{ dir = 4 @@ -16857,14 +16763,10 @@ }, /area/lv522/indoors/b_block/hydro) "heU" = ( -/obj/structure/prop/server_equipment/yutani_server/broken{ - layer = 2.9 - }, -/turf/open/floor/corsat{ - dir = 1; - icon_state = "brown" - }, -/area/lv522/atmos/east_reactor) +/obj/structure/blocker/invisible_wall, +/obj/structure/platform_decoration, +/turf/open/floor/plating, +/area/lv522/atmos/sewer) "heX" = ( /obj/structure/largecrate/random/barrel{ layer = 5.1; @@ -16907,13 +16809,14 @@ /turf/open/floor/prison, /area/lv522/indoors/a_block/admin) "hfE" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, -/obj/structure/prop/server_equipment/yutani_server/off, -/turf/open/floor/corsat{ - dir = 1; - icon_state = "brown" +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 5 }, -/area/lv522/atmos/east_reactor) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, +/area/lv522/atmos/sewer) "hfS" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/prison, @@ -16936,15 +16839,16 @@ }, /area/lv522/indoors/b_block/bridge) "hgo" = ( -/obj/structure/stairs/perspective{ - dir = 9; - icon_state = "p_stair_full" - }, -/turf/open/floor/prison{ - dir = 4; - icon_state = "greenfull" +/obj/item/storage/backpack/marine/satchel{ + desc = "It's the heavy-duty black polymer kind. Time to take out the trash!"; + icon = 'icons/obj/janitor.dmi'; + icon_state = "trashbag3"; + name = "trash bag"; + pixel_x = -4; + pixel_y = 5 }, -/area/lv522/indoors/b_block/hydro) +/turf/open/floor/plating/plating_catwalk/prison, +/area/lv522/atmos/sewer) "hgr" = ( /obj/structure/girder/reinforced, /turf/open/auto_turf/shale/layer1, @@ -16980,14 +16884,12 @@ }, /area/lv522/atmos/east_reactor/west) "hgQ" = ( -/obj/structure/prop/ice_colony/ground_wire{ - dir = 1 - }, -/obj/structure/pipes/standard/simple/hidden/green, -/turf/open/floor/corsat{ - icon_state = "brown" +/obj/effect/decal/cleanable/dirt, +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 5 }, -/area/lv522/atmos/east_reactor) +/turf/open/floor/prison, +/area/lv522/atmos/sewer) "hhb" = ( /obj/structure/platform{ dir = 4 @@ -18292,13 +18194,11 @@ /turf/open/floor/prison, /area/lv522/atmos/outdoor) "hHh" = ( -/obj/structure/machinery/colony_floodlight{ - layer = 4.3 - }, -/turf/open/asphalt/cement{ - icon_state = "cement9" +/obj/structure/platform{ + dir = 4 }, -/area/lv522/outdoors/colony_streets/north_east_street) +/turf/open/asphalt/cement, +/area/lv522/outdoors/colony_streets/central_streets) "hHj" = ( /obj/structure/largecrate, /turf/open/floor/corsat{ @@ -18583,14 +18483,15 @@ }, /area/lv522/outdoors/colony_streets/south_east_street) "hME" = ( -/obj/effect/decal{ - icon = 'icons/mob/xenos/effects.dmi'; - icon_state = "acid_weak"; - layer = 2; - name = "weak acid" +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1; + pixel_y = -1 }, -/turf/open/floor/corsat, -/area/lv522/atmos/east_reactor) +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, +/area/lv522/atmos/sewer) "hMI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -18628,10 +18529,24 @@ }, /area/lv522/atmos/east_reactor/south) "hNj" = ( -/obj/item/stack/sheet/metal, -/obj/structure/pipes/standard/simple/hidden/green, -/turf/open/floor/corsat, -/area/lv522/atmos/east_reactor) +/obj/structure/machinery/door_control{ + id = "Marked_6"; + name = "Cargo Shutter Control"; + pixel_y = 10 + }, +/obj/structure/surface/table/almayer, +/obj/item/prop{ + desc = "The first page reads. 'Classified Weyland Bio-Weapons Division level eight clearance required.' The rest talks about some sort of XX-121 combat stim?"; + icon = 'icons/obj/items/paper.dmi'; + icon_state = "folder_black"; + name = "Weyland classified intelligence folder"; + pixel_y = -2 + }, +/turf/open/floor/strata{ + dir = 4; + icon_state = "white_cyan1" + }, +/area/lv522/oob/w_y_vault) "hNk" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 9 @@ -18679,9 +18594,24 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/north_street) "hNV" = ( -/obj/item/stack/rods, -/turf/open/floor/corsat, -/area/lv522/atmos/east_reactor) +/obj/item/storage/backpack/marine/satchel{ + desc = "It's the heavy-duty black polymer kind. Time to take out the trash!"; + icon = 'icons/obj/janitor.dmi'; + icon_state = "trashbag3"; + name = "trash bag"; + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/storage/backpack/marine/satchel{ + desc = "It's the heavy-duty black polymer kind. Time to take out the trash!"; + icon = 'icons/obj/janitor.dmi'; + icon_state = "trashbag3"; + name = "trash bag"; + pixel_x = 3; + pixel_y = -2 + }, +/turf/open/floor/plating/plating_catwalk/prison, +/area/lv522/atmos/sewer) "hNZ" = ( /obj/effect/spawner/gibspawner/xeno, /turf/open/floor/prison{ @@ -18868,11 +18798,11 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/w_rockies) "hRy" = ( -/obj/structure/prop/invuln/fusion_reactor, -/turf/open/floor/corsat{ - icon_state = "plate" +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 10 }, -/area/lv522/atmos/east_reactor) +/turf/open/floor/prison, +/area/lv522/atmos/sewer) "hRz" = ( /obj/structure/pipes/vents/pump, /obj/effect/decal/cleanable/dirt, @@ -18936,10 +18866,6 @@ "hTe" = ( /turf/open/gm/river, /area/lv522/landing_zone_1/tunnel) -"hTf" = ( -/obj/structure/platform_decoration, -/turf/open/asphalt/cement, -/area/lv522/outdoors/n_rockies) "hTg" = ( /obj/structure/surface/table/almayer, /turf/open/floor/corsat{ @@ -18977,13 +18903,12 @@ }, /area/lv522/indoors/c_block/cargo) "hTI" = ( -/obj/structure/prop/server_equipment/yutani_server/off{ - pixel_x = -4 - }, -/turf/open/floor{ - icon_state = "bcircuit" +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 }, -/area/lv522/atmos/east_reactor) +/turf/open/floor/prison, +/area/lv522/atmos/sewer) "hTW" = ( /obj/structure/largecrate/random/secure, /obj/effect/landmark/lv624/fog_blocker/short, @@ -19039,14 +18964,12 @@ /turf/open/floor/plating, /area/lv522/landing_zone_1/tunnel) "hUY" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/structure/prop/almayer/computers/sensor_computer1, -/turf/open/floor{ - icon_state = "bcircuit" +/obj/structure/closet/emcloset, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/corsat{ + icon_state = "marked" }, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/sewer) "hUZ" = ( /obj/structure/barricade/deployable, /obj/item/weapon/gun/rifle/m41a{ @@ -19055,11 +18978,9 @@ /turf/open/floor/prison, /area/lv522/atmos/cargo_intake) "hVk" = ( -/obj/item/stack/sheet/metal, -/turf/open/floor{ - icon_state = "bcircuit" - }, -/area/lv522/atmos/east_reactor) +/obj/structure/pipes/standard/simple/hidden/green, +/turf/open/floor/prison, +/area/lv522/atmos/sewer) "hVu" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison{ @@ -19142,13 +19063,12 @@ /turf/closed/wall/mineral/bone_resin, /area/lv522/oob) "hXA" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, -/obj/structure/pipes/standard/simple/hidden/green, +/obj/structure/closet/firecloset/full, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/corsat{ - dir = 9; - icon_state = "brown" + icon_state = "marked" }, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/sewer) "hXO" = ( /obj/structure/prop/invuln/ice_prefab{ dir = 10 @@ -19162,12 +19082,8 @@ }, /area/lv522/outdoors/colony_streets/central_streets) "hXP" = ( -/obj/item/prop/alien/hugger, -/turf/open/floor/corsat{ - dir = 5; - icon_state = "brown" - }, -/area/lv522/atmos/east_reactor) +/turf/closed/wall/r_wall/biodome/biodome_unmeltable, +/area/lv522/oob/w_y_vault) "hXW" = ( /obj/item/storage/firstaid/adv/empty, /turf/open/floor/prison{ @@ -19176,19 +19092,11 @@ }, /area/lv522/indoors/a_block/hallway) "hXZ" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/obj/effect/decal{ - icon = 'icons/mob/xenos/effects.dmi'; - icon_state = "acid_weak"; - layer = 2; - name = "weak acid" - }, -/turf/open/floor{ - icon_state = "bcircuit" +/turf/open/floor/almayer{ + dir = 1; + icon_state = "w-y1" }, -/area/lv522/atmos/east_reactor) +/area/lv522/oob/w_y_vault) "hYf" = ( /turf/open/floor/prison{ icon_state = "floor_plate" @@ -19202,14 +19110,12 @@ }, /area/lv522/atmos/east_reactor/south) "hYk" = ( -/obj/structure/window/reinforced{ - dir = 4 - }, -/obj/item/stack/sheet/metal, -/turf/open/floor{ - icon_state = "bcircuit" +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "w-y2" }, -/area/lv522/atmos/east_reactor) +/area/lv522/oob/w_y_vault) "hYn" = ( /obj/item/tool/pen/blue/clicky{ pixel_x = 6 @@ -19251,13 +19157,14 @@ }, /area/lv522/outdoors/colony_streets/windbreaker/observation) "hZn" = ( -/obj/structure/prop/server_equipment/yutani_server{ - pixel_x = -4 +/obj/structure/machinery/light{ + dir = 4 }, -/turf/open/floor{ - icon_state = "bcircuit" +/turf/open/floor/strata{ + dir = 4; + icon_state = "white_cyan1" }, -/area/lv522/atmos/east_reactor) +/area/lv522/oob/w_y_vault) "hZC" = ( /obj/structure/closet/crate, /obj/item/stack/sheet/metal/medium_stack, @@ -19266,16 +19173,15 @@ /turf/open/floor/prison, /area/lv522/indoors/c_block/mining) "hZK" = ( -/obj/structure/prop/server_equipment/yutani_server/broken{ - pixel_x = 3 - }, -/obj/structure/prop/server_equipment{ - pixel_x = -16 +/obj/structure/platform{ + dir = 8 }, -/turf/open/floor{ - icon_state = "bcircuit" +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" }, -/area/lv522/atmos/east_reactor) +/turf/open/gm/river, +/area/lv522/atmos/sewer) "hZL" = ( /obj/structure/bed/chair/wood/normal{ dir = 4 @@ -19413,14 +19319,12 @@ }, /area/lv522/atmos/cargo_intake) "icr" = ( -/obj/structure/prop/invuln/overhead/flammable_pipe/fly{ - dir = 1 - }, -/turf/open/floor/corsat{ - dir = 9; - icon_state = "brown" +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" }, -/area/lv522/atmos/east_reactor) +/turf/open/gm/river, +/area/lv522/atmos/sewer) "icy" = ( /obj/item/prop/alien/hugger, /turf/open/floor/prison, @@ -19430,25 +19334,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison, /area/lv522/indoors/lone_buildings/storage_blocks) -"icM" = ( -/obj/structure/machinery/door_control{ - id = "Marked_6"; - name = "Cargo Shutter Control"; - pixel_y = 10 - }, -/obj/structure/surface/table/almayer, -/obj/item/prop{ - desc = "The first page reads. 'Classified Weyland Bio-Weapons Division level eight clearance required.' The rest talks about some sort of XX-121 combat stim?"; - icon = 'icons/obj/items/paper.dmi'; - icon_state = "folder_black"; - name = "Weyland classified intelligence folder"; - pixel_y = -2 - }, -/turf/open/floor/strata{ - dir = 4; - icon_state = "white_cyan1" - }, -/area/lv522/oob/w_y_vault) "icT" = ( /obj/structure/machinery/light{ dir = 1 @@ -19481,13 +19366,15 @@ }, /area/lv522/atmos/east_reactor/west) "idq" = ( -/obj/structure/machinery/power/apc/weak{ - dir = 1 +/obj/structure/platform{ + dir = 4 }, -/turf/open/floor/corsat{ - icon_state = "plate" +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" }, -/area/lv522/atmos/east_reactor) +/turf/open/gm/river, +/area/lv522/atmos/sewer) "idt" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -19533,14 +19420,15 @@ /turf/closed/wall/solaris/reinforced/hull/lv522, /area/lv522/oob) "ier" = ( -/obj/structure/bed/chair/comfy{ - dir = 1 +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 }, -/turf/open/floor/corsat{ - dir = 9; - icon_state = "brown" +/turf/open/floor/prison{ + icon_state = "floor_plate" }, -/area/lv522/atmos/east_reactor) +/area/lv522/atmos/sewer) "ieE" = ( /obj/item/ammo_magazine/rifle/heap{ current_rounds = 0 @@ -19585,14 +19473,16 @@ /turf/open/floor/plating, /area/lv522/landing_zone_forecon/UD6_Tornado) "ifh" = ( -/obj/structure/prop/invuln/overhead/flammable_pipe/fly{ - dir = 1; - pixel_y = 6 +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 1 }, -/turf/open/floor/corsat{ - icon_state = "plate" +/turf/open/floor{ + dir = 4; + icon_state = "whiteyellowfull" }, -/area/lv522/atmos/east_reactor) +/area/lv522/oob/w_y_vault) "ifi" = ( /obj/structure/cargo_container/hd/left/alt, /turf/open/floor/corsat{ @@ -19630,14 +19520,15 @@ /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/colony_streets/north_east_street) "igp" = ( -/obj/structure/bed/chair/comfy{ - dir = 1 +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 }, -/turf/open/floor/corsat{ - dir = 1; - icon_state = "brown" +/turf/open/floor{ + dir = 4; + icon_state = "whiteyellowfull" }, -/area/lv522/atmos/east_reactor) +/area/lv522/oob/w_y_vault) "igv" = ( /obj/structure/desertdam/decals/road_edge{ icon_state = "road_edge_decal3"; @@ -19652,16 +19543,17 @@ /turf/open/floor/wood, /area/lv522/indoors/a_block/fitness/glass) "igA" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, -/obj/structure/reagent_dispensers/water_cooler/stacks{ - density = 0; - pixel_y = 24 +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + layer = 2.5; + pixel_x = -1; + pixel_y = 1 }, -/turf/open/floor/corsat{ - dir = 5; - icon_state = "brown" +/turf/open/floor{ + dir = 4; + icon_state = "whiteyellowfull" }, -/area/lv522/atmos/east_reactor) +/area/lv522/oob/w_y_vault) "igL" = ( /obj/structure/machinery/disposal, /turf/open/floor/prison{ @@ -19991,7 +19883,10 @@ /area/lv522/outdoors/nw_rockies) "ioD" = ( /obj/structure/prop/structure_lattice, -/obj/structure/platform, +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" + }, /turf/open/asphalt/cement{ icon_state = "cement4" }, @@ -20046,21 +19941,6 @@ icon_state = "white_cyan2" }, /area/lv522/indoors/toilet) -"ipH" = ( -/obj/structure/surface/table/almayer, -/obj/item/stack/sheet/mineral/gold{ - amount = 60; - pixel_y = 6 - }, -/obj/item/stack/sheet/mineral/gold{ - amount = 60; - pixel_y = 12 - }, -/turf/open/floor/strata{ - dir = 4; - icon_state = "white_cyan1" - }, -/area/lv522/oob/w_y_vault) "ipN" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 8 @@ -20218,17 +20098,9 @@ }, /area/lv522/atmos/cargo_intake) "isL" = ( -/obj/structure/surface/table/almayer, -/obj/item/spacecash/c1000, -/obj/item/spacecash/c1000, -/obj/item/spacecash/c1000, -/obj/item/spacecash/c1000, -/obj/item/spacecash/c1000, -/obj/item/spacecash/c1000, -/obj/item/spacecash/c1000, -/obj/item/spacecash/c1000, -/obj/item/spacecash/c1000, -/obj/item/spacecash/c1000, +/obj/structure/machinery/light{ + dir = 8 + }, /turf/open/floor/strata{ dir = 4; icon_state = "white_cyan1" @@ -20385,12 +20257,9 @@ /obj/effect/decal/cleanable/blood/xeno, /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/nw_rockies) -"ivK" = ( -/turf/closed/wall/strata_outpost/reinforced/hull, -/area/lv522/indoors/lone_buildings/engineering) "ivN" = ( /obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/cameras/wooden_tv/prop{ +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{ pixel_y = 8 }, /turf/open/floor/prison{ @@ -20844,6 +20713,9 @@ pixel_y = 5 }, /obj/item/tool/pen/blue/clicky, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest, +/obj/effect/landmark/xeno_spawn, +/obj/effect/landmark/corpsespawner/colonist/burst, /turf/open/floor/corsat{ icon_state = "plate" }, @@ -20861,11 +20733,22 @@ /turf/open/shuttle/dropship/can_surgery/light_grey_single_wide_left_to_right, /area/lv522/landing_zone_forecon/UD6_Typhoon) "iGl" = ( -/obj/structure/machinery/door/airlock/almayer/engineering, -/turf/open/floor/corsat{ - icon_state = "marked" +/obj/structure/surface/table/almayer, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c1000, +/turf/open/floor/strata{ + dir = 4; + icon_state = "white_cyan1" }, -/area/lv522/atmos/east_reactor) +/area/lv522/oob/w_y_vault) "iGn" = ( /obj/structure/largecrate/random/barrel{ layer = 3.2; @@ -21178,17 +21061,11 @@ }, /area/lv522/indoors/a_block/bridges/garden_bridge) "iLC" = ( -/obj/structure/stairs/perspective{ - dir = 1; - icon_state = "p_stair_full" - }, -/obj/structure/pipes/standard/simple/hidden/green, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/prison{ - dir = 9; - icon_state = "greenfull" +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 }, -/area/lv522/indoors/b_block/hydro) +/turf/open/floor/prison, +/area/lv522/atmos/sewer) "iMv" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/corsat, @@ -21443,12 +21320,13 @@ /area/lv522/indoors/a_block/admin) "iQR" = ( /obj/structure/stairs/perspective{ - dir = 5; + dir = 6; icon_state = "p_stair_full" }, -/obj/structure/platform_decoration, -/turf/open/asphalt/cement, -/area/lv522/outdoors/colony_streets/east_central_street) +/turf/open/asphalt/cement{ + icon_state = "cement12" + }, +/area/lv522/outdoors/colony_streets/south_east_street) "iRa" = ( /obj/structure/largecrate/random, /obj/effect/decal/cleanable/dirt, @@ -21462,13 +21340,12 @@ /turf/open/floor/plating, /area/lv522/outdoors/colony_streets/north_east_street) "iRV" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest, -/obj/effect/landmark/corpsespawner/colonist/burst, -/turf/open/floor/corsat{ - dir = 1; - icon_state = "brown" +/obj/effect/decal/cleanable/dirt, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" }, -/area/lv522/atmos/east_reactor/south) +/turf/open/floor/plating, +/area/lv522/indoors/c_block/cargo) "iRW" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -21499,12 +21376,9 @@ /turf/open/auto_turf/shale/layer2, /area/lv522/outdoors/colony_streets/north_west_street) "iSF" = ( -/obj/structure/surface/table/almayer, -/obj/structure/prop/server_equipment/laptop/on, -/turf/open/floor/corsat{ - icon_state = "plate" - }, -/area/lv522/atmos/east_reactor) +/obj/structure/largecrate/random, +/turf/open/floor/plating, +/area/lv522/indoors/c_block/cargo) "iTb" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/prop/almayer/computer/PC{ @@ -21533,12 +21407,34 @@ }, /area/lv522/indoors/a_block/security) "iTn" = ( -/obj/structure/bed/chair/comfy, -/turf/open/floor/corsat{ - dir = 10; - icon_state = "brown" +/obj/structure/closet/crate/freezer{ + layer = 3 }, -/area/lv522/atmos/east_reactor) +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/obj/item/reagent_container/food/snacks/grown/orange, +/turf/open/floor/plating, +/area/lv522/indoors/c_block/cargo) "iTF" = ( /obj/item/ammo_box/magazine/m4ra/ap/empty, /obj/effect/decal/cleanable/dirt, @@ -21608,22 +21504,13 @@ }, /area/lv522/indoors/a_block/dorms) "iUT" = ( -/obj/structure/prop/ice_colony/ground_wire{ - dir = 8 - }, -/turf/open/floor/corsat{ - dir = 8; - icon_state = "browncorner" - }, -/area/lv522/atmos/east_reactor) +/obj/structure/machinery/squeezer, +/turf/open/floor/plating, +/area/lv522/indoors/c_block/cargo) "iUX" = ( -/obj/structure/prop/ice_colony/ground_wire{ - dir = 4 - }, -/turf/open/floor/corsat{ - icon_state = "browncorner" - }, -/area/lv522/atmos/east_reactor) +/obj/structure/platform, +/turf/open/asphalt/cement, +/area/lv522/outdoors/colony_streets/south_street) "iVe" = ( /obj/structure/stairs/perspective{ dir = 5; @@ -21636,12 +21523,13 @@ }, /area/lv522/indoors/a_block/hallway) "iVk" = ( -/obj/structure/bed/chair/comfy, -/turf/open/floor/corsat{ - dir = 6; - icon_state = "brown" +/obj/structure/platform_decoration{ + dir = 1 }, -/area/lv522/atmos/east_reactor) +/turf/open/asphalt/cement{ + icon_state = "cement9" + }, +/area/lv522/outdoors/colony_streets/south_street) "iVm" = ( /obj/item/storage/backpack/marine/satchel{ desc = "It's the heavy-duty black polymer kind. Time to take out the trash!"; @@ -21662,14 +21550,11 @@ }, /area/lv522/indoors/a_block/admin) "iVU" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/prop/almayer/computer/PC{ - dir = 8 - }, -/turf/open/floor/corsat{ - icon_state = "plate" +/obj/structure/platform_decoration, +/turf/open/asphalt/cement{ + icon_state = "cement2" }, -/area/lv522/atmos/east_reactor) +/area/lv522/outdoors/colony_streets/south_street) "iVY" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spider/spiderling/nogrow, @@ -21767,6 +21652,7 @@ /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 }, +/obj/structure/cargo_container/wy/left, /turf/open/auto_turf/shale/layer2, /area/lv522/outdoors/w_rockies) "iXM" = ( @@ -22140,20 +22026,23 @@ }, /area/lv522/atmos/east_reactor/south) "jey" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, -/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest, -/obj/effect/landmark/corpsespawner/colonist/burst, -/turf/open/floor/corsat{ - icon_state = "plate" +/obj/structure/pipes/standard/simple/hidden/green, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/prison{ + dir = 9; + icon_state = "greenfull" }, -/area/lv522/atmos/east_reactor/south) +/area/lv522/indoors/b_block/bridge) "jeD" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/faxmachine, -/turf/open/floor/corsat{ - icon_state = "plate" +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" }, -/area/lv522/atmos/east_reactor) +/obj/structure/platform{ + dir = 4 + }, +/turf/open/asphalt/cement, +/area/lv522/outdoors/colony_streets/south_street) "jeH" = ( /obj/structure/machinery/light, /obj/structure/pipes/vents/pump, @@ -22225,14 +22114,14 @@ }, /area/lv522/atmos/way_in_command_centre) "jfK" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/prop/almayer/computer/PC{ - dir = 1 +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" }, -/turf/open/floor/corsat{ - icon_state = "plate" +/obj/structure/platform{ + dir = 4 }, -/area/lv522/atmos/east_reactor) +/turf/open/asphalt/cement, +/area/lv522/outdoors/colony_streets/south_street) "jfO" = ( /turf/open/floor/prison, /area/lv522/indoors/a_block/kitchen/glass) @@ -22325,37 +22214,32 @@ }, /area/lv522/atmos/east_reactor) "jhY" = ( -/obj/structure/surface/table/almayer, -/obj/item/clothing/glasses/meson, -/obj/item/prop/alien/hugger, -/turf/open/floor/corsat{ - icon_state = "plate" +/obj/structure/platform{ + dir = 4 }, -/area/lv522/atmos/east_reactor) +/turf/open/asphalt/cement, +/area/lv522/outdoors/colony_streets/south_west_street) "jic" = ( -/obj/structure/surface/table/almayer, -/obj/item/reagent_container/food/snacks/cheeseburger{ - pixel_y = 5 +/obj/structure/platform{ + dir = 1 }, -/obj/item/trash/burger, -/turf/open/floor/corsat{ - icon_state = "plate" +/obj/structure/machinery/colony_floodlight, +/obj/structure/platform{ + dir = 8 }, -/area/lv522/atmos/east_reactor) -"jig" = ( -/obj/structure/surface/table/almayer, -/obj/item/clothing/head/hardhat{ - pixel_x = -7; - pixel_y = 8 +/obj/structure/platform_decoration{ + dir = 5 }, -/obj/item/clothing/head/hardhat{ - pixel_x = 8; - pixel_y = 14 +/turf/open/asphalt/cement, +/area/lv522/outdoors/colony_streets/south_street) +"jig" = ( +/obj/structure/platform_decoration{ + dir = 4 }, -/turf/open/floor/corsat{ - icon_state = "plate" +/turf/open/asphalt/cement{ + icon_state = "cement12" }, -/area/lv522/atmos/east_reactor) +/area/lv522/outdoors/colony_streets/south_street) "jin" = ( /obj/structure/filtration/machine_96x96/indestructible{ icon_state = "sedimentation_A_1"; @@ -22583,16 +22467,6 @@ icon_state = "darkyellowfull2" }, /area/lv522/indoors/lone_buildings/engineering) -"jkO" = ( -/obj/structure/platform{ - dir = 4 - }, -/obj/structure/platform, -/obj/structure/platform_decoration{ - dir = 6 - }, -/turf/open/asphalt/cement, -/area/lv522/outdoors/n_rockies) "jlc" = ( /obj/structure/surface/rack, /obj/item/tool/minihoe{ @@ -23606,13 +23480,13 @@ }, /area/lv522/atmos/cargo_intake) "jCQ" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_nest, -/obj/effect/landmark/xeno_spawn, -/turf/open/floor/corsat{ - dir = 8; - icon_state = "browncorner" +/obj/structure/platform_decoration{ + dir = 8 }, -/area/lv522/atmos/east_reactor/south) +/turf/open/asphalt/cement{ + icon_state = "cement12" + }, +/area/lv522/outdoors/colony_streets/south_street) "jCS" = ( /obj/item/trash/wy_chips_pepper, /obj/structure/machinery/light{ @@ -23690,9 +23564,6 @@ density = 0; pixel_y = 16 }, -/obj/structure/platform_decoration{ - dir = 4 - }, /turf/open/gm/river, /area/lv522/atmos/sewer) "jDO" = ( @@ -23716,10 +23587,11 @@ "jEk" = ( /obj/structure/pipes/standard/simple/hidden/green, /obj/effect/landmark/structure_spawner/setup/distress/xeno_nest, -/obj/effect/landmark/xeno_spawn, /obj/structure/machinery/light{ dir = 4 }, +/obj/effect/landmark/corpsespawner/colonist/burst, +/obj/effect/landmark/xeno_spawn, /turf/open/floor/corsat{ icon_state = "plate" }, @@ -23831,9 +23703,12 @@ /turf/open/floor/plating, /area/lv522/indoors/c_block/mining) "jGh" = ( -/obj/structure/cargo_container/grant/right, +/obj/structure/pipes/standard/simple/hidden/green{ + dir = 4 + }, +/obj/structure/cargo_container/wy/right, /turf/open/auto_turf/shale/layer1, -/area/lv522/outdoors/colony_streets/north_west_street) +/area/lv522/outdoors/w_rockies) "jGj" = ( /obj/effect/decal/cleanable/dirt, /obj/item/maintenance_jack, @@ -23867,10 +23742,8 @@ /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/colony_streets/central_streets) "jHa" = ( -/obj/structure/cargo_container/wy/right{ - layer = 5 - }, -/turf/open/auto_turf/sand_white/layer0, +/obj/structure/cargo_container/kelland/left, +/turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/w_rockies) "jHb" = ( /turf/open/gm/river, @@ -23959,11 +23832,14 @@ }, /area/lv522/outdoors/n_rockies) "jIQ" = ( -/obj/structure/cable/heavyduty{ - icon_state = "4-8" +/obj/structure/machinery/colony_floodlight{ + layer = 4.3 }, -/turf/open/floor/plating, -/area/lv522/atmos/east_reactor) +/obj/structure/platform{ + dir = 1 + }, +/turf/open/asphalt/cement, +/area/lv522/outdoors/colony_streets/south_street) "jIR" = ( /obj/effect/decal/cleanable/greenglow, /turf/open/gm/river, @@ -24664,9 +24540,9 @@ }, /area/lv522/indoors/a_block/dorms) "jVS" = ( -/obj/structure/cargo_container/kelland/right, -/turf/open/auto_turf/sand_white/layer0, -/area/lv522/outdoors/colony_streets/north_west_street) +/obj/structure/cargo_container/horizontal/blue/top, +/turf/open/auto_turf/shale/layer1, +/area/lv522/outdoors/w_rockies) "jVV" = ( /obj/structure/prop/invuln/minecart_tracks, /obj/structure/closet/crate/miningcar{ @@ -25331,9 +25207,6 @@ icon_state = "floor_plate" }, /area/lv522/atmos/way_in_command_centre) -"khd" = ( -/turf/closed/wall/strata_outpost/reinforced/hull, -/area/lv522/indoors/c_block/cargo) "khf" = ( /obj/structure/prop/server_equipment, /turf/open/floor/prison{ @@ -25548,12 +25421,13 @@ }, /area/lv522/atmos/west_reactor) "kkq" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, -/obj/structure/machinery/light, -/turf/open/floor/corsat{ - icon_state = "plate" +/obj/structure/platform_decoration{ + dir = 8 }, -/area/lv522/atmos/east_reactor) +/turf/open/asphalt/cement{ + icon_state = "cement3" + }, +/area/lv522/outdoors/colony_streets/south_west_street) "kkr" = ( /obj/structure/prop/ice_colony/ground_wire{ dir = 8 @@ -26490,7 +26364,9 @@ /turf/open/floor/plating, /area/lv522/indoors/c_block/garage) "kBD" = ( -/obj/structure/machinery/power/port_gen/pacman, +/obj/structure/cargo_container/horizontal/blue/middle{ + layer = 3.1 + }, /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/w_rockies) "kBJ" = ( @@ -26514,7 +26390,7 @@ }, /area/lv522/atmos/cargo_intake) "kBT" = ( -/obj/structure/cargo_container/grant/left, +/obj/structure/cargo_container/horizontal/blue/bottom, /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/w_rockies) "kBU" = ( @@ -26581,7 +26457,7 @@ /area/lv522/atmos/cargo_intake) "kCN" = ( /obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/cameras/wooden_tv/prop{ +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{ pixel_y = 16 }, /obj/item/trash/plate, @@ -26828,11 +26704,13 @@ }, /area/lv522/indoors/a_block/security) "kHX" = ( -/turf/open/floor/corsat{ - dir = 10; - icon_state = "brown" +/obj/structure/platform_decoration{ + dir = 4 }, -/area/lv522/atmos/east_reactor) +/turf/open/asphalt/cement{ + icon_state = "cement1" + }, +/area/lv522/outdoors/colony_streets/south_street) "kHZ" = ( /obj/structure/surface/table/almayer, /obj/item/tool/weldpack{ @@ -26893,7 +26771,8 @@ /area/lv522/indoors/a_block/admin) "kIV" = ( /obj/effect/decal/warning_stripes{ - icon_state = "SW-out" + icon_state = "SE-out"; + pixel_x = 1 }, /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/south_east_street) @@ -27025,19 +26904,13 @@ }, /area/lv522/atmos/filt) "kLO" = ( -/obj/structure/stairs/perspective{ - dir = 1; - icon_state = "p_stair_full" +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" }, -/turf/open/floor/prison{ - dir = 9; - icon_state = "greenfull" +/turf/open/asphalt/cement{ + icon_state = "cement3" }, -/area/lv522/indoors/b_block/hydro) -"kLQ" = ( -/obj/structure/cargo_container/grant/right, -/turf/open/auto_turf/shale/layer1, -/area/lv522/outdoors/w_rockies) +/area/lv522/outdoors/colony_streets/south_west_street) "kMi" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -27089,14 +26962,6 @@ }, /turf/open/floor/plating/plating_catwalk/prison, /area/lv522/indoors/a_block/admin) -"kNj" = ( -/obj/structure/prop/vehicles/crawler{ - dir = 8; - icon_state = "crawler_crate_alt2"; - layer = 3.1 - }, -/turf/open/auto_turf/sand_white/layer0, -/area/lv522/outdoors/w_rockies) "kNw" = ( /obj/item/prop/alien/hugger, /obj/structure/pipes/standard/simple/hidden/green{ @@ -27315,7 +27180,7 @@ /area/lv522/indoors/a_block/security) "kRf" = ( /obj/structure/prop/invuln/ice_prefab/trim{ - dir = 6 + dir = 8 }, /obj/structure/cargo_container/grant/rightmid, /turf/open/auto_turf/sand_white/layer0, @@ -27671,13 +27536,6 @@ icon_state = "marked" }, /area/lv522/landing_zone_1/ceiling) -"kWD" = ( -/obj/structure/prop/vehicles/crawler{ - icon_state = "crawler_crate_alt2"; - layer = 3.1 - }, -/turf/open/auto_turf/shale/layer1, -/area/lv522/outdoors/w_rockies) "kWH" = ( /obj/structure/stairs/perspective{ dir = 8; @@ -27942,7 +27800,9 @@ /area/lv522/indoors/a_block/admin) "lbH" = ( /obj/structure/largecrate/random, -/turf/open/auto_turf/shale/layer1, +/turf/open/asphalt/cement{ + icon_state = "cement12" + }, /area/lv522/outdoors/colony_streets/south_street) "lbI" = ( /obj/structure/surface/table/almayer, @@ -28192,10 +28052,11 @@ /area/lv522/landing_zone_1) "lhb" = ( /obj/structure/prop/invuln/ice_prefab{ - dir = 9 + dir = 5 }, /obj/structure/prop/invuln/ice_prefab/roof_greeble{ - icon_state = "solarpanel1" + icon_state = "solarpanel1"; + pixel_x = 7 }, /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/w_rockies) @@ -28218,12 +28079,6 @@ icon_state = "darkredfull2" }, /area/lv522/outdoors/colony_streets/north_street) -"lhC" = ( -/obj/structure/prop/invuln/ice_prefab{ - dir = 5 - }, -/turf/open/auto_turf/sand_white/layer0, -/area/lv522/outdoors/w_rockies) "lhD" = ( /obj/structure/barricade/handrail{ dir = 1 @@ -28332,6 +28187,7 @@ "ljQ" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_nest, /obj/effect/landmark/corpsespawner/colonist/burst, +/obj/effect/landmark/xeno_spawn, /turf/open/floor/corsat{ dir = 8; icon_state = "brown" @@ -28837,12 +28693,11 @@ /turf/open/floor/plating/plating_catwalk/prison, /area/lv522/indoors/a_block/security) "lul" = ( -/obj/structure/surface/table/almayer, -/obj/item/frame/fire_alarm, -/turf/open/floor/prison{ - icon_state = "floor_plate" +/obj/structure/platform_decoration, +/turf/open/asphalt/cement{ + icon_state = "cement3" }, -/area/lv522/atmos/sewer) +/area/lv522/outdoors/colony_streets/south_west_street) "lum" = ( /obj/structure/platform, /obj/structure/platform{ @@ -28867,7 +28722,9 @@ /obj/effect/decal/warning_stripes{ icon_state = "W" }, -/turf/open/auto_turf/sand_white/layer0, +/turf/open/asphalt/cement{ + icon_state = "cement3" + }, /area/lv522/outdoors/colony_streets/south_west_street) "lvF" = ( /obj/item/tool/surgery/circular_saw, @@ -28922,7 +28779,9 @@ /obj/structure/pipes/standard/simple/hidden/green{ dir = 10 }, -/turf/open/floor/plating/plating_catwalk/prison, +/turf/open/floor/prison{ + icon_state = "floor_plate" + }, /area/lv522/atmos/sewer) "lwv" = ( /obj/structure/machinery/light{ @@ -28961,10 +28820,6 @@ }, /turf/open/floor/prison, /area/lv522/indoors/a_block/admin) -"lxj" = ( -/obj/structure/prop/invuln/ice_prefab, -/turf/open/auto_turf/sand_white/layer0, -/area/lv522/outdoors/w_rockies) "lxp" = ( /obj/structure/machinery/light{ dir = 1 @@ -29251,18 +29106,6 @@ icon_state = "blue_plate" }, /area/lv522/indoors/a_block/admin) -"lCn" = ( -/obj/structure/stairs/perspective{ - dir = 10; - icon_state = "p_stair_full" - }, -/obj/structure/platform_decoration{ - dir = 4 - }, -/turf/open/asphalt/cement{ - icon_state = "cement12" - }, -/area/lv522/outdoors/colony_streets/east_central_street) "lCx" = ( /obj/effect/decal/cleanable/generic, /turf/open/floor/prison{ @@ -29897,6 +29740,10 @@ /area/lv522/outdoors/colony_streets/south_east_street) "lPv" = ( /obj/effect/decal/cleanable/liquid_fuel, +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" + }, /turf/open/asphalt/cement{ icon_state = "cement4" }, @@ -30182,7 +30029,9 @@ /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 }, -/turf/open/auto_turf/shale/layer1, +/turf/open/asphalt/cement{ + icon_state = "cement12" + }, /area/lv522/outdoors/colony_streets/north_east_street) "lWa" = ( /obj/structure/pipes/standard/simple/hidden/green{ @@ -30256,7 +30105,9 @@ /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 }, -/turf/open/auto_turf/sand_white/layer0, +/turf/open/asphalt/cement{ + icon_state = "cement12" + }, /area/lv522/outdoors/colony_streets/north_east_street) "lYG" = ( /obj/structure/platform_decoration{ @@ -30335,7 +30186,6 @@ /area/lv522/indoors/b_block/bar) "mad" = ( /obj/effect/decal/cleanable/blood, -/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, /turf/open/floor/corsat{ icon_state = "marked" }, @@ -31065,8 +30915,13 @@ }, /area/lv522/atmos/filt) "moe" = ( -/turf/closed/wall/strata_outpost/reinforced/hull, -/area/lv522/oob/w_y_vault) +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" + }, +/obj/structure/platform, +/turf/open/asphalt/cement, +/area/lv522/outdoors/colony_streets/south_west_street) "moz" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/machinery/light{ @@ -32080,7 +31935,10 @@ /obj/structure/cargo_container/kelland/left{ layer = 2.9 }, -/obj/structure/platform, +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" + }, /turf/open/asphalt/cement{ icon_state = "cement4" }, @@ -32320,9 +32178,13 @@ /turf/open/shuttle/dropship/can_surgery/light_grey_bottom_left, /area/lv522/landing_zone_forecon/UD6_Typhoon) "mNI" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "w-y1" +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = -1 + }, +/turf/open/floor{ + dir = 4; + icon_state = "whiteyellowfull" }, /area/lv522/oob/w_y_vault) "mNR" = ( @@ -32601,9 +32463,13 @@ }, /area/lv522/indoors/a_block/kitchen) "mRh" = ( -/obj/structure/window/framed/corsat, -/turf/open/floor/corsat, -/area/lv522/atmos/east_reactor) +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" + }, +/obj/structure/platform, +/turf/open/asphalt/cement, +/area/lv522/outdoors/colony_streets/south_street) "mRs" = ( /obj/item/prop/colony/used_flare, /turf/open/auto_turf/shale/layer1, @@ -32737,21 +32603,6 @@ }, /turf/open/floor/plating, /area/lv522/atmos/filt) -"mUo" = ( -/obj/structure/platform{ - dir = 8 - }, -/obj/structure/blocker/invisible_wall, -/obj/structure/prop/invuln{ - desc = "big pile energy."; - icon = 'icons/obj/structures/props/ice_colony/barrel_yard.dmi'; - icon_state = "pile_0"; - layer = 2.9; - name = "barrel pile"; - pixel_y = 3 - }, -/turf/open/floor/plating, -/area/lv522/indoors/c_block/cargo) "mUr" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -32955,7 +32806,7 @@ /area/lv522/indoors/a_block/dorms) "mZK" = ( /obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/cameras/wooden_tv/prop{ +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{ pixel_x = 16; pixel_y = 7 }, @@ -32965,12 +32816,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison, /area/lv522/indoors/a_block/dorms) -"mZM" = ( -/obj/structure/cargo_container/wy/left{ - layer = 5 - }, -/turf/open/auto_turf/sand_white/layer0, -/area/lv522/outdoors/w_rockies) "mZN" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_door, /obj/structure/pipes/standard/simple/hidden/green{ @@ -33058,18 +32903,6 @@ /obj/structure/machinery/landinglight/ds1/delaythree, /turf/open/floor/plating, /area/lv522/landing_zone_1) -"naZ" = ( -/obj/structure/platform_decoration{ - dir = 8 - }, -/obj/structure/stairs/perspective{ - dir = 6; - icon_state = "p_stair_full" - }, -/turf/open/asphalt/cement{ - icon_state = "cement12" - }, -/area/lv522/outdoors/colony_streets/south_east_street) "nbg" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -33148,8 +32981,9 @@ }, /area/lv522/atmos/cargo_intake) "ncg" = ( -/obj/structure/platform{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, /turf/open/asphalt/cement{ icon_state = "cement1" @@ -33233,7 +33067,9 @@ icon_state = "NW-out"; pixel_y = 1 }, -/turf/open/auto_turf/sand_white/layer0, +/turf/open/asphalt/cement{ + icon_state = "cement3" + }, /area/lv522/outdoors/colony_streets/south_west_street) "nee" = ( /obj/structure/pipes/standard/manifold/hidden/green, @@ -33661,11 +33497,13 @@ /turf/open/floor/prison, /area/lv522/indoors/c_block/casino) "nlY" = ( -/obj/structure/platform{ +/obj/structure/platform_decoration{ dir = 1 }, -/turf/open/asphalt/cement, -/area/lv522/outdoors/colony_streets/east_central_street) +/turf/open/asphalt/cement{ + icon_state = "cement1" + }, +/area/lv522/outdoors/colony_streets/south_street) "nmh" = ( /obj/structure/surface/table/reinforced/prison, /obj/structure/machinery/prop/almayer/computer/PC{ @@ -33809,7 +33647,6 @@ /obj/effect/decal/cleanable/blood/xeno{ icon_state = "xgib3" }, -/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, /turf/open/floor/corsat{ icon_state = "marked" }, @@ -34470,11 +34307,10 @@ /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/w_rockies) "nCC" = ( +/obj/effect/decal/cleanable/dirt, /obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - layer = 2.5; - pixel_x = -1; - pixel_y = 1 + icon_state = "W"; + pixel_x = -1 }, /turf/open/floor{ dir = 4; @@ -34526,7 +34362,10 @@ "nDI" = ( /obj/structure/closet/crate/trashcart, /obj/item/trash/wy_chips_pepper, -/obj/structure/platform, +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" + }, /turf/open/asphalt/cement, /area/lv522/outdoors/colony_streets/east_central_street) "nDM" = ( @@ -34613,9 +34452,7 @@ /turf/open/floor/prison, /area/lv522/indoors/c_block/casino) "nFO" = ( -/obj/structure/prop/invuln/ice_prefab{ - dir = 5 - }, +/obj/structure/machinery/power/port_gen/pacman, /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/w_rockies) "nGc" = ( @@ -34723,14 +34560,11 @@ /turf/open/floor/prison, /area/lv522/indoors/a_block/admin) "nIu" = ( -/obj/structure/stairs/perspective{ - dir = 9; - icon_state = "p_stair_full" - }, -/turf/open/asphalt/cement{ - icon_state = "cement4" +/obj/effect/decal/warning_stripes{ + icon_state = "S" }, -/area/lv522/outdoors/colony_streets/north_street) +/turf/open/auto_turf/sand_white/layer0, +/area/lv522/outdoors/colony_streets/south_east_street) "nIF" = ( /obj/structure/reagent_dispensers/fueltank{ layer = 2.9 @@ -35285,13 +35119,14 @@ /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/colony_streets/central_streets) "nRy" = ( -/obj/structure/closet/fireaxecabinet{ - pixel_y = 29 +/obj/structure/machinery/colony_floodlight{ + layer = 4.3 }, -/turf/open/floor/prison{ - icon_state = "floor_plate" +/obj/structure/platform{ + dir = 8 }, -/area/lv522/atmos/sewer) +/turf/open/asphalt/cement, +/area/lv522/outdoors/colony_streets/south_street) "nRI" = ( /obj/item/ammo_magazine/rifle/heap{ current_rounds = 0 @@ -35371,9 +35206,6 @@ icon_state = "kitchen" }, /area/lv522/indoors/a_block/fitness) -"nSE" = ( -/turf/closed/wall/strata_outpost/reinforced/hull, -/area/lv522/indoors/a_block/admin) "nSF" = ( /obj/structure/barricade/deployable{ dir = 1 @@ -35400,10 +35232,6 @@ }, /turf/open/floor/prison, /area/lv522/indoors/a_block/dorm_north) -"nTj" = ( -/obj/effect/landmark/lv624/fog_blocker/short, -/turf/closed/wall/strata_outpost/reinforced/hull, -/area/lv522/oob/w_y_vault) "nTl" = ( /turf/closed/wall/r_wall/biodome/biodome_unmeltable, /area/lv522/atmos/east_reactor) @@ -35726,14 +35554,6 @@ icon_state = "blue" }, /area/lv522/indoors/a_block/hallway) -"nYz" = ( -/obj/structure/platform{ - dir = 4 - }, -/turf/open/asphalt/cement{ - icon_state = "cement3" - }, -/area/lv522/outdoors/n_rockies) "nYF" = ( /obj/item/weapon/twohanded/folded_metal_chair, /obj/effect/decal/cleanable/dirt, @@ -35801,13 +35621,16 @@ }, /area/lv522/outdoors/n_rockies) "oaj" = ( -/obj/structure/pipes/standard/simple/hidden/green, -/turf/closed/wall/r_wall/biodome/biodome_unmeltable, -/area/lv522/atmos/cargo_intake) +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/turf/open/auto_turf/sand_white/layer0, +/area/lv522/outdoors/colony_streets/south_east_street) "oan" = ( /obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 + icon_state = "SE-out"; + pixel_x = 1; + pixel_y = -1 }, /turf/open/floor{ dir = 4; @@ -36376,29 +36199,6 @@ icon_state = "floor_plate" }, /area/lv522/indoors/a_block/hallway) -"okj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/backpack/marine/satchel{ - desc = "It's the heavy-duty black polymer kind. Time to take out the trash!"; - icon = 'icons/obj/janitor.dmi'; - icon_state = "trashbag3"; - name = "trash bag"; - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/storage/backpack/marine/satchel{ - desc = "It's the heavy-duty black polymer kind. Time to take out the trash!"; - icon = 'icons/obj/janitor.dmi'; - icon_state = "trashbag3"; - name = "trash bag"; - pixel_x = 3; - pixel_y = -2 - }, -/turf/open/floor/prison{ - dir = 4; - icon_state = "cell_stripe" - }, -/area/lv522/atmos/sewer) "okA" = ( /obj/structure/surface/rack, /obj/structure/machinery/camera/autoname{ @@ -36586,9 +36386,7 @@ /obj/structure/platform{ dir = 8 }, -/obj/structure/largecrate/random{ - layer = 2.9 - }, +/obj/structure/ore_box, /turf/open/floor/plating, /area/lv522/indoors/c_block/cargo) "oqn" = ( @@ -36751,17 +36549,6 @@ icon_state = "floor_plate" }, /area/lv522/outdoors/colony_streets/north_west_street) -"osm" = ( -/obj/structure/transmitter/colony_net{ - phone_category = "LV522 Chances Claim"; - phone_color = "red"; - phone_id = "Reactor Sewer"; - pixel_y = 26 - }, -/turf/open/floor/prison{ - icon_state = "floor_plate" - }, -/area/lv522/atmos/sewer) "osE" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ name = "\improper A-Block Corporate Office Airlock"; @@ -36916,6 +36703,10 @@ layer = 2.9 }, /obj/effect/decal/cleanable/liquid_fuel, +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" + }, /turf/open/asphalt/cement, /area/lv522/outdoors/colony_streets/north_street) "ovr" = ( @@ -37835,6 +37626,9 @@ dir = 1; icon_state = "fab_2" }, +/obj/structure/prop/invuln/ice_prefab{ + icon_state = "fab_2" + }, /turf/open/auto_turf/shale/layer2, /area/lv522/outdoors/w_rockies) "oOS" = ( @@ -38093,14 +37887,6 @@ "oUq" = ( /turf/closed/wall/strata_outpost/reinforced, /area/lv522/atmos/way_in_command_centre) -"oUC" = ( -/obj/structure/prop/invuln/overhead/flammable_pipe/fly{ - pixel_y = 6 - }, -/turf/open/floor/corsat{ - icon_state = "plate" - }, -/area/lv522/atmos/east_reactor) "oUE" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out"; @@ -38472,9 +38258,7 @@ dir = 1; icon_state = "p_stair_full" }, -/turf/open/floor/prison{ - icon_state = "floor_plate" - }, +/turf/open/floor/prison, /area/lv522/atmos/sewer) "pdp" = ( /obj/structure/prop/invuln/overhead_pipe{ @@ -38792,15 +38576,6 @@ icon_state = "floor_plate" }, /area/lv522/outdoors/colony_streets/north_east_street) -"pgJ" = ( -/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/corsat{ - icon_state = "squares" - }, -/area/lv522/atmos/east_reactor) "pha" = ( /obj/structure/bed/chair{ can_buckle = 0; @@ -38899,9 +38674,7 @@ /obj/structure/platform{ dir = 8 }, -/obj/structure/largecrate/random{ - layer = 2.9 - }, +/obj/structure/ore_box, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/lv522/indoors/c_block/cargo) @@ -38989,9 +38762,6 @@ /obj/item/prop/colony/used_flare, /turf/open/floor/prison, /area/lv522/indoors/a_block/kitchen) -"plz" = ( -/turf/closed/wall/strata_outpost/reinforced/hull, -/area/lv522/indoors/a_block/executive) "plN" = ( /obj/structure/platform, /obj/effect/decal/warning_stripes{ @@ -39102,9 +38872,11 @@ /area/lv522/indoors/a_block/dorms) "ppD" = ( /obj/effect/decal/warning_stripes{ - icon_state = "S" + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 1 }, -/turf/open/auto_turf/sand_white/layer0, +/turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/colony_streets/south_east_street) "ppF" = ( /turf/closed/shuttle/dropship2/tornado/typhoon{ @@ -39208,7 +38980,6 @@ /area/lv522/outdoors/colony_streets/north_west_street) "prT" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, -/obj/structure/cargo_container/grant/rightmid, /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/w_rockies) "prU" = ( @@ -39273,9 +39044,6 @@ icon_state = "brown" }, /area/lv522/atmos/filt) -"psC" = ( -/turf/closed/wall/strata_outpost/reinforced/hull, -/area/lv522/indoors/a_block/hallway) "psF" = ( /obj/effect/decal/cleanable/dirt, /obj/item/ammo_magazine/rifle/mar40/lmg, @@ -40821,15 +40589,6 @@ icon_state = "darkbrownfull2" }, /area/lv522/landing_zone_2/ceiling) -"pWC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/bed/chair{ - dir = 1 - }, -/turf/open/floor/prison{ - icon_state = "floor_plate" - }, -/area/lv522/atmos/sewer) "pWR" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 6 @@ -41764,11 +41523,15 @@ /turf/open/floor/plating, /area/lv522/outdoors/colony_streets/central_streets) "qpD" = ( -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 4 +/obj/structure/machinery/light{ + dir = 1 }, -/turf/closed/wall/mineral/bone_resin, -/area/lv522/oob) +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/auto_turf/shale/layer1, +/area/lv522/outdoors/colony_streets/south_east_street) "qpE" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison{ @@ -41857,20 +41620,8 @@ /turf/open/asphalt/cement, /area/lv522/outdoors/n_rockies) "qqN" = ( -/obj/structure/filingcabinet{ - density = 0; - pixel_x = -8; - pixel_y = 16 - }, -/obj/structure/filingcabinet{ - density = 0; - pixel_x = 8; - pixel_y = 16 - }, -/turf/open/floor/strata{ - dir = 4; - icon_state = "white_cyan1" - }, +/obj/effect/landmark/lv624/fog_blocker/short, +/turf/closed/wall/r_wall/biodome/biodome_unmeltable, /area/lv522/oob/w_y_vault) "qqR" = ( /obj/structure/platform, @@ -42021,10 +41772,6 @@ icon_state = "floor_plate" }, /area/lv522/outdoors/colony_streets/east_central_street) -"qtl" = ( -/obj/structure/cargo_container/horizontal/blue/top, -/turf/open/auto_turf/shale/layer1, -/area/lv522/outdoors/colony_streets/north_west_street) "qts" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 6 @@ -42288,17 +42035,6 @@ icon_state = "darkpurplefull2" }, /area/lv522/indoors/a_block/dorms) -"qyp" = ( -/obj/structure/transmitter/colony_net{ - phone_category = "LV522 Chances Claim"; - phone_color = "red"; - phone_id = "Reactor Eastern Reactor Control"; - pixel_y = 26 - }, -/turf/open/floor/corsat{ - icon_state = "plate" - }, -/area/lv522/atmos/east_reactor) "qyG" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/auto_turf/sand_white/layer0, @@ -43105,12 +42841,6 @@ /obj/effect/landmark/lv624/fog_blocker/short, /turf/open/auto_turf/sand_white/layer0, /area/lv522/landing_zone_1) -"qMX" = ( -/obj/structure/cargo_container/horizontal/blue/middle{ - layer = 3.1 - }, -/turf/open/auto_turf/shale/layer1, -/area/lv522/outdoors/colony_streets/north_west_street) "qNg" = ( /obj/structure/machinery/door/airlock/almayer/generic{ name = "\improper Bedroom" @@ -43448,10 +43178,6 @@ /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/colony_streets/south_street) "qRF" = ( -/obj/structure/stairs/perspective{ - dir = 5; - icon_state = "p_stair_full" - }, /obj/effect/decal/cleanable/dirt, /obj/structure/machinery/camera/autoname{ dir = 8 @@ -43797,13 +43523,6 @@ /obj/effect/landmark/lv624/fog_blocker/short, /turf/open/floor/plating, /area/lv522/landing_zone_1/tunnel) -"qXz" = ( -/obj/structure/cargo_container/horizontal/blue/bottom, -/obj/structure/pipes/standard/simple/hidden/green{ - dir = 10 - }, -/turf/open/auto_turf/shale/layer1, -/area/lv522/outdoors/colony_streets/north_west_street) "qXH" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/toy, @@ -44174,9 +43893,6 @@ /area/lv522/outdoors/colony_streets/east_central_street) "rbZ" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, -/obj/structure/machinery/light{ - dir = 8 - }, /turf/open/floor/corsat, /area/lv522/atmos/east_reactor/south) "rcd" = ( @@ -45721,16 +45437,6 @@ }, /turf/open/floor/plating/plating_catwalk/prison, /area/lv522/indoors/lone_buildings/engineering) -"rIr" = ( -/obj/structure/stairs/perspective{ - dir = 9; - icon_state = "p_stair_full" - }, -/obj/structure/platform_decoration{ - dir = 1 - }, -/turf/open/asphalt/cement, -/area/lv522/outdoors/colony_streets/east_central_street) "rIx" = ( /obj/structure/machinery/light{ dir = 4 @@ -46673,8 +46379,11 @@ }, /area/lv522/indoors/a_block/bridges/dorms_fitness) "rZK" = ( +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" + }, /obj/structure/platform{ - dir = 1 + dir = 8 }, /turf/open/asphalt/cement, /area/lv522/outdoors/colony_streets/south_street) @@ -47517,11 +47226,12 @@ /turf/open/floor/carpet, /area/lv522/indoors/b_block/bar) "spn" = ( -/obj/effect/decal/cleanable/dirt, /obj/effect/decal/warning_stripes{ - icon_state = "W"; - pixel_x = -1 + icon_state = "SW-out"; + pixel_x = -1; + pixel_y = -1 }, +/obj/effect/landmark/corpsespawner/wy/manager, /turf/open/floor{ dir = 4; icon_state = "whiteyellowfull" @@ -47915,7 +47625,9 @@ /area/lv522/indoors/a_block/hallway) "sxg" = ( /obj/item/stack/rods, -/turf/open/auto_turf/shale/layer1, +/turf/open/asphalt/cement{ + icon_state = "cement12" + }, /area/lv522/outdoors/colony_streets/south_street) "sxp" = ( /obj/structure/surface/table/almayer, @@ -48095,17 +47807,6 @@ "sAU" = ( /turf/open/floor/plating/plating_catwalk/prison, /area/lv522/indoors/a_block/security/glass) -"sBg" = ( -/obj/structure/prop/server_equipment/yutani_server{ - pixel_x = 3 - }, -/obj/structure/prop/server_equipment{ - pixel_x = -16 - }, -/turf/open/floor{ - icon_state = "bcircuit" - }, -/area/lv522/atmos/east_reactor) "sBt" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 4 @@ -48120,13 +47821,6 @@ icon_state = "white_cyan1" }, /area/lv522/indoors/a_block/medical) -"sBz" = ( -/obj/structure/platform{ - dir = 1 - }, -/obj/structure/machinery/squeezer, -/turf/open/floor/plating, -/area/lv522/indoors/c_block/cargo) "sBH" = ( /obj/structure/reagent_dispensers/water_cooler/stacks{ density = 0; @@ -49280,16 +48974,6 @@ }, /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/east_central_street) -"sUj" = ( -/obj/structure/stairs/perspective{ - dir = 6; - icon_state = "p_stair_full" - }, -/obj/structure/platform_decoration{ - dir = 8 - }, -/turf/open/floor/plating, -/area/lv522/indoors/c_block/cargo) "sUs" = ( /obj/effect/decal/cleanable/blood/oil, /obj/effect/decal/cleanable/dirt, @@ -49408,18 +49092,16 @@ icon_state = "rasputin15" }, /area/lv522/landing_zone_forecon/UD6_Tornado) -"sYk" = ( -/obj/structure/platform, -/turf/open/asphalt/cement, -/area/lv522/outdoors/colony_streets/north_east_street) "sYl" = ( /obj/item/stack/sheet/metal, /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/colony_streets/north_east_street) "sYv" = ( -/obj/structure/platform{ - dir = 8 +/obj/structure/stairs/perspective{ + dir = 4; + icon_state = "p_stair_full" }, +/obj/structure/platform/stair_cut, /turf/open/asphalt/cement, /area/lv522/outdoors/colony_streets/south_street) "sYH" = ( @@ -49499,14 +49181,6 @@ icon_state = "cement4" }, /area/lv522/outdoors/colony_streets/south_east_street) -"taS" = ( -/obj/structure/platform_decoration{ - dir = 8 - }, -/turf/open/asphalt/cement{ - icon_state = "cement14" - }, -/area/lv522/outdoors/n_rockies) "taW" = ( /obj/structure/platform{ dir = 8 @@ -49554,14 +49228,19 @@ }, /area/lv522/outdoors/colony_streets/north_west_street) "tbK" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1; - pixel_y = -1 +/obj/structure/filingcabinet{ + density = 0; + pixel_x = -8; + pixel_y = 16 }, -/turf/open/floor{ +/obj/structure/filingcabinet{ + density = 0; + pixel_x = 8; + pixel_y = 16 + }, +/turf/open/floor/strata{ dir = 4; - icon_state = "whiteyellowfull" + icon_state = "white_cyan1" }, /area/lv522/oob/w_y_vault) "tcj" = ( @@ -49667,15 +49346,10 @@ }, /area/lv522/landing_zone_forecon/UD6_Typhoon) "tdM" = ( -/obj/structure/platform{ - dir = 1 - }, -/obj/structure/platform{ - dir = 8 - }, -/obj/structure/platform_decoration{ - dir = 5; - layer = 3.51 +/obj/structure/platform/stair_cut, +/obj/structure/stairs/perspective{ + dir = 8; + icon_state = "p_stair_full" }, /turf/open/gm/river, /area/lv522/atmos/sewer) @@ -50511,14 +50185,6 @@ /obj/effect/decal/cleanable/blood, /turf/open/auto_turf/sand_white/layer0, /area/lv522/outdoors/nw_rockies) -"tti" = ( -/obj/structure/platform_decoration{ - dir = 4 - }, -/turf/open/asphalt/cement{ - icon_state = "cement12" - }, -/area/lv522/outdoors/colony_streets/south_east_street) "ttp" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/corsat{ @@ -50738,9 +50404,7 @@ dir = 1; icon_state = "p_stair_full" }, -/turf/open/floor/prison{ - icon_state = "floor_plate" - }, +/turf/open/floor/prison, /area/lv522/atmos/sewer) "tyc" = ( /obj/structure/surface/rack, @@ -50973,12 +50637,6 @@ "tCN" = ( /turf/closed/wall/strata_ice/dirty, /area/lv522/outdoors/colony_streets/south_east_street) -"tCX" = ( -/turf/open/floor/corsat{ - dir = 6; - icon_state = "brown" - }, -/area/lv522/atmos/east_reactor) "tDd" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 10 @@ -51147,16 +50805,6 @@ }, /turf/open/floor/wood, /area/lv522/indoors/c_block/casino) -"tFZ" = ( -/obj/structure/surface/table/almayer, -/obj/item/paper_bin{ - pixel_y = 5 - }, -/obj/item/tool/pen/blue/clicky, -/turf/open/floor/corsat{ - icon_state = "plate" - }, -/area/lv522/atmos/east_reactor) "tGb" = ( /obj/structure/prop/ice_colony/ground_wire, /obj/structure/prop/ice_colony/ground_wire{ @@ -51321,14 +50969,18 @@ /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 }, -/turf/open/auto_turf/shale/layer1, +/turf/open/asphalt/cement{ + icon_state = "cement12" + }, /area/lv522/outdoors/colony_streets/north_east_street) "tJG" = ( /obj/structure/stairs/perspective{ icon_state = "p_stair_full" }, /obj/structure/pipes/standard/manifold/hidden/green, -/turf/open/auto_turf/sand_white/layer0, +/turf/open/asphalt/cement{ + icon_state = "cement12" + }, /area/lv522/outdoors/colony_streets/north_east_street) "tJM" = ( /obj/structure/pipes/standard/simple/hidden/green{ @@ -51386,9 +51038,6 @@ /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/colony_streets/south_street) "tKC" = ( -/obj/structure/machinery/light{ - dir = 1 - }, /obj/effect/decal/warning_stripes{ icon_state = "N"; pixel_y = 1 @@ -51484,13 +51133,9 @@ }, /area/lv522/atmos/cargo_intake) "tLX" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/turf/open/floor{ - dir = 4; - icon_state = "whiteyellowfull" +/turf/open/floor/almayer{ + dir = 1; + icon_state = "w-y0" }, /area/lv522/oob/w_y_vault) "tMk" = ( @@ -52282,16 +51927,13 @@ "ubF" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/pipes/standard/simple/hidden/green, -/turf/open/floor/plating/plating_catwalk/prison, +/turf/open/floor/prison, /area/lv522/atmos/sewer) "ubH" = ( /obj/structure/stairs/perspective{ - dir = 6; icon_state = "p_stair_full" }, -/turf/open/asphalt/cement{ - icon_state = "cement12" - }, +/turf/open/asphalt/cement, /area/lv522/outdoors/colony_streets/central_streets) "ubJ" = ( /obj/structure/blocker/invisible_wall, @@ -52822,7 +52464,7 @@ /area/lv522/indoors/c_block/garage) "ujy" = ( /obj/effect/decal/warning_stripes{ - icon_state = "N"; + icon_state = "NW-out"; pixel_y = 1 }, /turf/open/auto_turf/shale/layer1, @@ -53154,8 +52796,8 @@ /turf/open/floor/prison, /area/lv522/indoors/c_block/mining) "urp" = ( -/obj/structure/platform{ - dir = 1 +/obj/structure/platform_decoration{ + dir = 4 }, /obj/structure/largecrate/random, /turf/open/asphalt/cement, @@ -53504,13 +53146,6 @@ icon_state = "darkredfull2" }, /area/lv522/indoors/a_block/security) -"uxT" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 - }, -/turf/open/auto_turf/sand_white/layer0, -/area/lv522/outdoors/colony_streets/south_east_street) "uya" = ( /turf/open/floor/prison{ icon_state = "darkbrownfull2" @@ -54344,13 +53979,6 @@ icon_state = "blue_plate" }, /area/lv522/indoors/a_block/admin) -"uNT" = ( -/obj/structure/prop/invuln/fusion_reactor, -/obj/structure/prop/turbine_extras/left, -/turf/open/floor/corsat{ - icon_state = "plate" - }, -/area/lv522/atmos/east_reactor) "uNW" = ( /obj/structure/surface/table/almayer, /obj/item/trash/ceramic_plate{ @@ -55009,7 +54637,7 @@ "val" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/surface/table/woodentable/fancy, -/obj/structure/machinery/computer/cameras/wooden_tv/prop{ +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{ dir = 1; pixel_y = 3 }, @@ -55170,8 +54798,8 @@ /turf/open/floor/prison, /area/lv522/indoors/a_block/dorms) "vdp" = ( -/obj/structure/platform{ - dir = 1 +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" }, /turf/open/asphalt/cement{ icon_state = "cement12" @@ -55874,6 +55502,16 @@ }, /area/lv522/landing_zone_forecon/UD6_Tornado) "vqe" = ( +/obj/structure/filingcabinet{ + density = 0; + pixel_x = -8; + pixel_y = 16 + }, +/obj/structure/filingcabinet{ + density = 0; + pixel_x = 8; + pixel_y = 16 + }, /obj/structure/machinery/light{ dir = 8 }, @@ -55960,14 +55598,18 @@ }, /area/lv522/indoors/a_block/admin) "vrE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/warning_stripes{ - icon_state = "S"; - pixel_y = -1 +/obj/structure/surface/table/almayer, +/obj/item/stack/sheet/mineral/gold{ + amount = 60; + pixel_y = 6 }, -/turf/open/floor{ +/obj/item/stack/sheet/mineral/gold{ + amount = 60; + pixel_y = 12 + }, +/turf/open/floor/strata{ dir = 4; - icon_state = "whiteyellowfull" + icon_state = "white_cyan1" }, /area/lv522/oob/w_y_vault) "vrV" = ( @@ -56983,14 +56625,6 @@ /area/lv522/indoors/a_block/fitness) "vJw" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/storage/backpack/marine/satchel{ - desc = "It's the heavy-duty black polymer kind. Time to take out the trash!"; - icon = 'icons/obj/janitor.dmi'; - icon_state = "trashbag3"; - name = "trash bag"; - pixel_x = -4; - pixel_y = 5 - }, /turf/open/floor/prison{ dir = 4; icon_state = "cell_stripe" @@ -57474,6 +57108,9 @@ /obj/structure/platform{ dir = 4 }, +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" + }, /turf/open/asphalt/cement, /area/lv522/outdoors/colony_streets/central_streets) "vSO" = ( @@ -57852,10 +57489,6 @@ }, /turf/open/floor/prison, /area/lv522/indoors/c_block/mining) -"vZY" = ( -/obj/structure/cargo_container/grant/rightmid, -/turf/open/auto_turf/shale/layer1, -/area/lv522/outdoors/w_rockies) "wac" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison{ @@ -58452,9 +58085,8 @@ /area/lv522/indoors/lone_buildings/outdoor_bot) "wjP" = ( /obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 + icon_state = "E"; + pixel_x = 1 }, /turf/open/floor{ dir = 4; @@ -58570,10 +58202,6 @@ icon_state = "marked" }, /area/lv522/indoors/lone_buildings/engineering) -"wnl" = ( -/obj/structure/cargo_container/wy/mid, -/turf/open/auto_turf/shale/layer1, -/area/lv522/outdoors/w_rockies) "wnu" = ( /obj/structure/cargo_container/wy/right, /turf/open/auto_turf/shale/layer1, @@ -58778,10 +58406,6 @@ "wrC" = ( /turf/closed/wall/strata_outpost, /area/lv522/indoors/a_block/corpo) -"wrY" = ( -/obj/structure/platform, -/turf/open/asphalt/cement, -/area/lv522/outdoors/colony_streets/east_central_street) "wsf" = ( /obj/structure/curtain/red, /obj/structure/pipes/standard/simple/hidden/green{ @@ -58822,15 +58446,6 @@ /mob/living/simple_animal/mouse, /turf/open/floor/plating, /area/lv522/indoors/c_block/cargo) -"wsX" = ( -/obj/structure/stairs/perspective{ - dir = 5; - icon_state = "p_stair_full" - }, -/turf/open/asphalt/cement{ - icon_state = "cement4" - }, -/area/lv522/outdoors/colony_streets/north_street) "wsY" = ( /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 @@ -60005,8 +59620,7 @@ /area/lv522/atmos/sewer) "wRk" = ( /obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 + icon_state = "W" }, /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/colony_streets/south_east_street) @@ -60657,18 +60271,10 @@ icon_state = "brown" }, /area/lv522/atmos/cargo_intake) -"xfe" = ( -/obj/structure/cargo_container/grant/left, -/turf/open/auto_turf/shale/layer1, -/area/lv522/outdoors/colony_streets/north_west_street) "xfp" = ( /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor/plating/plating_catwalk/prison, /area/lv522/indoors/a_block/bridges/dorms_fitness) -"xfr" = ( -/obj/structure/cargo_container/grant/rightmid, -/turf/open/auto_turf/shale/layer1, -/area/lv522/outdoors/colony_streets/north_west_street) "xfu" = ( /obj/item/ammo_magazine/rifle/heap{ current_rounds = 0 @@ -60981,6 +60587,10 @@ layer = 2.9 }, /obj/effect/decal/cleanable/liquid_fuel, +/obj/structure/stairs/perspective{ + dir = 1; + icon_state = "p_stair_full" + }, /turf/open/asphalt/cement{ icon_state = "cement4" }, @@ -61211,13 +60821,6 @@ icon_state = "greenfull" }, /area/lv522/indoors/a_block/fitness) -"xqi" = ( -/obj/structure/platform{ - dir = 1 - }, -/obj/structure/largecrate/random, -/turf/open/floor/plating, -/area/lv522/indoors/c_block/cargo) "xqj" = ( /obj/effect/landmark/yautja_teleport, /turf/open/auto_turf/shale/layer2, @@ -61297,14 +60900,7 @@ /turf/open/floor/plating, /area/lv522/landing_zone_2) "xsE" = ( -/obj/structure/platform{ - dir = 4 - }, -/obj/structure/platform, -/obj/structure/platform_decoration{ - dir = 6 - }, -/turf/open/gm/river, +/turf/open/floor/prison, /area/lv522/atmos/sewer) "xsN" = ( /obj/structure/largecrate/random/barrel, @@ -61453,11 +61049,10 @@ }, /area/lv522/indoors/a_block/bridges) "xwv" = ( -/obj/structure/platform_decoration{ - dir = 4 +/obj/structure/stairs/perspective{ + icon_state = "p_stair_full" }, /obj/structure/stairs/perspective{ - dir = 10; icon_state = "p_stair_full" }, /turf/open/asphalt/cement{ @@ -61556,10 +61151,6 @@ icon_state = "plate" }, /area/lv522/atmos/cargo_intake) -"xyf" = ( -/obj/structure/cargo_container/kelland/left, -/turf/open/auto_turf/sand_white/layer0, -/area/lv522/outdoors/colony_streets/north_west_street) "xyi" = ( /obj/structure/closet/emcloset, /turf/open/floor/prison{ @@ -61643,9 +61234,6 @@ icon_state = "marked" }, /area/lv522/indoors/c_block/mining) -"xAw" = ( -/turf/closed/wall/strata_outpost/reinforced/hull, -/area/lv522/indoors/a_block/bridges/op_centre) "xAF" = ( /obj/structure/pipes/standard/manifold/hidden/green{ dir = 4 @@ -61748,15 +61336,9 @@ /area/lv522/outdoors/n_rockies) "xBS" = ( /obj/structure/stairs/perspective{ - dir = 6; icon_state = "p_stair_full" }, -/obj/structure/platform_decoration{ - dir = 8 - }, -/turf/open/asphalt/cement{ - icon_state = "cement12" - }, +/turf/open/asphalt/cement, /area/lv522/outdoors/colony_streets/east_central_street) "xCG" = ( /obj/structure/bed/chair/comfy{ @@ -62342,14 +61924,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison, /area/lv522/indoors/a_block/admin) -"xOB" = ( -/obj/structure/platform{ - dir = 1 - }, -/turf/open/asphalt/cement{ - icon_state = "cement12" - }, -/area/lv522/outdoors/colony_streets/east_central_street) "xOD" = ( /obj/item/clothing/glasses/mbcg, /turf/open/floor/prison, @@ -62361,15 +61935,6 @@ icon_state = "marked" }, /area/lv522/indoors/a_block/fitness) -"xOS" = ( -/obj/structure/machinery/power/apc/weak{ - dir = 1 - }, -/obj/effect/landmark/lv624/fog_blocker/short, -/turf/open/asphalt/cement{ - icon_state = "cement12" - }, -/area/lv522/landing_zone_1) "xPa" = ( /obj/structure/machinery/conveyor, /turf/open/floor/plating, @@ -62863,8 +62428,9 @@ }, /area/lv522/outdoors/colony_streets/north_street) "xWO" = ( -/obj/structure/platform{ - dir = 1 +/obj/structure/stairs/perspective{ + dir = 10; + icon_state = "p_stair_full" }, /turf/open/asphalt/cement{ icon_state = "cement12" @@ -63227,7 +62793,9 @@ /obj/structure/platform{ dir = 8 }, -/obj/structure/blocker/invisible_wall, +/obj/structure/largecrate/random{ + layer = 2.9 + }, /turf/open/floor/plating, /area/lv522/indoors/c_block/cargo) "ydz" = ( @@ -66090,9 +65658,9 @@ vtc jrT cpy cpy -kBT -uiK -mZM +sRA +sRA +sRA sRA sRA rWS @@ -66317,9 +65885,9 @@ hSi vtc cpy cpy -vZY -dcR -bQq +rWS +sRA +sRA sRA rWS pRK @@ -66544,9 +66112,9 @@ lMH vtc cpy cpy -kLQ +rWS +rWS sRA -jHa sRA obe pRM @@ -67094,7 +66662,7 @@ cpy tFx tFx wnP -rzz +evg syM rnT lBl @@ -67323,7 +66891,7 @@ moz mvP ggS tFx -xOS +rnT lBl ttT pkH @@ -68152,9 +67720,9 @@ cpy cpy cpy rWS -sRA -sRA -sRA +jVS +kBD +kBT ien ien ien @@ -68601,7 +68169,7 @@ cpy cpy sRA sRA -sRA +jHa cpy rWS rWS @@ -68828,7 +68396,7 @@ cpy cpy cpy sRA -sRA +nvB abt rWS sRA @@ -69043,13 +68611,13 @@ auG uWO vtc vtc -kBD +sRA cpy cpy sRA -sRA +bBB rWS -iXI +gtS sRA cpy cpy @@ -69270,13 +68838,13 @@ auG uWO uWO vtc -kBD +sRA cpy cpy sRA +bQq rWS -rWS -kXo +jGh sRA sRA cpy @@ -69497,11 +69065,11 @@ vtc vtc uWO vtc -kBT +sRA uiK uiK sRA -uiK +dcR sRA bKq goY @@ -69725,7 +69293,7 @@ vtc vtc uWO prT -kWD +sRA tTr pUR uiK @@ -69744,8 +69312,8 @@ goY rsF sRA sRA -wms -ien +sRA +clY sjY clY clY @@ -69951,7 +69519,7 @@ vtc vtc vtc uWO -kLQ +sRA sRA uiK uiK @@ -69971,7 +69539,7 @@ hKE viA sRA sRA -wnl +sRA sjY sjY clY @@ -70178,7 +69746,7 @@ uWO vtc vtc uWO -kNj +uiK sRA uiK uiK @@ -70198,7 +69766,7 @@ uiK hRu uiK sRA -wnu +sRA sjY clY clY @@ -70634,8 +70202,8 @@ uWO vtc bBB nFO -lhC -lxj +uiK +uiK sRA uiK uiK @@ -70654,7 +70222,7 @@ uiK uiK sRA clY -xfe +clY clY xGc lvb @@ -70713,10 +70281,10 @@ nJv xvQ gcX kvq -ivK +nJv wng tCg -ivK +nJv xvQ xvQ xvQ @@ -70881,7 +70449,7 @@ uiK uiK uiK wKj -xfr +clY clY hJZ slO @@ -71108,8 +70676,8 @@ rGi uiK uiK hJZ -jGh -xyf +clY +hJZ hJZ slO hJZ @@ -71336,7 +70904,7 @@ sRA ien ien ien -jVS +hJZ hJZ slO hJZ @@ -71998,9 +71566,9 @@ ien sjY hJZ ien -qtl -qMX -qXz +clY +clY +rnG kYm hJZ hJZ @@ -79075,20 +78643,20 @@ hhD oLz rnA pZi -ahP +fpB pQE ooG rAK oSH qSk pQE +ubH rMF xyN xyN xyN xyN xyN -xyN rMF nLm nLm @@ -79146,11 +78714,11 @@ aPu cGw wIr wIr -fnA -cxv -ofi -ofi -hov +jhY +kkq +uOd +uOd +kLO fTN fTN fTN @@ -79159,8 +78727,8 @@ fTN lvl ndZ gBv -pAj -fnA +lul +jhY wIr wIr xSA @@ -79302,17 +78870,17 @@ fjr bPH dox tGl -crH +miz ofd rqs uPy qGK qSk ofd +ubH spo vXc vXc -vXc mqC pwz dFg @@ -79360,10 +78928,10 @@ tSL tSL tSL tSL -dbP -cbR -cbR -dbP +fnA +uOd +uOd +fnA wIr wIr mDz @@ -79386,7 +78954,7 @@ cbR cbR cbR cbR -dbP +moe wIr wIr vDL @@ -79452,7 +79020,7 @@ xZw saC saC saC -qpD +saC saC bzC iAv @@ -79529,15 +79097,15 @@ fjr rZc dox tGl -crH +miz ofd qSk xeg uMO rqs ofd +ubH spo -vXc laX dFH vXc @@ -79756,15 +79324,15 @@ fjr rZc dox tGl -crH +miz ofd qSk xeg uMO rqs ofd +ubH spo -vXc rjn bVu vXc @@ -79813,7 +79381,7 @@ tSL tne kGm lML -hgo +yfR wIr tmy hYL @@ -79881,10 +79449,10 @@ dLs afA saC saC -esB -sGF -dLs -fcW +saC +saC +yeS +jKu xho otQ otQ @@ -79983,15 +79551,15 @@ nQx rvx fZy hAg -crH +miz ofd qiC xeg qGK rqs ofd +ubH spo -vXc qbI qlD qpz @@ -80040,13 +79608,13 @@ lIy xNR yfS yfS -kLO +yfS cfz jmv tkf dgY cfz -cHb +aPu qzQ oLa uWT @@ -80107,8 +79675,8 @@ aut dOw ajw bRN -sGF -euN +saC +saC saC yeS jKu @@ -80210,20 +79778,20 @@ spe nQx fjr rCV -crH +miz pQE pQE rAK oSH pQE pQE +ubH spo vXc vXc vXc vXc vXc -vXc yiM yiM yiM @@ -80267,13 +79835,13 @@ cKi msj msj phu -iLC +wyy tIT olz pOs olz tIT -skS +jey iXM uIk uWT @@ -80332,7 +79900,7 @@ cNV cNV cCC xho -xho +vDV uAd saC saC @@ -80362,7 +79930,7 @@ saC saC saC saC -oaj +bzC iAv jqL vTK @@ -80437,15 +80005,15 @@ ugV jXQ nQx fjr -nIu +miz ofd iiL xeg uMO oXF ofd -aPS -vXc +ubH +spo vXc vXc vXc @@ -80500,7 +80068,7 @@ tmy pfD hyf wIr -ttd +dgY aPu xgH uWT @@ -80559,7 +80127,7 @@ cNV lxW dCx dtr -xho +vDV uAd saC saC @@ -80619,11 +80187,11 @@ pjJ lCH vjW pjJ -ien +clY hJZ hJZ jqF -vne +oxt hhD ahP xyL @@ -80671,8 +80239,8 @@ ocn qGK xvW jct -qQM -vXc +ubH +spo pgm vXc yiM @@ -80786,7 +80354,7 @@ cNV fcV dCx otQ -xho +vDV uAd saC kwJ @@ -80845,12 +80413,12 @@ ylm pjJ lCH pjJ -ien -ien -ien +pjJ +clY +clY hJZ hJZ -vne +oxt fjr crH xyL @@ -80898,8 +80466,8 @@ iaY bGT xvW tRd -qQM -vXc +ubH +spo tpD qQi qQi @@ -80949,10 +80517,10 @@ tSL tSL tSL tSL -sYv -ncg -ncg -sYv +tOo +oIu +oIu +tOo wIr wIr pXz @@ -80975,7 +80543,7 @@ ncg ncg ncg ncg -sYv +mRh wIr wIr vDL @@ -81013,7 +80581,7 @@ cNV saC otQ otQ -xho +vDV uAd xgl kwJ @@ -81073,11 +80641,11 @@ vjW lCH pjJ pjJ -pjJ -ien -ien -ien -ien +clY +clY +clY +clY +oxt fjr crH xyL @@ -81118,7 +80686,7 @@ rCV cpy fjr fjr -wsX +miz ofd oWV xeg @@ -81126,7 +80694,7 @@ qGK oWV ofd ubH -vXc +spo yiM yiM yiM @@ -81180,7 +80748,7 @@ lyD mPr hFX bCy -tOo +iUX wIr wIr hwa @@ -81189,21 +80757,21 @@ clR dne wIr wIr -dGD -lyD -mPr -mPr -mPr -mPr -mPr -mPr -nax -nax -mPr -mPr -mPr -bCy -dGD +jic +kHX +oIu +oIu +oIu +oIu +oIu +oIu +oIu +oIu +oIu +oIu +oIu +nlY +nRy wIr wIr epq @@ -81240,13 +80808,13 @@ saC saC otQ otQ -xho -uAd -dEk -xho -xho -yeS -jKu +apS +dAm +aDj +cJo +cJo +dLs +cfv xho otQ saC @@ -81300,10 +80868,10 @@ vjW hdu nCa nCa -nCa -nCa -nCa -gtS +yhK +yhK +yhK +iSf oVO nQx crH @@ -81345,15 +80913,15 @@ fjr cpy cpy fjr -crH +miz pQE pQE oFN cXm pQE pQE +ubH spo -vXc yiM yiM iBY @@ -81407,7 +80975,7 @@ mPr mPr hFX hFX -bCy +iVk bYV wIr wIr @@ -81416,7 +80984,7 @@ mpF wIr wIr rZK -lyD +jig mPr mPr mPr @@ -81473,7 +81041,7 @@ dEk yeS yeS yeS -jKu +oML xho saC saC @@ -81522,15 +81090,15 @@ mjF gXI joJ urp -hTf -nYz -nYz -nYz -nYz -nYz -nYz -taS -vjW +gWI +sQu +sQu +sQu +sQu +ydA +ydA +hiK +sjY oxt jDO sSn @@ -81572,15 +81140,15 @@ cpy cpy cpy fjr -crH +miz ofd otj uPy uMO rmi ofd +ubH spo -vXc yiM yiM qCY @@ -81643,7 +81211,7 @@ jmv hYL rQg vdp -mPr +xAR mPr tNc gUj @@ -81700,7 +81268,7 @@ ejo dOw dOw dOw -fda +gTw tiQ tiQ tiQ @@ -81748,8 +81316,8 @@ kri kEj ldy joJ -gMe -jkO +gWI +gWI oUq oUq tVa @@ -81799,15 +81367,15 @@ cpy cpy cpy fjr -crH +miz ofd qSk xeg qGK qSk ofd +ubH spo -vXc yiM yiM qCY @@ -81870,7 +81438,7 @@ tkf hYL rQg vdp -mPr +xAR mPr tNc nax @@ -81925,9 +81493,9 @@ saC saC saC otQ -eyh -cRN -eQu +otQ +otQ +otQ saC saC saC @@ -82033,10 +81601,10 @@ xeg qGK qSk ofd +ubH spo yiM yiM -yiM qCY uie yiM @@ -82097,7 +81665,7 @@ tkf hYL rQg vdp -mPr +xAR mPr mPr iCb @@ -82152,7 +81720,7 @@ saC saC saC saC -oEw +yeS saC saC saC @@ -82260,10 +81828,10 @@ xeg qGK rqs ofd +ubH spo yiM yiM -yiM bYS xLY yiM @@ -82324,7 +81892,7 @@ tkf hYL rQg vdp -mPr +xAR mPr nax bjX @@ -82379,7 +81947,7 @@ saC saC saC saC -qpD +saC saC saC saC @@ -82488,7 +82056,7 @@ wwX rqs pQE vSN -cWT +hHh cWT cWT cWT @@ -82606,7 +82174,7 @@ saC saC saC otQ -eVg +otQ otQ saC saC @@ -82778,7 +82346,7 @@ dgY wIr wIr vdp -mPr +xAR mPr aPe ylo @@ -82833,7 +82401,7 @@ saC wLp kbV kbV -gPq +kbV kbV kbV saC @@ -83005,7 +82573,7 @@ tkf pfD rQg vdp -mPr +xAR mPr uXp ylo @@ -83060,9 +82628,9 @@ wLp qUQ qUQ qUQ -ezj -cSh -feF +qUQ +qUQ +sxU qUQ qUQ qUQ @@ -83100,17 +82668,17 @@ saC saC saC saC -tTv -tTv -tTv -tTv -tTv -tTv -tTv -tTv -tTv -tTv -tTv +oUq +oUq +oUq +oUq +oUq +oUq +oUq +oUq +oUq +oUq +oUq oUq hWC vcF @@ -83289,8 +82857,8 @@ dDC dDC dDC dDC -fhQ -fpB +dDC +dDC dDC saC saC @@ -83330,14 +82898,14 @@ saC saC saC saC -tTv +oUq men xVB onM men iQb pXh -tTv +oUq oUq tTl bJN @@ -83459,7 +83027,7 @@ oLa hYL rQg vdp -mPr +xAR qbG aPe nnG @@ -83517,7 +83085,7 @@ tjg kbV tjg tjg -gPq +kbV saC saC saC @@ -83744,7 +83312,7 @@ tjg kbV tjg tjg -gPq +kbV saC saC saC @@ -83971,7 +83539,7 @@ kbV xiY fKt fKt -vzd +ear tQw saC saC @@ -84140,7 +83708,7 @@ tkf pfD rQg dQQ -nax +xAR nax uvg cfT @@ -84198,7 +83766,7 @@ xiY xiY tjg tjg -gPq +kbV tjg tjg hJB @@ -84367,7 +83935,7 @@ jmv wIr wIr glV -mPr +xAR nax nax uvg @@ -84438,11 +84006,11 @@ hLY saC lmY iBI -iQe +hmV pfj -jjV +hdQ cuu -jVC +ban tiQ tiQ kEx @@ -84454,9 +84022,9 @@ saC uhx pwX pwX +qjG saC -saC -tTv +oUq men sse iZS @@ -84465,14 +84033,14 @@ wIx jfH men iQb -tTv +oUq bUN saC saC saC saC saC -tTv +oUq mVm sBH kXY @@ -84594,7 +84162,7 @@ jmv wIr wIr vdp -mPr +xAR nax nax nax @@ -84681,9 +84249,9 @@ saC yaj qjG qjG -saC -saC -tTv +qjG +pwC +oUq nHg hzV iZS @@ -84691,15 +84259,15 @@ jkJ xLi men men -tTv -tTv -tTv +oUq +oUq +oUq saC saC saC saC -tTv -tTv +oUq +oUq mVm hrl kXY @@ -84821,7 +84389,7 @@ tkf pfD rQg vdp -mPr +xAR mPr nax nax @@ -84892,33 +84460,33 @@ hLY qJE ujg iDg -iRV +hna yiu -xzu -jCQ -jWr +aWX +jef +pfj xmD xmD -jVC +bXl miH saC saC saC -qgx +cYe yaj qjG qjG -qgx -saC -tTv +rbZ +pwC +oUq men kUF gWu neI xLi men -tTv -tTv +oUq +oUq oUq oUq oUq @@ -85048,7 +84616,7 @@ tkf hYL rQg vdp -mPr +xAR mPr nax nax @@ -85123,28 +84691,28 @@ iSc wTq wTq wTq -jWB +bhh xYD kry -jjV +cxE miH saC saC saC -pwC +dhJ yaj qjG qjG -saC -saC -tTv -tTv +qjG +dhJ +oUq +oUq cUA nMX pco jzB -tTv -tTv +oUq +oUq oUq oUq ucY @@ -85246,11 +84814,11 @@ gwP ild xJd jwM -khd +jmG wZt jwM nPc -khd +jmG xDD xDD jmG @@ -85275,7 +84843,7 @@ oLa hYL rQg vdp -mPr +xAR mPr mPr nax @@ -85347,23 +84915,23 @@ qJE lmY iFV iDg -jey +hdQ jlh jEk -hef +bCd kmP xmD -jVC +bXl kXa saC saC saC -pwC +dhJ yaj qjG qjG -saC -saC +qjG +dhJ saC saC afL @@ -85371,7 +84939,7 @@ sfc xSE bCX iQb -tTv +oUq oUq cCL sGv @@ -85473,11 +85041,11 @@ eHF ftK pMs jEW -khd +jmG nnB fvN ful -khd +jmG xDD xDD jmG @@ -85502,7 +85070,7 @@ dgY hYL rQg vdp -mPr +xAR mPr mPr mPr @@ -85588,17 +85156,17 @@ pwC qjG yaj qjG +qjG pwC saC saC saC -saC hXt saC jkJ mIq iQb -tTv +oUq oUq vVx fHH @@ -85700,11 +85268,11 @@ jmG jmG jmG jmG -khd +jmG eNc wZy teO -khd +jmG aZj aZj jmG @@ -85720,16 +85288,16 @@ jmG xAR mPr hFX -tEu -bYV +iVU +jeD wIr wIr bZV mpF wIr wIr -rZK -gGM +jfK +jCQ mPr mPr mPr @@ -85825,7 +85393,7 @@ kwg jkJ xLi iQb -tTv +oUq oUq oUq suS @@ -85947,7 +85515,7 @@ jmG xAR mPr tEu -tOo +iUX wIr wIr pNJ @@ -85956,7 +85524,7 @@ xnp tPa wIr wIr -dGD +jIQ mcO mPr mPr @@ -86052,7 +85620,7 @@ kwg jkJ xLi nMw -tTv +oUq oUq hEJ kgR @@ -86164,7 +85732,7 @@ qNR ifB ptp jmG -khd +jmG ycH gQV piY @@ -86279,7 +85847,7 @@ uZV neI xLi men -tTv +oUq oUq xuQ fHH @@ -87196,15 +86764,15 @@ eZF lfj lfj yje +lfj bjd -nTj -nTj -nTj +qqN +qqN sPH -nTj -nTj -nTj -cpy +hXP +qqN +qqN +qqN ien rxI nri @@ -87421,17 +86989,17 @@ tiQ bjd pqQ tdM -vFD +gqG yje +lfj bjd -nTj qqN vqe bjC -vqe +bjC isL -nTj -ien +iGl +qqN ien ien nGU @@ -87632,7 +87200,7 @@ saC cnA hdQ xmD -xQc +qjG qJE xQc qJE @@ -87650,15 +87218,15 @@ qEQ lYK hvh pqQ +lfj bjd -nTj qqN tbK oan wjP -isL -nTj -cpy +ifh +iGl +qqN ien rxI nLF @@ -87753,12 +87321,12 @@ yhi xPK oTG jmG -khd +jmG pjm opQ ydy -ydy -mUo +opQ +opQ jmG xzK xxq @@ -87858,8 +87426,8 @@ saC eBm gWg xmD -xQc -xQc +qjG +qjG qJE xQc xQc @@ -87877,15 +87445,15 @@ qEQ lYK hvh pqQ +lfj bjd -nTj -ipH -cbn -aLG +qqN +vrE +mNI tLX +igp bjC -nTj -ien +qqN ien ien rxI @@ -87983,9 +87551,9 @@ jmG uYq aVX meb -ubJ -ubJ -ubJ +meb +meb +aVX jmG hMz fWG @@ -88050,14 +87618,14 @@ aEL aEL aEL jcl -jVa +jcl jcl jcl ewp fIe fIe fIe -aWX +fIe fIe fMd ewt @@ -88083,9 +87651,9 @@ mZU wXA hwG syg -jjV xmD -cHu +xmD +tMV jVC qJE qJE @@ -88104,15 +87672,15 @@ qEQ lYK hvh pqQ +lfj bjd -nTj -icM -cbn +qqN +hNj mNI -tLX +hXZ +igp bjC -nTj -ien +qqN ien ien ien @@ -88205,14 +87773,14 @@ yhi spM jmG jmG -khd +jmG vBd brk rdF ild -ban -ubJ -ubJ +jwM +iTn +iUT jmG hMz fWG @@ -88311,8 +87879,8 @@ yiu cpZ kda qJE -xQc -xQc +qjG +qjG xmD mPY qJE @@ -88331,15 +87899,15 @@ eZF lYK hvh eZF +lfj bjd -nTj -ipH +qqN vrE aJr -tLX +hYk +igp bjC -nTj -ien +qqN ien ien cpy @@ -88435,7 +88003,7 @@ jmG eSy ild dco -ild +iSF jwM liN ild @@ -88538,7 +88106,7 @@ yiu wvB xmD qJE -xQc +qjG xmD xmD mPY @@ -88558,15 +88126,15 @@ pqQ lYK hvh eZF +lfj bjd -nTj qqN -gzw +tbK spn nCC -isL -nTj -cpy +igA +iGl +qqN cpy cpy cpy @@ -88659,8 +88227,8 @@ onX wiE uFF wFB -xqi -ild +jCU +iSF ild ild hOB @@ -88730,7 +88298,7 @@ aLJ dDS iZI fFw -fib +iZI jcl aCQ dXd @@ -88739,7 +88307,7 @@ jcl swu hwt jcl -eHp +swu dHk vAu lkx @@ -88764,8 +88332,8 @@ yiu yiu wvB xmD -xQc -xQc +qjG +qjG hdQ iQe vIS @@ -88785,15 +88353,15 @@ pqQ lYK hvh pqQ +lfj bjd -nTj qqN +tbK bjC -gNN +hZn bjC -isL -nTj -cpy +iGl +qqN cpy cpy cpy @@ -88957,7 +88525,7 @@ iZI dDS iZI iZI -svW +iZI jcl aCQ evx @@ -88966,11 +88534,11 @@ nTl jcl hwt jcl -svW +iZI dYX -hRy -gqG -gOo +lXC +lXC +lXC saC saC saC @@ -88991,7 +88559,7 @@ yiu uul dZG xmD -seF +qjG qJE lrQ dRy @@ -89012,15 +88580,15 @@ eZF lYK hvh pqQ +lfj bjd -nTj -nTj -nTj -nTj -nTj -nTj -nTj -cpy +qqN +qqN +qqN +qqN +qqN +qqN +qqN cpy cpy cpy @@ -89070,7 +88638,7 @@ pNs xGf xGf whR -pGl +kqb mOG qcA fpl @@ -89184,7 +88752,7 @@ fib fXU fib fib -svW +aLJ jcl aCQ emr @@ -89193,12 +88761,12 @@ nTl dBe qZB jVa -svW +nno dYX -jcl -jcl -gOG -heF +lXC +lXC +lXC +aCQ saC saC saC @@ -89218,7 +88786,7 @@ yiu hLY knt kOF -seF +qjG qJE iQe baG @@ -89239,14 +88807,14 @@ pqQ lYK hvh qEQ -bjd -moe -moe -moe -moe -moe -moe -moe +lfj +mPj +mPj +mPj +mPj +mPj +mPj +mPj cpy cpy cpy @@ -89411,20 +88979,20 @@ iZI dDS iZI iZI -svW +aLJ jVa fLP wSb nTl nTl -jcl +akk hwt jcl -svW +nno dYX -hRy -grz -uNT +lXC +lXC +lXC aCQ saC saC @@ -89441,11 +89009,11 @@ vjl vjl xzu xzu -xzu +aWX hLY knt -xQc -xQc +qjG +qjG srf dRy yiu @@ -89466,16 +89034,16 @@ pqQ lYK hvh qEQ +lfj +mPj +hgo +hNV +gOo +lfj bjd -bjd -bjd -bjd -bjd -bjd -bjd -alI -alI -alI +mPj +mPj +cpy cpy cpy cpy @@ -89524,7 +89092,7 @@ mUS jxT kqb kqb -pGl +kqb kqb kqb bJp @@ -89647,7 +89215,7 @@ fLA eVW hwt jcl -svW +nno rbW tiQ tiQ @@ -89671,7 +89239,7 @@ vlq xwZ syg iqz -xQc +qjG qJE qJE aox @@ -89693,16 +89261,16 @@ pqQ lYK hvh eZF -bjd -okj +lfj +vJw vJw apd apd lfj +lfj +lfj bjd -bjd -bjd -alI +mPj cpy cpy cpy @@ -89751,7 +89319,7 @@ oMn oYZ pTl pKX -nlY +xBS xXg kqb kqb @@ -89794,7 +89362,7 @@ wiE wiE uGl six -sUj +jCU jwM ild vBd @@ -89873,12 +89441,12 @@ ojn swu swu hwt -aEL -svW +jcl +iZI dYX -hRy -ifh -gOo +lXC +lXC +lXC aCQ lXC saC @@ -89927,9 +89495,9 @@ woU woU xXv lfj -bjd -bjd -alI +lfj +lfj +mPj cpy cpy cpy @@ -89954,9 +89522,9 @@ uog xBo nnz oVD -plz +xjF xFp -sYk +xZP uNB xUQ ykc @@ -89978,8 +89546,8 @@ djM xAZ pTl uNB -nlY -ylr +xBS +xXg wIi kqb kqb @@ -90021,7 +89589,7 @@ yhi wiE spM jmG -aza +iRV jwM ild vBd @@ -90100,21 +89668,21 @@ swu swu swu hwt -aEL -cWH -dYX -jcl jcl -gOG -heU +swu +dYX +lXC +lXC +lXC +aCQ lXC ijO saC tiQ -tiQ saC saC -tiQ +saC +saC tiQ saC saC @@ -90125,7 +89693,7 @@ vjl qjG hLY knt -whK +tMV xmD hna yiu @@ -90144,8 +89712,8 @@ pAw tiQ bjd yje -lYK -jZE +eMm +grz hNP hNP hNP @@ -90155,8 +89723,8 @@ vFD dfK xXv lfj -bjd -alI +lfj +mPj cpy cpy cpy @@ -90183,7 +89751,7 @@ jRT jRT ryO xFp -sYk +xZP uNB xUQ xAZ @@ -90205,8 +89773,8 @@ xOw ykT xUQ uNB -xOB -tTD +xBS +xXg ylr ylr ylr @@ -90248,7 +89816,7 @@ wiE wEW hzu wFB -bhh +jCU ild jwM vBd @@ -90328,20 +89896,20 @@ swu swu hwt jcl -mrL +swu dYX -hRy -oUC -uNT +lXC +lXC +lXC aCQ lXC lXC tiQ tiQ -icr -kHX -iSF -jeD +saC +saC +saC +saC tiQ saC saC @@ -90371,19 +89939,19 @@ jpm tiQ bjd yje -abL -qsW +lfj +eMm qsW qsW qsW cgn mqx jZE -vFD +hZK pqQ qpd -bjd -alI +gOo +mPj cpy cpy cpy @@ -90410,7 +89978,7 @@ jRT sgV ryO xFp -sYk +xZP uNB pTl xAZ @@ -90432,8 +90000,8 @@ xOw ykT xUQ uNB -xOB -tTD +xBS +dCJ tTD sKJ sKJ @@ -90475,7 +90043,7 @@ taw aYQ gJM jmG -sBz +jCU ild jwM okA @@ -90555,7 +90123,7 @@ eAz lFk hwt jcl -mrL +swu dYX tiQ tiQ @@ -90564,11 +90132,11 @@ hfi lXC lXC tiQ -hTI -aCQ -dhJ -iTn -jfK +saC +saC +saC +saC +saC tiQ jEq saC @@ -90579,7 +90147,7 @@ yiu yiu lDc lMN -whK +tMV mnw qjG yiu @@ -90606,11 +90174,11 @@ tyU lYK mqx mqx -hvh +icr pqQ qpd -bjd -alI +gOo +mPj cpy cpy cpy @@ -90637,7 +90205,7 @@ ydb val ryO xFp -sYk +xZP uNB pTl ykT @@ -90659,8 +90227,8 @@ xOw xAZ pTl uNB -xOB -tTD +xBS +dCJ tTD sKJ tTD @@ -90693,7 +90261,7 @@ fdb vNk vNk vNk -eds +vNk vNk mFA eur @@ -90782,20 +90350,20 @@ nTl nTl nTl lXC -eHp +swu dYX -jcl -jcl -jcl +lXC +lXC +lXC aCQ lXC lXC tiQ -sBg -hXP -tra -tCX -tFZ +saC +saC +saC +saC +saC tiQ lKl xmD @@ -90806,7 +90374,7 @@ leH lmu lDr lNI -aqo +qET ugN pHT lXQ @@ -90822,10 +90390,10 @@ xmD knt xmD skk -tiQ -bjd +lTi bjd bjd +eRg wRf bjd hKI @@ -90833,11 +90401,11 @@ hFA lYK mqx mqx -hvh +icr pqQ qpd -bjd -alI +gOo +mPj cpy cpy cpy @@ -90862,9 +90430,9 @@ wgW wgW ydb xRQ -plz +xjF xFp -sYk +xZP pKX pKX vnq @@ -90886,8 +90454,8 @@ qCd dak pKX pKX -xOB -tTD +xBS +dCJ tTD tTD tTD @@ -90927,7 +90495,7 @@ lot aTR xvl xvl -cxE +jmG jmG jmG xzK @@ -91009,20 +90577,20 @@ nTl nTl nTl lXC -eLx +lXC dYX -jcl -jcl -jcl +lXC +lXC +lXC aCQ lXC lXC tiQ tiQ -idq -jcl -jcl -kkq +saC +saC +saC +saC tiQ jEu xmD @@ -91048,9 +90616,9 @@ xVq liK gyC pfj -pvz -tiQ -tiQ +ayX +qjG +lTi bjd rMD eZF @@ -91060,11 +90628,11 @@ bjd lYK mqx mqx -hvh +icr pqQ qpd -bjd -alI +gOo +mPj cpy cpy cpy @@ -91091,8 +90659,8 @@ jRc xjF xjF xFp -aDj -xAw +xZP +pKX nvt ykT kGb @@ -91112,9 +90680,9 @@ fyl kcd oig cLQ -xAw -lCn -tTD +pKX +xBS +dCJ tTD tTD tTD @@ -91154,8 +90722,8 @@ icW eHI xvl xvl -akk -xxq +teD +xzK xxq xxq xxq @@ -91238,19 +90806,19 @@ nTl nTl nTl dYX -jcl -jcl -jcl +lXC +lXC +lXC aCQ lXC lXC -hME -hUY -ier -hRW -kHX -jcl -dAG +saC +saC +saC +saC +saC +saC +saC tiQ jYE xYD @@ -91258,8 +90826,8 @@ knt lAD saC saC -seF -xQc +cWH +cHy saC saC myV @@ -91287,22 +90855,22 @@ cZH jDN mqx nJW -hvh +icr eZF lfj -bjd -alI +lfj +mPj cpy cpy cpy cpy cpy ien -tNQ -qSH -qSH +cRN +vTx +vTx trV -pZo +eQu vGp eKe xFp @@ -91340,9 +90908,9 @@ qqx pag bia gYH -lDE -tTD -tTD +xBS +dCJ +rnB tTD tTD tTD @@ -91382,7 +90950,7 @@ agM xvl xvl xWO -fWG +hMz fWG fWG fWG @@ -91471,13 +91039,13 @@ hRW egD lXC lXC -iZI -hVk -igp -swu -iUT -kHX -evx +saC +saC +saC +saC +saC +saC +saC xQc lAK xYD @@ -91488,7 +91056,7 @@ ncA lDN pxN saC -xQc +cHy sdR lNA wXA @@ -91506,7 +91074,7 @@ pfj qjG qjG bjd -nRy +lfj pqQ bjd fSf @@ -91514,11 +91082,11 @@ cZH mqx mqx mqx -hvh +icr pqQ qpd -bjd -alI +gOo +mPj cpy cpy cpy @@ -91529,7 +91097,7 @@ vGB vGB wDj wDj -pZo +fcW vGp vGp eKe @@ -91567,10 +91135,10 @@ mTK sdC dvp uKy -lDE -tTD -tTD -tTD +xBS +dCJ +rnB +rnB tTD tTD cpy @@ -91608,8 +91176,8 @@ xgA bsG vOT xvB -xWO -fWG +otS +hMz fWG fWG fWG @@ -91697,14 +91265,14 @@ enr elx elx elx -elx -hNj -hXA -fvQ -fDC -gwk -hgQ -exB +aDS +saC +saC +saC +saC +saC +saC +saC xQc xmD xmD @@ -91715,7 +91283,7 @@ nwR oem maj maj -seF +cWH knt hna yiu @@ -91733,19 +91301,19 @@ oyK ayX vKP bjd -osm +lfj pqQ bjd fSf -cZH -cgn -mqx -mqx -hvh +heU +qsW +qsW +qsW +idq pqQ qpd -bjd -alI +gOo +mPj cpy cpy wDj @@ -91772,8 +91340,8 @@ qSH qSH qSH qSH -cfv -xAw +sPh +pKX xnI ykT djM @@ -91793,11 +91361,11 @@ art gNn mgb rUe -xAw +pKX xBS -tTD -tTD -tTD +dCJ +rnB +rnB tTD tTD tTD @@ -91835,8 +91403,8 @@ aSZ acE vOT xvB -xWO -fWG +otS +hMz fWG fWG cpy @@ -91925,18 +91493,18 @@ lXC lXC lXC lXC -iZI -hXP -egY -cHy -jIQ -bXl -jcl +saC +saC +saC +saC +saC +saC +saC xQc tMV tMV kne -xQc +cHy mkb lnd xYD @@ -91965,14 +91533,14 @@ pqQ bjd bjd bjd -lYK -mqx -mqx -hvh +rMD +rMD +rMD +lfj pqQ qpd -bjd -alI +gOo +mPj cpy cpy wDj @@ -91999,7 +91567,7 @@ rMR qSH qSH vGp -onj +sPh pKX pKX pKn @@ -92021,10 +91589,10 @@ heX jMk pKX pKX -xOB -tTD -tTD -tTD +xBS +dCJ +rnB +rnB tTD tTD tTD @@ -92062,8 +91630,8 @@ eMD qZd xvl xvl -xWO -fWG +otS +hMz fWG cpy uwT @@ -92152,24 +91720,24 @@ tra egY lXC lXC -hNV -hXZ -igp -swu -iUX -tCX -jcl +saC +saC +saC +saC +saC +saC +saC xQc jjV xmD knt -xQc +cHy mlp nxQ oKK pDM qTE -xQc +cHy wyA hna yiu @@ -92187,21 +91755,21 @@ jWB lKl lTi bjd -lul +lfj dfK qKO xLr -xXv -lYK -mqx -mqx -hvh +hfE +xsE +xsE +xsE +lfj pqQ qpd -bjd -alI -alI -alI +mPj +mPj +mPj +mPj wDj cPg eJR @@ -92226,7 +91794,7 @@ qSH qSH vGp vGp -onj +sPh uNB xUQ ykT @@ -92248,11 +91816,11 @@ iGn uOp bSI uNB -xOB -tTD -tTD -tTD -tTD +xBS +dCJ +rnB +rnB +rnB sKJ tTD tTD @@ -92289,8 +91857,8 @@ xje ffb xvl xvl -xWO -fWG +otS +hMz dBD sps sps @@ -92373,30 +91941,30 @@ nTl nTl nTl vQn -aEL -aEL -jcl +lXC +lXC +lXC aCQ lXC lXC -iZI -hYk -aDS -tra -tCX -jcl -cYe +saC +saC +saC +saC +saC +saC +saC tiQ dXo xYD kpE -xQc -xQc +cHy +cHy nEd piW pEp -xQc -xQc +cHy +cHy knt hna qFW @@ -92415,18 +91983,18 @@ asH tiQ bjd dXX -pWC rMD -bjd -pqQ -lYK -mqx -mqx -hvh +rMD +lao eZF -bjd -bjd -bjd +xsE +xsE +xsE +lfj +eZF +lfj +lfj +lfj bjd bjd mPj @@ -92453,7 +92021,7 @@ qSH qSH vGp vGp -onj +sPh uNB xUQ xAZ @@ -92475,9 +92043,9 @@ sAp vHw fEF uNB -xOB -tTD -tTD +xBS +dCJ +rnB sKJ sKJ sKJ @@ -92516,8 +92084,8 @@ xhD acE vOT xvB -xWO -fWG +otS +hMz qjO ylo ylo @@ -92600,29 +92168,29 @@ nTl nno lXC hwt -jVa -jcl -jcl +lXC +lXC +lXC fkW lXC lXC hOy -tiQ -qyp -jcl -jcl -bCd +saC +saC +saC +saC +saC tiQ jEu xmD xYD kpE xmD -xQc -xQc -seF -xQc -xQc +cHy +cHy +cWH +cHy +cHy uQi knt juw @@ -92641,19 +92209,19 @@ seF tiQ tiQ bjd +eZq +gwk +lfj bjd -bjd -bjd -bjd -qEQ -abL -cgn -mqx -hvh -dfK -woU -woU -woU +yje +xsE +xsE +xsE +xsE +hRy +hVk +hVk +hVk xnX gib mPj @@ -92664,7 +92232,7 @@ iMQ wDj wDj wDj -pRv +fda xSv xSv xSv @@ -92680,7 +92248,7 @@ qSH vGp vGp vGp -onj +sPh uNB pTl xAZ @@ -92702,9 +92270,9 @@ xOw snb rkV uNB -xOB -tTD -hrk +xBS +xXg +vlT vlT vlT vlT @@ -92743,8 +92311,8 @@ xgA acE vOT xvB -xWO -fWG +otS +hMz qjO ylo byR @@ -92827,18 +92395,18 @@ nTl lXC swu hwt -jVa -jcl -jcl +lXC +lXC +lXC aCQ lXC lXC tiQ -hZn -aAb -hRW -kHX -jhY +saC +saC +saC +saC +saC tiQ jjV xmD @@ -92867,20 +92435,20 @@ xmD kss tiQ tiQ -alI -alI -alI -alI +bjd +fvQ +fvQ +bjd bjd lwr -rSs -abL -cgn -jZE -hNP -hNP -hNP -efM +hgQ +xsE +xsE +xsE +xsE +xsE +xsE +xsE caV pcV xLr @@ -92889,9 +92457,9 @@ gjA rtX wDj wDj -vGp -vGp -pZo +xFp +xFp +fcW qSH qSH qSH @@ -92907,7 +92475,7 @@ qSH vGp vGp kqp -sYk +xZP uNB xUQ xnI @@ -92929,8 +92497,8 @@ bSa xAZ xUQ uNB -nlY -vlT +xBS +xXg wIi tTK tTK @@ -92970,8 +92538,8 @@ xjY qZd xvl xvl -xWO -fWG +otS +hMz qjO ylo sGj @@ -93061,11 +92629,11 @@ aCQ lXC lXC tiQ -hZK -aCQ -fMT -iVk -jic +saC +saC +saC +saC +saC tiQ jjV iQe @@ -93094,21 +92662,21 @@ pfj vAX kJc tiQ -saC -saC -saC -alI +bjd +fDC +gNN +bjd bjd gzY ama -kbb -abL -qsW -qsW -qsW -qsW +hgQ xsE -eZF +xsE +xsE +xsE +xsE +xsE +iLC tyb lao iJE @@ -93118,7 +92686,7 @@ vGB mTa oqn pdv -umR +fcW qSH qSH qSH @@ -93134,7 +92702,7 @@ vGp vGp kqp xFp -xAw +pKX pKX pKX kIZ @@ -93156,7 +92724,7 @@ vfK rie xUQ pKX -nlY +xBS xXg tTK tTK @@ -93197,8 +92765,8 @@ qIE wog xvl xvl -xWO -fWG +otS +hMz qjO jOF oiR @@ -93281,18 +92849,18 @@ hwt jcl swu hwt -hRy -ifh -gOo +lXC +lXC +lXC aCQ lXC lXC tiQ tiQ -igA -tCX -iVU -jig +saC +saC +saC +saC tiQ xmD hna @@ -93319,22 +92887,22 @@ xSL txo jef pfj -tfK +eHp tiQ -saC -saC -saC -alI +bjd +fDC +gNN +fDC bjd bjd -lfj -eTQ -woU -aLf +rMD +hRy +hVk ubF ubF -woU -woU +ubF +hVk +hVk otx qYy mPj @@ -93345,7 +92913,7 @@ vGB ncz kKj pgp -umR +fcW qSH qSH vGp @@ -93424,8 +92992,8 @@ xhD bsG kEQ xvB -xWO -fWG +otS +hMz qjO ylo hYf @@ -93506,19 +93074,19 @@ mrL lFd qZB jVa -pgJ +mrL hwt -jcl -jcl -gRV -hfE lXC lXC -swu -tiQ -mRh -iGl +lXC +fkW +lXC +lXC +mrL tiQ +saC +saC +saC tiQ tiQ vjl @@ -93546,22 +93114,22 @@ csy wWc pfj syV -kJc -tiQ -saC -saC -saC -alI -alI -bjd -bjd -bjd -bjd -bjd -bjd +eLx +vKP bjd +rMD +gOo +rMD bjd bjd +rMD +xsE +xsE +xsE +xsE +rMD +rMD +rMD bjd bjd mPj @@ -93572,7 +93140,7 @@ wDj nff oxT pgG -umR +fcW qSH vGp vGp @@ -93651,8 +93219,8 @@ xhD bsG vOT xvB -xWO -fWG +otS +hMz qjO ylo ylo @@ -93733,18 +93301,18 @@ swu swu hwt jcl -svW +nno hwt -hRy -oUC -uNT -aCQ lXC lXC -swu -swu -swu -jcl +lXC +aCQ +lXC +nno +mrL +saC +saC +saC saC saC saC @@ -93774,18 +93342,18 @@ lmY sfM hLY xmD -tiQ -saC -saC -saC -saC -alI -alI -alI -alI -alI -alI -alI +qjG +bjd +rMD +lfj +lfj +fDC +bjd +rMD +xsE +xsE +xsE +rMD wDj wDj wDj @@ -93796,10 +93364,10 @@ vGB moQ vGB wDj -qSH -qSH -qSH -umR +xFp +xFp +dHF +feF vGp vGp vGp @@ -93879,7 +93447,7 @@ eHI xvl xvl xwv -fWG +hMz gBy mUr kSm @@ -93960,17 +93528,17 @@ jcl swu hwt jcl -svW +nno bye tiQ tiQ tiQ -aCQ -lXC -lXC -iRY -swu -jcl +fmB +nno +nno +lFd +saC +saC saC saC saC @@ -94001,30 +93569,30 @@ lmY sfM hLY ayX -tiQ -saC -saC -saC -saC -saC -saC -saC -saC -saC -saC +qjG +bjd +lfj +gOo +gOo +rMD +lao +rMD +xsE +xsE +rMD wDj wDj -saC -saC -saC +sOL +sOL +sOL wDj eOT sOL sOL sOL wDj -qSH -qSH +xFp +ezj qSH umR vGp @@ -94106,7 +93674,7 @@ acE kEQ xvl otS -fWG +hMz fWG fWG uwT @@ -94178,7 +93746,7 @@ fib gbQ jYj jYj -eFP +elx fIe egd ewt @@ -94187,16 +93755,16 @@ nTl jcl hwt jcl -svW +lXC hwt -hRy -ifh -eMm -aCQ lXC lXC -swu -swu +lXC +fmB +nno +nno +saC +saC saC saC saC @@ -94227,22 +93795,22 @@ xME hYg jWB eIT -kJc -tiQ -saC -saC -saC -saC -saC -saC -saC -saC -saC -saC +eLx +qjG +bjd +fMT +gOo +gOo +lfj +lao +hME +hTI +hTI +ier wDj -saC -saC -saC +sOL +eJR +eJR arN vGB sOL @@ -94250,8 +93818,8 @@ eJR eJR fQD vGB -qSH -qSH +xFp +ezj qSH umR vGp @@ -94333,7 +93901,7 @@ acE kEQ meK otS -fWG +hMz cpy cpy uwT @@ -94405,20 +93973,20 @@ iZI dDS iZI iZI -svW +lXC jVa fLP iOt nTl nTl -dBe -qZB -jVa -svW +ame hwt jcl -jcl -eRg +lXC +hwt +lXC +lXC +nno fmB saC saC @@ -94452,23 +94020,23 @@ sDf kpo wQs llG -noD +dAG lMF -iDg -tiQ -saC -saC -saC -saC -saC -saC -saC -saC -saC -saC +nqQ +lTi +bjd +fMT +lfj +gRV +rMD +bjd +bjd +hUY +hXA +hUY wDj -saC -saC +sOL +eJR iJE hZg vGB @@ -94477,8 +94045,8 @@ rlB azE qYp vGB -qSH -qSH +xFp +ezj qSH umR vGp @@ -94560,7 +94128,7 @@ bsG kEQ xvl otS -fWG +hMz cpy uwT uwT @@ -94632,7 +94200,7 @@ iZI dDS iZI iZI -svW +lXC jcl aCQ evx @@ -94641,11 +94209,11 @@ nTl jcl hwt jcl -svW +lXC hwt -hRy -gqG -eZq +lXC +lXC +nno saC saC saC @@ -94683,18 +94251,18 @@ jWB teE mpQ tiQ -saC -saC -saC -saC -saC -saC -saC -saC -saC -saC +bjd +bjd +gOG +heF +bjd +bjd +bjd +bjd +bjd +bjd wDj -saC +sOL hhJ sOL sOL @@ -94704,8 +94272,8 @@ rlB eJR loS vGB -qSH -qSH +xFp +ezj qSH umR vGp @@ -94786,8 +94354,8 @@ icW oPW xvl xvl -naZ -uwT +xwv +hMz fWG uwT uwT @@ -94859,7 +94427,7 @@ iZI dDS iZI iZI -fib +iZI jcl aCQ equ @@ -94868,7 +94436,7 @@ jcl dXd fbC fIe -ame +oWq fDn fDH fFE @@ -94911,18 +94479,18 @@ cXi tiQ tiQ saC -saC -saC -saC -saC +bjd +bjd +bjd +bjd saC saC saC saC saC wDj -saC -saC +wDj +wDj ygD jJI uaY @@ -94931,8 +94499,8 @@ eJR eJR xJg wDj -aij -qSH +dsl +ezj qSH umR qSH @@ -95013,8 +94581,8 @@ xhD bsG kEQ xvB -xWO -uwT +otS +hMz fWG fWG uwT @@ -95158,8 +94726,8 @@ rlB eJR rtX wvX -nTp -qSH +esB +ezj qSH umR qSH @@ -95240,8 +94808,8 @@ xhD bsG kEQ xvB -xWO -uwT +otS +hMz fWG fWG uwT @@ -95385,8 +94953,8 @@ rlB iJE rtX ygD -nTp -qSH +esB +ezj qSH umR qSH @@ -95460,15 +95028,15 @@ uuD uuD lFO gIg -wrY +imT xvl xvl xjY qZd xvl xvl -xWO -uwT +otS +hMz uwT fWG fWG @@ -95548,7 +95116,7 @@ jcl jcl evx jcl -jVa +jcl jcl jcl jcl @@ -95612,8 +95180,8 @@ hcE sjQ wJk wDj -bcl -qSH +euN +ezj qSH umR qSH @@ -95687,15 +95255,15 @@ evv uuD uuD xXg -rIr +imT xvl xvl xje wog xvl xvl -xWO -uwT +otS +hMz uwT uwT fWG @@ -95839,8 +95407,8 @@ eJR azE wJk wDj -qSH -qSH +xFp +ezj qSH qQB qDV @@ -95921,8 +95489,8 @@ xhD bsG kEQ xvB -xWO -uwT +otS +hMz uwT uwT fWG @@ -96066,8 +95634,8 @@ eJR eJR mnx wDj -qSH -qSH +xFp +ezj qSH qSH umR @@ -96148,13 +95716,13 @@ xgA bsG vOT xvB -xWO -uxT +otS +hMz +kIV sps sps sps -dsl -uwT +ppD uwT uwT uwT @@ -96293,8 +95861,8 @@ sOL sOL sOL wDj -ltB -ltB +eyh +eyh ltB ltB bBW @@ -96368,20 +95936,20 @@ rOg qJH qUs xXg -iQR +imT xvl xvl xjY qZd xvl xvl -xWO -ppD +otS +hMz +nIu xkO xkO xkO -tKC -uwT +qpD uwT uwT uwT @@ -96595,20 +96163,20 @@ rOg jrJ qUs xXg -wrY +imT xvl xvl xje wog xvl xvl -xWO -ppD +otS +hMz +nIu xkO vZn waD -ujy -uwT +tKC uwT uwT uwT @@ -96765,7 +96333,7 @@ vGp cpy pZo tWt -nSE +tDS tDS thc thc @@ -96822,20 +96390,20 @@ bHT qiw uuD xXg -wrY +imT xvB kEQ xhD bsG kEQ xvB -xWO -ppD +otS +hMz +nIu xkO xkO xkO -tKC -uwT +qpD uwT uwT uwT @@ -97049,20 +96617,20 @@ bJG uuD uuD xXg -wrY +imT xvB vOT xhD bsG vOT xvB -xWO -ppD +otS +hMz +nIu xkO ipC waD -ujy -uwT +tKC uwT uwT uwT @@ -97276,20 +96844,20 @@ uuD uuD viG xXg -wrY +imT xvl xvl jVz wog xvl xvl -xWO -ppD +otS +hMz +nIu xkO xkO xkO -tKC -fWG +qpD uwT uwT uwT @@ -97503,20 +97071,20 @@ xXg xXg xXg xXg -wrY +imT xvl xvl icW oPW xvl xvl -xWO -kIV +otS +hMz +oaj mUr mUr -apS wRk -fWG +ujy uwT uwT uwT @@ -97730,15 +97298,15 @@ xXg xXg xXg xXg -wrY +imT xvl xvl lot vdz xvl xvl -xWO -uwT +otS +hMz uwT uwT fWG @@ -97964,8 +97532,8 @@ swF fzV qqR cUG -xWO -uwT +iQR +hMz uwT uwT fWG @@ -98191,8 +97759,8 @@ xRw uaI eHB cUG -tti -uwT +xzK +cpk uwT uwT fWG @@ -99280,10 +98848,10 @@ mgk vUb gdO gdO -psC +gdO ayn wHY -psC +gdO gdO tTK tTK @@ -100866,7 +100434,7 @@ umR vGp vGp vGp -uRb +fhQ gdO gdO gdO @@ -101093,16 +100661,16 @@ umR qSH vGp vGp -hHh -sYk +eKe +xZP gdO ene vTW puJ ufU gdO -nlY -ylr +xBS +xXg ylr ylr ylr @@ -101328,8 +100896,8 @@ vDa pej ufU raj -xOB -sKJ +lDE +dCJ tTD rnB rnB @@ -101555,8 +101123,8 @@ vDa pej rMr gdO -lCn -tTD +lDE +dCJ rnB rnB rnB @@ -101783,7 +101351,7 @@ puJ pej uBd lDE -rnB +dCJ rnB rnB rnB @@ -102010,7 +101578,7 @@ puJ pej qZC lDE -rnB +dCJ rnB rnB rnB @@ -102229,15 +101797,15 @@ vGp vGp vGp vGp -gBb +ioD gdO ene pej pej ufU gdO -xBS -rnB +lDE +dCJ rnB rnB rnB @@ -102463,8 +102031,8 @@ pej pej ufU raj -xOB -rnB +lDE +dCJ rnB rnB rnB @@ -102683,7 +102251,7 @@ vGp vGp kQJ tPb -onj +sPh gdO ene puJ @@ -102691,7 +102259,7 @@ puJ ene gdO cpy -rnB +dCJ rnB rnB rnB diff --git a/maps/map_files/LV624/LV624.dmm b/maps/map_files/LV624/LV624.dmm index ffe928acf3ae..6f03ce4c2cba 100644 --- a/maps/map_files/LV624/LV624.dmm +++ b/maps/map_files/LV624/LV624.dmm @@ -1895,7 +1895,7 @@ /area/lv624/ground/barrens/east_barrens/ceiling) "aja" = ( /obj/effect/decal/cleanable/blood/splatter, -/turf/open/gm/dirtgrassborder/east, +/turf/open/gm/dirtgrassborder/grassdirt_corner2/south_east, /area/lv624/ground/jungle/west_jungle) "ajc" = ( /obj/structure/blocker/forcefield/multitile_vehicles, @@ -2585,9 +2585,9 @@ /turf/open/gm/dirt, /area/lv624/ground/caves/west_caves) "amK" = ( -/obj/effect/landmark/lv624/fog_blocker, -/turf/open/gm/dirtgrassborder/grassdirt_corner2/south_east, -/area/lv624/ground/river/west_river) +/obj/structure/flora/bush/ausbushes/var3/leafybush, +/turf/open/gm/dirt, +/area/lv624/ground/jungle/west_jungle) "amL" = ( /obj/structure/flora/bush/ausbushes/palebush, /turf/open/gm/river, @@ -3061,7 +3061,7 @@ /area/lv624/lazarus/hydroponics) "aqq" = ( /obj/structure/flora/bush/ausbushes/pointybush, -/turf/open/gm/dirtgrassborder/west, +/turf/open/gm/dirtgrassborder/grassdirt_corner2/south_west, /area/lv624/ground/jungle/west_jungle) "aqr" = ( /obj/structure/flora/bush/ausbushes/var3/fernybush, @@ -3262,7 +3262,8 @@ /turf/open/gm/dirtgrassborder/west, /area/lv624/lazarus/quartstorage/outdoors) "arE" = ( -/turf/open/gm/dirtgrassborder/grassdirt_corner2/north_east, +/obj/structure/flora/jungle/vines/light_1, +/turf/open/gm/dirtgrassborder/grassdirt_corner/south_west, /area/lv624/ground/jungle/west_jungle) "arG" = ( /obj/effect/landmark/survivor_spawner, @@ -3337,8 +3338,8 @@ /turf/open/gm/grass/grass2, /area/lv624/ground/jungle/west_jungle) "asd" = ( -/obj/structure/flora/bush/ausbushes/var3/fullgrass, -/turf/open/gm/dirtgrassborder/south, +/obj/structure/flora/jungle/vines/light_3, +/turf/open/gm/dirtgrassborder/west, /area/lv624/ground/jungle/west_jungle) "ase" = ( /turf/open/gm/dirtgrassborder/grassdirt_corner2/south_west, @@ -3426,8 +3427,8 @@ }, /area/lv624/lazarus/landing_zones/lz1) "asK" = ( -/obj/structure/flora/bush/ausbushes/pointybush, -/turf/open/gm/grass/grass1, +/obj/structure/flora/jungle/vines/light_3, +/turf/open/gm/dirt, /area/lv624/ground/jungle/west_jungle) "asL" = ( /obj/item/tool/warning_cone, @@ -3497,16 +3498,12 @@ }, /area/lv624/lazarus/research) "asX" = ( -/obj/structure/flora/grass/tallgrass/jungle/corner{ - dir = 6 - }, -/turf/open/gm/grass/grass2, +/obj/structure/flora/jungle/vines/light_3, +/turf/open/gm/dirtgrassborder/south, /area/lv624/ground/jungle/west_jungle) "asY" = ( -/obj/structure/flora/grass/tallgrass/jungle/corner{ - dir = 10 - }, -/turf/open/gm/grass/grass2, +/obj/effect/landmark/monkey_spawn, +/turf/open/gm/dirt, /area/lv624/ground/jungle/west_jungle) "asZ" = ( /obj/structure/flora/bush/ausbushes/var3/ywflowers, @@ -4446,10 +4443,6 @@ icon_state = "whitepurplecorner" }, /area/lv624/lazarus/fitness) -"awz" = ( -/obj/structure/flora/grass/tallgrass/jungle/corner, -/turf/open/gm/grass/grass1, -/area/lv624/ground/jungle/west_jungle) "awC" = ( /obj/structure/flora/bush/ausbushes/reedbush, /turf/open/gm/coast/beachcorner/north_east, @@ -4829,9 +4822,6 @@ icon_state = "whitepurplecorner" }, /area/lv624/lazarus/fitness) -"axV" = ( -/turf/open/gm/dirtgrassborder/north, -/area/lv624/ground/jungle/west_jungle) "axW" = ( /obj/effect/decal/remains/xeno, /obj/structure/fence, @@ -4860,12 +4850,6 @@ /obj/effect/landmark/lv624/xeno_tunnel, /turf/open/gm/grass/grass1, /area/lv624/lazarus/quartstorage/outdoors) -"ayd" = ( -/obj/structure/flora/grass/tallgrass/jungle/corner{ - dir = 4 - }, -/turf/open/gm/grass/grass1, -/area/lv624/ground/jungle/west_jungle) "ayg" = ( /obj/structure/computerframe, /turf/open/floor/plating{ @@ -4895,12 +4879,6 @@ icon_state = "vault" }, /area/lv624/lazarus/robotics) -"ayl" = ( -/obj/structure/flora/grass/tallgrass/jungle/corner{ - dir = 1 - }, -/turf/open/gm/grass/grass1, -/area/lv624/ground/jungle/west_jungle) "aym" = ( /obj/structure/machinery/autolathe, /turf/open/floor{ @@ -5070,10 +5048,6 @@ icon_state = "whitepurple" }, /area/lv624/lazarus/research) -"ayN" = ( -/obj/structure/flora/bush/ausbushes/reedbush, -/turf/open/gm/dirtgrassborder/grassdirt_corner2/south_west, -/area/lv624/ground/jungle/west_jungle) "ayO" = ( /obj/item/weapon/baseballbat/metal, /obj/item/weapon/baseballbat/metal{ @@ -7821,14 +7795,6 @@ /obj/structure/flora/bush/ausbushes/var3/fernybush, /turf/open/gm/grass/grass1, /area/lv624/ground/jungle/west_jungle) -"aIn" = ( -/obj/structure/flora/bush/ausbushes/var3/sunnybush, -/turf/open/gm/grass/grass1, -/area/lv624/ground/jungle/west_jungle) -"aIo" = ( -/obj/structure/flora/bush/ausbushes/var3/stalkybush, -/turf/open/gm/grass/grass1, -/area/lv624/ground/jungle/west_jungle) "aIp" = ( /obj/structure/surface/table, /obj/effect/landmark/crap_item, @@ -12333,10 +12299,6 @@ /obj/structure/flora/jungle/vines/heavy, /turf/open/gm/grass/grass1, /area/lv624/ground/jungle/west_central_jungle) -"bbu" = ( -/obj/structure/flora/bush/ausbushes/var3/stalkybush, -/turf/open/gm/grass/grass2, -/area/lv624/ground/jungle/west_jungle) "bbx" = ( /obj/structure/flora/jungle/vines/light_1, /obj/structure/flora/jungle/vines/heavy, @@ -12344,7 +12306,7 @@ /area/lv624/ground/jungle/east_central_jungle) "bbC" = ( /obj/effect/landmark/hunter_primary, -/turf/open/gm/grass/grass2, +/turf/open/gm/dirt, /area/lv624/ground/jungle/west_jungle) "bbH" = ( /obj/structure/flora/bush/ausbushes/var3/sparsegrass, @@ -16023,7 +15985,7 @@ /area/lv624/lazarus/comms) "hJn" = ( /obj/structure/flora/jungle/vines/light_2, -/turf/open/gm/grass/grass2, +/turf/open/gm/grass/grass1, /area/lv624/ground/jungle/west_jungle) "hJW" = ( /turf/open/gm/dirtgrassborder/south, @@ -21378,10 +21340,6 @@ /obj/effect/landmark/objective_landmark/close, /turf/open/floor/vault, /area/lv624/lazarus/quartstorage) -"rvL" = ( -/obj/structure/flora/bush/ausbushes/ausbush, -/turf/open/gm/grass/grass2, -/area/lv624/ground/jungle/west_jungle) "rvW" = ( /obj/effect/landmark/lv624/fog_blocker, /turf/open/gm/grass/grass1, @@ -23306,9 +23264,6 @@ /obj/structure/fence, /turf/open/gm/dirtgrassborder/north, /area/lv624/ground/colony/west_tcomms_road) -"uSw" = ( -/turf/open/gm/dirtgrassborder/grassdirt_corner/north_east, -/area/lv624/ground/jungle/west_jungle) "uSy" = ( /turf/open/gm/coast/beachcorner2/north_east, /area/lv624/ground/barrens/east_barrens) @@ -25769,7 +25724,7 @@ atC aAt aro aHE -aIn +aro asw asw asw @@ -25989,13 +25944,13 @@ nsk nsk nsk aun -aqS -suv -atZ +ase +arE +atC vVD -ayT -aro -aro +asd +atu +asx aro asw asw @@ -26216,20 +26171,20 @@ aYX alC alC auc -amK -arn -asK +aZb +aAl +ase pbd avf -ayT -aro -aBk -aro -aIo +asK +aAl +ase +atu +asx asw asw asw -aro +arP awb awe awe @@ -26444,18 +26399,18 @@ aYS aud aud auP -aqS -rvL -asc -aro -aro -aro -asw -aro -aro -aro -aro -aro +aAl +aAl +aAl +aAl +aAl +aAl +avf +aAl +aAl +ase +atu +asx aro aro ata @@ -26672,19 +26627,19 @@ arV aud aud auP -aqS +aAl avf -aro -awb -ayd -azg -aro -aro -aIm -aro -aro -arP -asc +aAl +aAl +aAl +aAl +aAl +aAl +aAl +aAl +aAl +ase +asx aro aro aro @@ -26900,18 +26855,18 @@ aud amG bGb auP -asd +aAl avf -asX -awe -awe -ayl -aro -aro -aro -aIq -aCO -atu +aAl +aAl +aAl +aAl +aAl +aAl +aAl +asY +aAl +aAl aqq atu atu @@ -27128,17 +27083,17 @@ aud aud asp auP -aqS -asc -asY -awe -awe -awV -aro -asw -aro -aCO -aEe +aAl +aAl +aAl +aAl +aAl +aAl +aAl +avf +avf +aAl +aAl aAl aAl aAl @@ -27356,16 +27311,16 @@ aud aud aud auP -aqS -bbu -asZ -awz -ayl -aro -atA -aro -asg -axV +aAl +aAl +aAl +aAl +aAl +aAl +aAl +avf +aAl +aAl aAl aAl aAl @@ -27584,16 +27539,16 @@ asF aud fQL aBn -asd -aro -asX -awe -ayA -ayd -azg -aro -aCO -aEe +aAl +aAl +aAl +aAl +aAl +aAl +aAl +aAl +aAl +aAl aAl aAl ayh @@ -27812,15 +27767,15 @@ aud aud oym xuK -ase -asx -ata -awV -asw -ata -awV -aro -axV +aAl +aAl +aAl +avf +avf +aAl +aAl +aAl +aAl kQY knd knd @@ -28040,15 +27995,15 @@ arU aud atJ aYR -akZ -aqS -arP -aro -aro -aro -asc -aCO -aEe +axw +aAl +aAl +aAl +avf +avf +aAl +aAl +aAl oek jga jga @@ -28269,14 +28224,14 @@ xJA xJA bGb dmf -ase -atu -atu -asx -aro +aAl +aAl +aAl +aAl +aAl bbC -axV -ayh +aAl +kQY ayV jga azs @@ -28500,10 +28455,10 @@ bBu knd knd axw -ase -atu -atu -aEe +aAl +aAl +aAl +aAl oek jga jga @@ -29633,8 +29588,8 @@ aud aud asF auP -aqR -arE +aAl +aAl npf sTB sTB @@ -29861,13 +29816,13 @@ aud aud bGb auP -aqS -uSw -asa -asa -asa -asa -arE +aAl +aAl +aAl +aAl +aAl +aAl +aAl awC sTB sTB @@ -30089,13 +30044,13 @@ aud asp aud auP -aqS -arP -asc -asg -aro -atA -axV +aAl +amK +aAl +aAl +aAl +aAl +aAl aiS aAl aAl @@ -30317,15 +30272,15 @@ aud aud aud auP -aqS +aAl aFm aFm auO aFm aFm aAl -aqR -asa +aAl +aAl aja asa asa @@ -30545,16 +30500,16 @@ aud aud amG auP -aqS +aAl aFm aue auf aXC aFm aAl -ayN -asx -ayT +aqi +aAl +asX aAp aAp baN @@ -30773,7 +30728,7 @@ aud aud aud asR -aqS +aAl aFm auf auf @@ -30781,7 +30736,7 @@ aZp aFm aAl omu -aqS +aAl aAp aAp aAp @@ -31001,7 +30956,7 @@ amG aud aul aBn -aqS +aAl aFQ aug wFx @@ -31229,7 +31184,7 @@ aud bGb auP aqi -ase +aAl aFm aZn axp diff --git a/maps/map_files/LV624/standalone/leftsidepass.dmm b/maps/map_files/LV624/standalone/leftsidepass.dmm index 678059d4ad83..0b90931f2fd3 100644 --- a/maps/map_files/LV624/standalone/leftsidepass.dmm +++ b/maps/map_files/LV624/standalone/leftsidepass.dmm @@ -1,8 +1,4 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ab" = ( -/obj/effect/landmark/lv624/fog_blocker, -/turf/open/gm/coast/north, -/area/lv624/ground/river/west_river) "ac" = ( /obj/effect/landmark/hunter_primary, /turf/open/gm/dirt, @@ -53,87 +49,26 @@ "ar" = ( /turf/open/gm/coast/beachcorner/south_east, /area/lv624/ground/river/west_river) -"as" = ( -/obj/structure/flora/bush/ausbushes/var3/fullgrass, -/turf/open/gm/dirt, -/area/lv624/ground/jungle/west_jungle) -"at" = ( -/turf/open/gm/dirtgrassborder/grassdirt_corner2/south_east, -/area/lv624/ground/river/west_river) "au" = ( /turf/open/gm/dirtgrassborder/south, /area/lv624/ground/jungle/west_jungle) -"av" = ( -/turf/open/gm/dirtgrassborder/grassdirt_corner2/south_west, -/area/lv624/ground/jungle/west_jungle) "aw" = ( -/obj/structure/flora/bush/ausbushes/reedbush, /turf/open/gm/coast/beachcorner/south_west, /area/lv624/ground/jungle/west_jungle) -"ax" = ( -/turf/open/gm/dirtgrassborder/grassdirt_corner/south_east, -/area/lv624/ground/jungle/west_jungle) -"ay" = ( -/obj/structure/flora/bush/ausbushes/ausbush, -/turf/open/gm/grass/grass2, -/area/lv624/ground/jungle/west_jungle) -"az" = ( -/turf/open/gm/grass/grass2, -/area/lv624/ground/jungle/west_jungle) -"aA" = ( -/obj/structure/flora/bush/ausbushes/var3/stalkybush, -/turf/open/gm/grass/grass2, -/area/lv624/ground/jungle/west_jungle) -"aB" = ( -/turf/open/gm/dirtgrassborder/grassdirt_corner/south_west, -/area/lv624/ground/jungle/west_jungle) "aC" = ( /obj/structure/flora/jungle/vines/light_2, /turf/open/gm/grass/grass2, /area/lv624/ground/jungle/west_jungle) "aD" = ( /obj/structure/flora/jungle/vines/light_1, -/turf/open/gm/grass/grass2, +/turf/open/gm/dirtgrassborder/grassdirt_corner/south_west, /area/lv624/ground/jungle/west_jungle) "aE" = ( -/obj/structure/flora/bush/ausbushes/pointybush, -/turf/open/gm/grass/grass1, -/area/lv624/ground/jungle/west_jungle) -"aF" = ( -/obj/structure/flora/grass/tallgrass/jungle/corner{ - dir = 6 - }, -/turf/open/gm/grass/grass2, -/area/lv624/ground/jungle/west_jungle) -"aG" = ( -/obj/structure/flora/grass/tallgrass/jungle/corner{ - dir = 10 - }, -/turf/open/gm/grass/grass2, -/area/lv624/ground/jungle/west_jungle) -"aH" = ( -/obj/structure/flora/bush/ausbushes/var3/ywflowers, -/turf/open/gm/grass/grass1, -/area/lv624/ground/jungle/west_jungle) -"aI" = ( -/obj/structure/flora/grass/tallgrass/jungle/corner{ - dir = 10 - }, -/turf/open/gm/grass/grass1, -/area/lv624/ground/jungle/west_jungle) -"aJ" = ( -/obj/structure/flora/bush/ausbushes/var3/leafybush, -/turf/open/gm/grass/grass1, -/area/lv624/ground/jungle/west_jungle) -"aK" = ( -/turf/open/gm/dirtgrassborder/west, +/turf/open/gm/dirtgrassborder/grassdirt_corner2/south_west, /area/lv624/ground/jungle/west_jungle) "aU" = ( /turf/closed/wall/strata_ice/jungle, /area/lv624/ground/river/west_river) -"aV" = ( -/turf/open/gm/grass/grass1, -/area/lv624/ground/jungle/west_jungle) "aX" = ( /turf/open/gm/coast/beachcorner2/south_east, /area/lv624/ground/river/west_river) @@ -172,8 +107,7 @@ /turf/open/gm/river, /area/lv624/ground/river/west_river) "bV" = ( -/obj/structure/flora/bush/ausbushes/var3/fullgrass, -/turf/open/gm/dirtgrassborder/south, +/turf/open/gm/dirt, /area/lv624/ground/jungle/west_jungle) "gX" = ( /turf/closed/wall/rock/brown, @@ -268,7 +202,7 @@ ES ES ES qG -au +aE aD "} (4,1,1) = {" @@ -282,8 +216,8 @@ ai ad ad aq -at -ax +ES +bV aE "} (5,1,1) = {" @@ -297,9 +231,9 @@ bm bc bc bt -au -ay -az +bV +bV +bV "} (6,1,1) = {" bi @@ -312,9 +246,9 @@ aj bc bc bt -au +bV Za -aV +bV "} (7,1,1) = {" bi @@ -329,7 +263,7 @@ FJ bt bV Za -aF +bV "} (8,1,1) = {" bi @@ -342,9 +276,9 @@ bc bc am bt -au -az -aG +bV +bV +bV "} (9,1,1) = {" bx @@ -357,9 +291,9 @@ bc bc bc bt -au -aA -aH +bV +bV +bV "} (10,1,1) = {" bf @@ -373,8 +307,8 @@ bc aX ar bV -aV -aF +bV +bV "} (11,1,1) = {" bi @@ -386,10 +320,10 @@ bN bc bc bt -as -av -aB -aI +bV +bV +bV +bV "} (12,1,1) = {" bi @@ -403,8 +337,8 @@ bc ao zW aw -au -aJ +bV +bV "} (13,1,1) = {" bx @@ -418,12 +352,12 @@ bc bc ve Ms -av -aK +bV +bV "} (14,1,1) = {" bi -ab +bL af af af diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index 8af03368c922..7378a0c5fd9e 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -119,6 +119,16 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space) +"aaE" = ( +/obj/structure/sign/safety/storage{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/fore_hallway) "aaF" = ( /obj/structure/stairs{ dir = 1; @@ -512,18 +522,6 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/basketball) -"acJ" = ( -/mob/living/silicon/decoy/ship_ai{ - layer = 2.98; - pixel_y = -16 - }, -/obj/structure/blocker/invisible_wall, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "acK" = ( /obj/structure/desertdam/decals/road_edge{ pixel_x = 2 @@ -649,16 +647,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/stair_clone/upper) -"ado" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 8; - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "green" - }, -/area/almayer/living/starboard_garden) "adq" = ( /turf/closed/wall/almayer, /area/almayer/lifeboat_pumps/north1) @@ -1046,15 +1034,6 @@ }, /turf/open/floor/almayer, /area/almayer/living/offices/flight) -"afB" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/living/starboard_garden) "afE" = ( /obj/structure/machinery/vending/dinnerware, /obj/structure/machinery/firealarm{ @@ -1268,12 +1247,6 @@ }, /turf/open/floor/plating, /area/almayer/living/basketball) -"agB" = ( -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/living/starboard_garden) "agH" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/disposalpipe/segment{ @@ -1329,12 +1302,6 @@ icon_state = "test_floor4" }, /area/almayer/living/cafeteria_officer) -"agS" = ( -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/living/starboard_garden) "agT" = ( /turf/open/floor/prison{ icon_state = "kitchen" @@ -1388,12 +1355,6 @@ icon_state = "test_floor4" }, /area/almayer/powered) -"ahl" = ( -/turf/open/floor/almayer{ - dir = 9; - icon_state = "green" - }, -/area/almayer/living/starboard_garden) "aho" = ( /obj/structure/window/framed/almayer, /turf/open/floor/plating, @@ -1572,12 +1533,6 @@ allow_construction = 0 }, /area/almayer/stair_clone/upper) -"aiP" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/living/starboard_garden) "aiQ" = ( /obj/structure/machinery/faxmachine, /obj/structure/surface/table/almayer, @@ -1755,6 +1710,12 @@ icon_state = "redcorner" }, /area/almayer/shipboard/weapon_room) +"akh" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "bluecorner" + }, +/area/almayer/hallways/upper/midship_hallway) "akn" = ( /obj/structure/machinery/light{ dir = 4 @@ -1882,39 +1843,11 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"akS" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/lifeboat) -"akW" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/living/starboard_garden) -"akY" = ( -/obj/structure/cable/heavyduty{ - icon_state = "4-8" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/living/starboard_garden) "ald" = ( /turf/open/floor/almayer{ icon_state = "red" }, /area/almayer/shipboard/weapon_room) -"ale" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/structure/bed/chair{ - dir = 8 - }, -/turf/open/floor/almayer, -/area/almayer/living/starboard_garden) "alf" = ( /obj/structure/machinery/light{ dir = 8 @@ -1983,27 +1916,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/upper_medical) -"alF" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "Brig Lockdown Shutters"; - name = "\improper Brig Lockdown Shutter" - }, -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - dir = 1; - name = "\improper Brig Maintenance"; - closeOtherId = "brigmaint_s" - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "perma_lockdown_2"; - name = "\improper Perma Lockdown Shutter" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/perma) "alL" = ( /turf/closed/wall/almayer, /area/almayer/command/telecomms) @@ -2053,14 +1965,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/pilotbunks) -"amc" = ( -/obj/structure/pipes/vents/pump{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "orangecorner" - }, -/area/almayer/hallways/upper/stern_hallway) "amd" = ( /obj/structure/machinery/vending/cola{ density = 0; @@ -2429,6 +2333,23 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) +"aoz" = ( +/obj/structure/stairs{ + dir = 8; + icon_state = "ramptop" + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/effect/projector{ + name = "Almayer_Down2"; + vector_x = 1; + vector_y = -100 + }, +/turf/open/floor/plating/almayer{ + allow_construction = 0 + }, +/area/almayer/hallways/upper/fore_hallway) "aoA" = ( /obj/structure/machinery/light, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -2524,13 +2445,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering) -"aoV" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/lifeboat_pumps/north1) "aoW" = ( /obj/structure/machinery/portable_atmospherics/powered/pump, /obj/structure/machinery/camera/autoname/almayer{ @@ -2604,12 +2518,6 @@ icon_state = "plate" }, /area/almayer/living/pilotbunks) -"apr" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/lifeboat_pumps/north1) "aps" = ( /obj/effect/step_trigger/teleporter_vector{ name = "Almayer_Down2"; @@ -2628,16 +2536,6 @@ icon_state = "plate" }, /area/almayer/living/pilotbunks) -"apu" = ( -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/living/starboard_garden) "apz" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/door_control{ @@ -2825,13 +2723,6 @@ }, /turf/open/floor/plating, /area/almayer/engineering/upper_engineering) -"aqk" = ( -/obj/structure/sign/safety/escapepod{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer, -/area/almayer/living/starboard_garden) "aqm" = ( /obj/item/bedsheet/brown, /obj/structure/bed, @@ -2913,6 +2804,10 @@ icon_state = "test_floor4" }, /area/almayer/living/pilotbunks) +"aqB" = ( +/obj/structure/blocker/fuelpump, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/south1) "aqF" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_10" @@ -3138,6 +3033,23 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering) +"ary" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" + }, +/obj/structure/machinery/door_control{ + id = "OTStore"; + name = "Shutters"; + pixel_y = -24; + access_modified = 1; + req_one_access_txt = "35" + }, +/obj/structure/surface/rack, +/obj/item/reagent_container/glass/bucket/janibucket, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/engineering/lower/workshop/hangar) "arz" = ( /obj/structure/closet/firecloset, /turf/open/floor/almayer{ @@ -3302,55 +3214,12 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north2) -"asC" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ - name = "\improper Brig Lobby"; - closeOtherId = "brignorth" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/starboard_hallway) -"asD" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/structure/machinery/door_control{ - id = "ARES StairsUpper"; - name = "ARES Core Access"; - pixel_x = -24; - pixel_y = 24; - req_one_access_txt = "90;91;92" - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "asE" = ( /obj/structure/bed/chair/office/dark{ dir = 8 }, /turf/open/floor/almayer, /area/almayer/hallways/lower/repair_bay) -"asF" = ( -/obj/structure/machinery/door/airlock/almayer/secure/reinforced{ - access_modified = 1; - name = "\improper AI Reception"; - req_access = null; - req_one_access_txt = "91;92" - }, -/turf/open/floor/almayer/no_build{ - icon_state = "test_floor4" - }, -/area/almayer/command/airoom) -"asG" = ( -/obj/structure/surface/table/reinforced/almayer_B{ - climbable = 0; - indestructible = 1; - unacidable = 1; - unslashable = 1 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "asH" = ( /obj/structure/machinery/telecomms/bus/preset_three, /turf/open/floor/almayer{ @@ -3414,9 +3283,6 @@ icon_state = "orange" }, /area/almayer/command/cic) -"asS" = ( -/turf/open/floor/plating/plating_catwalk, -/area/almayer/living/starboard_garden) "asT" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, @@ -3582,11 +3448,43 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering) +"atz" = ( +/obj/structure/sign/safety/escapepod{ + pixel_y = 32 + }, +/obj/structure/sign/safety/east{ + pixel_x = 15; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "atH" = ( /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hallways/lower/starboard_midship_hallway) +"atJ" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "atK" = ( /turf/open/floor/almayer{ dir = 10; @@ -3655,19 +3553,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/pilotbunks) -"aub" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/lifeboat_pumps/north1) "auc" = ( /obj/effect/step_trigger/clone_cleaner, /obj/structure/machinery/door/poddoor/almayer/open{ @@ -3684,12 +3569,6 @@ /obj/structure/pipes/standard/simple/hidden/supply/no_boom, /turf/closed/wall/almayer/aicore/hull, /area/almayer/command/airoom) -"aug" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "aui" = ( /obj/structure/machinery/telecomms/hub/preset, /turf/open/floor/almayer{ @@ -3846,6 +3725,16 @@ icon_state = "plate" }, /area/almayer/living/pilotbunks) +"ava" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 + }, +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/midship_hallway) "avc" = ( /obj/structure/stairs/perspective{ dir = 4; @@ -3958,59 +3847,6 @@ icon_state = "test_floor4" }, /area/almayer/powered) -"avL" = ( -/obj/structure/machinery/door_control{ - id = "ARES StairsUpper"; - name = "ARES Core Access"; - pixel_x = -10; - pixel_y = -24; - req_one_access_txt = "91;92" - }, -/obj/structure/machinery/door_control{ - id = "ARES StairsLock"; - name = "ARES Exterior Lockdown"; - pixel_y = -24; - req_one_access_txt = "91;92" - }, -/obj/structure/surface/table/reinforced/almayer_B{ - climbable = 0; - indestructible = 1; - unacidable = 1; - unslashable = 1 - }, -/obj/structure/transmitter/rotary{ - name = "AI Reception Telephone"; - phone_category = "ARES"; - phone_color = "blue"; - phone_id = "AI Reception" - }, -/obj/structure/machinery/door_control{ - id = "ARES Emergency"; - name = "ARES Emergency Lockdown"; - pixel_x = 10; - pixel_y = -24; - req_one_access_txt = "91;92" - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) -"avM" = ( -/obj/structure/machinery/computer/cameras/almayer/ares{ - dir = 8; - pixel_x = 17; - pixel_y = 6 - }, -/obj/structure/surface/table/reinforced/almayer_B{ - climbable = 0; - indestructible = 1; - unacidable = 1; - unslashable = 1 - }, -/obj/item/paper_bin/uscm{ - pixel_y = 6 - }, -/obj/item/tool/pen, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "avN" = ( /obj/structure/machinery/telecomms/processor/preset_two, /turf/open/floor/almayer{ @@ -4321,10 +4157,6 @@ icon_state = "cargo" }, /area/almayer/living/pilotbunks) -"awY" = ( -/obj/effect/landmark/start/pilot, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/living/pilotbunks) "awZ" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/paper_bin/uscm{ @@ -4690,7 +4522,13 @@ /obj/item/storage/belt/medical/full, /obj/structure/machinery/computer/working_joe{ dir = 8; - pixel_x = 17 + pixel_x = 17; + pixel_y = 8 + }, +/obj/structure/machinery/computer/cameras/almayer/ares{ + dir = 8; + pixel_x = 17; + pixel_y = -6 }, /turf/open/floor/almayer{ icon_state = "plate" @@ -4701,21 +4539,6 @@ icon_state = "silvercorner" }, /area/almayer/command/cic) -"ayt" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/machinery/door/poddoor/almayer/open{ - dir = 4; - id = "CIC Lockdown"; - name = "\improper Combat Information Center Blast Door" - }, -/obj/structure/machinery/door/airlock/almayer/command/reinforced{ - name = "\improper Combat Information Center"; - closeOtherId = "ciclobby_n" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/cic) "ayu" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -5148,28 +4971,13 @@ icon_state = "silvercorner" }, /area/almayer/command/cic) -"aAl" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/almayer/command/reinforced{ - id_tag = "cic_exterior"; - name = "\improper Combat Information Center"; - closeOtherId = "ciclobby_n" - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - dir = 4; - id = "CIC Lockdown"; - name = "\improper Combat Information Center Blast Door" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" +"aAn" = ( +/obj/structure/sign/safety/escapepod{ + pixel_x = 8; + pixel_y = -32 }, -/area/almayer/command/cic) +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/north1) "aAq" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -5576,15 +5384,6 @@ icon_state = "test_floor4" }, /area/almayer/living/synthcloset) -"aBQ" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/firstaid/o2, -/obj/effect/spawner/random/tool, -/obj/effect/spawner/random/technology_scanner, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_p) "aBR" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/ashtray/glass, @@ -6037,13 +5836,13 @@ /area/almayer/living/grunt_rnr) "aDX" = ( /obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/cameras/containment{ - dir = 4 - }, /obj/structure/sign/safety/terminal{ pixel_x = 8; pixel_y = 32 }, +/obj/structure/machinery/computer/cameras/almayer/ares{ + dir = 4 + }, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -6057,6 +5856,25 @@ icon_state = "test_floor4" }, /area/almayer/medical/upper_medical) +"aEf" = ( +/obj/structure/sign/safety/hazard{ + pixel_y = 32 + }, +/obj/structure/sign/safety/airlock{ + pixel_x = 15; + pixel_y = 32 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/obj/structure/machinery/power/apc/almayer{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hallways/lower/starboard_umbilical) "aEg" = ( /turf/open/floor/almayer{ icon_state = "redfull" @@ -6442,6 +6260,19 @@ icon_state = "test_floor4" }, /area/almayer/command/cichallway) +"aGk" = ( +/obj/structure/machinery/door_control{ + id = "ARES Operations Left"; + name = "ARES Operations Shutter"; + pixel_x = -24; + pixel_y = -8; + req_one_access_txt = "90;91;92" + }, +/turf/open/floor/almayer/aicore/no_build{ + dir = 8; + icon_state = "ai_silver" + }, +/area/almayer/command/airoom) "aGm" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -6870,7 +6701,6 @@ /turf/open/floor/grass, /area/almayer/living/starboard_garden) "aIC" = ( -/obj/structure/surface/table/almayer, /obj/effect/decal/warning_stripes{ icon_state = "S" }, @@ -6887,6 +6717,7 @@ /obj/item/reagent_container/glass/beaker/large{ pixel_x = -6 }, +/obj/structure/surface/table/almayer, /turf/open/floor/almayer{ icon_state = "sterile_green_side" }, @@ -7534,6 +7365,12 @@ icon_state = "mono" }, /area/almayer/medical/hydroponics) +"aMl" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "aMm" = ( /obj/structure/surface/table/almayer, /obj/item/tool/crowbar, @@ -7588,6 +7425,11 @@ icon_state = "plate" }, /area/almayer/squads/alpha_bravo_shared) +"aMy" = ( +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/hallways/upper/starboard) "aMz" = ( /turf/open/floor/almayer, /area/almayer/squads/alpha) @@ -7734,12 +7576,30 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/alpha_bravo_shared) +"aNE" = ( +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "aNI" = ( /obj/structure/machinery/door/airlock/almayer/marine/alpha/tl, /turf/open/floor/almayer{ icon_state = "test_floor4" }, /area/almayer/squads/alpha) +"aNO" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/machinery/alarm/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "aNQ" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -7832,18 +7692,6 @@ icon_state = "cargo" }, /area/almayer/command/telecomms) -"aOw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "aOy" = ( /obj/structure/machinery/light{ dir = 1 @@ -7964,6 +7812,12 @@ "aOR" = ( /turf/open/floor/almayer, /area/almayer/living/chapel) +"aOS" = ( +/obj/structure/machinery/portable_atmospherics/canister/air, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/maint/upper/u_a_s) "aOU" = ( /obj/structure/platform{ dir = 4 @@ -8015,6 +7869,14 @@ /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/almayer, /area/almayer/squads/alpha_bravo_shared) +"aPg" = ( +/obj/structure/surface/table/almayer, +/obj/item/frame/table, +/obj/item/storage/toolbox/electrical, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "aPi" = ( /obj/structure/machinery/vending/cola, /turf/open/floor/almayer{ @@ -8176,6 +8038,18 @@ icon_state = "plating" }, /area/almayer/engineering/lower/engine_core) +"aPV" = ( +/obj/structure/sign/safety/high_voltage{ + pixel_y = -32 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 15; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "blue" + }, +/area/almayer/hallways/upper/fore_hallway) "aQb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -8226,6 +8100,13 @@ icon_state = "plate" }, /area/almayer/living/offices) +"aQx" = ( +/obj/structure/window/framed/almayer, +/obj/structure/curtain/open/shower{ + name = "hypersleep curtain" + }, +/turf/open/floor/plating, +/area/almayer/maint/upper/u_m_p) "aQy" = ( /obj/structure/transmitter{ dir = 8; @@ -8364,14 +8245,6 @@ icon_state = "test_floor4" }, /area/almayer/engineering/upper_engineering) -"aRl" = ( -/obj/structure/machinery/door_control/cl/office/door{ - pixel_y = -20 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hallways/upper/aft_hallway) "aRo" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -8380,12 +8253,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/bravo) -"aRp" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/lifeboat) "aRq" = ( /obj/structure/closet/secure_closet/staff_officer/gear, /obj/structure/machinery/camera/autoname/almayer{ @@ -8396,15 +8263,6 @@ icon_state = "plate" }, /area/almayer/living/bridgebunks) -"aRr" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/hallways/upper/stern_hallway) "aRt" = ( /turf/open/floor/almayer{ dir = 8; @@ -8595,18 +8453,6 @@ icon_state = "tcomms" }, /area/almayer/engineering/lower/engine_core) -"aSl" = ( -/obj/structure/machinery/light, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/structure/machinery/cm_vending/sorted/medical/bolted, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "sterile_green_corner" - }, -/area/almayer/medical/medical_science) "aSn" = ( /obj/item/stack/sheet/mineral/plastic{ amount = 15 @@ -9044,6 +8890,15 @@ icon_state = "plate" }, /area/almayer/living/captain_mess) +"aUB" = ( +/obj/structure/machinery/firealarm{ + pixel_y = 28 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "aUC" = ( /obj/structure/machinery/light{ dir = 4 @@ -9205,6 +9060,16 @@ icon_state = "bluefull" }, /area/almayer/command/cichallway) +"aVK" = ( +/obj/structure/machinery/camera/autoname/almayer{ + dir = 8; + name = "ship-grade camera" + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "aVL" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 8; @@ -9278,7 +9143,8 @@ "aWb" = ( /obj/structure/machinery/computer/working_joe{ dir = 4; - pixel_x = -17 + pixel_x = -17; + pixel_y = 8 }, /obj/structure/machinery/door_control/brbutton{ id = "engie_store"; @@ -9287,6 +9153,11 @@ pixel_y = 26; req_one_access_txt = "6" }, +/obj/structure/machinery/computer/cameras/almayer/ares{ + dir = 4; + pixel_x = -17; + pixel_y = -6 + }, /turf/open/floor/almayer{ dir = 1; icon_state = "orangecorner" @@ -9428,6 +9299,12 @@ icon_state = "test_floor4" }, /area/almayer/living/offices) +"aWM" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "greencorner" + }, +/area/almayer/hallways/upper/fore_hallway) "aWT" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1 @@ -9527,18 +9404,6 @@ icon_state = "cargo" }, /area/almayer/hallways/hangar) -"aYq" = ( -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/living/starboard_garden) -"aYs" = ( -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/living/starboard_garden) "aYt" = ( /turf/open/floor/almayer, /area/almayer/hallways/hangar) @@ -9604,12 +9469,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/operating_room_two) -"aYU" = ( -/obj/effect/landmark/yautja_teleport, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "aZe" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -9773,16 +9632,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/operating_room_one) -"bat" = ( -/obj/structure/machinery/door_control{ - id = "ARES Mainframe Right"; - name = "ARES Mainframe Lockdown"; - pixel_x = -24; - pixel_y = -24; - req_one_access_txt = "200;91;92" - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "baw" = ( /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south1) @@ -9944,13 +9793,6 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/starboard_missiles) -"bbX" = ( -/obj/effect/decal/cleanable/blood/oil, -/obj/structure/machinery/constructable_frame, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/north2) "bbY" = ( /obj/structure/machinery/cm_vending/clothing/smartgun/alpha, /turf/open/floor/almayer{ @@ -10009,6 +9851,19 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"bcg" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 + }, +/obj/structure/bed/sofa/south/white/left{ + pixel_y = 16 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "silver" + }, +/area/almayer/maint/upper/u_m_p) "bcm" = ( /turf/closed/wall/almayer, /area/almayer/hallways/hangar) @@ -10030,6 +9885,12 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"bct" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/maint/upper/u_a_p) "bcw" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -10374,13 +10235,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/chemistry) -"bek" = ( -/obj/structure/machinery/cm_vending/sorted/medical/marinemed, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "sterile_green_side" - }, -/area/almayer/medical/lower_medical_lobby) "ben" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -10489,6 +10343,18 @@ icon_state = "plate" }, /area/almayer/engineering/lower/engine_core) +"beN" = ( +/obj/structure/pipes/standard/cap/hidden{ + dir = 4 + }, +/obj/structure/sign/safety/life_support{ + pixel_x = 8; + pixel_y = -25 + }, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/north2) "beP" = ( /obj/item/stack/catwalk, /obj/structure/disposalpipe/segment{ @@ -10549,13 +10415,6 @@ }, /turf/open/floor/almayer, /area/almayer/living/chapel) -"bfb" = ( -/obj/effect/step_trigger/clone_cleaner, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "bfd" = ( /obj/structure/machinery/light{ dir = 1 @@ -10565,15 +10424,6 @@ icon_state = "green" }, /area/almayer/hallways/lower/port_midship_hallway) -"bff" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "bfl" = ( /turf/open/floor/almayer{ dir = 5; @@ -10736,12 +10586,6 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"bgh" = ( -/turf/open/floor/almayer{ - dir = 9; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "bgj" = ( /obj/structure/machinery/landinglight/ds1{ dir = 8 @@ -10908,6 +10752,25 @@ icon_state = "test_floor4" }, /area/almayer/living/chapel) +"bgM" = ( +/obj/structure/machinery/alarm/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "orange" + }, +/area/almayer/hallways/upper/midship_hallway) +"bgN" = ( +/obj/structure/sign/safety/medical{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "bgO" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -11036,6 +10899,15 @@ icon_state = "bluefull" }, /area/almayer/living/bridgebunks) +"bhR" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/fore_hallway) "bhT" = ( /obj/structure/cargo_container/lockmart/mid{ layer = 3.1; @@ -11063,23 +10935,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_m_p) -"bhZ" = ( -/obj/structure/surface/table/almayer, -/obj/item/frame/table, -/obj/item/storage/toolbox/electrical, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) -"bij" = ( -/obj/structure/sign/safety/maint{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/hallways/upper/aft_hallway) "biq" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/glass/beaker/large, @@ -11127,15 +10982,6 @@ "biA" = ( /turf/closed/wall/almayer/white, /area/almayer/medical/operating_room_three) -"biB" = ( -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "biC" = ( /obj/structure/largecrate/random/case, /obj/structure/machinery/access_button/airlock_exterior, @@ -11186,13 +11032,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/north2) -"biT" = ( -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/living/starboard_garden) "biV" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 8 @@ -11240,6 +11079,13 @@ icon_state = "red" }, /area/almayer/shipboard/brig/processing) +"bjv" = ( +/obj/structure/disposalpipe/junction, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/fore_hallway) "bjA" = ( /turf/open/floor/almayer{ dir = 9; @@ -11360,6 +11206,16 @@ }, /turf/open/floor/plating, /area/almayer/medical/operating_room_one) +"bkM" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "silver" + }, +/area/almayer/maint/upper/u_m_p) "bkN" = ( /obj/item/storage/firstaid/toxin{ pixel_x = 6; @@ -11871,14 +11727,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/bravo) -"bnF" = ( -/obj/structure/machinery/cryopod{ - pixel_y = 6 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/maint/hull/upper/u_m_p) "bnH" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -12036,14 +11884,6 @@ icon_state = "mono" }, /area/almayer/squads/req) -"boL" = ( -/turf/open/floor/almayer, -/area/almayer/living/starboard_garden) -"boU" = ( -/obj/structure/surface/table/almayer, -/obj/item/tool/weldingtool, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_m_s) "boV" = ( /obj/structure/cargo_container/wy/left, /obj/structure/prop/almayer/minigun_crate{ @@ -12385,12 +12225,6 @@ icon_state = "test_floor5" }, /area/almayer/squads/req) -"brm" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "brn" = ( /obj/structure/machinery/door/airlock/almayer/marine/bravo/smart, /turf/open/floor/almayer{ @@ -12648,6 +12482,10 @@ icon_state = "plate" }, /area/almayer/squads/bravo) +"btb" = ( +/obj/structure/window/framed/almayer, +/turf/open/floor/plating, +/area/almayer/maint/upper/u_a_s) "btc" = ( /obj/structure/bed/chair{ dir = 8; @@ -12895,12 +12733,6 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) -"bvd" = ( -/obj/structure/machinery/constructable_frame, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/north1) "bve" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/warning_stripes{ @@ -13099,15 +12931,6 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/lower_medical_medbay) -"bwN" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = 25 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "bwP" = ( /obj/effect/step_trigger/clone_cleaner, /turf/open/floor/plating/almayer{ @@ -13187,14 +13010,6 @@ icon_state = "redfull" }, /area/almayer/living/cryo_cells) -"bxt" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) "bxA" = ( /obj/structure/machinery/power/apc/almayer/hardened, /obj/effect/decal/warning_stripes{ @@ -13249,16 +13064,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/lower/workshop) -"bxV" = ( -/obj/structure/sign/safety/ladder{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "bxY" = ( /obj/structure/surface/table/almayer, /obj/structure/flora/pottedplant{ @@ -13375,15 +13180,6 @@ icon_state = "silver" }, /area/almayer/living/cryo_cells) -"byH" = ( -/obj/structure/bed/sofa/south/white/right{ - pixel_y = 16 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "silver" - }, -/area/almayer/maint/hull/upper/u_m_p) "bzg" = ( /obj/structure/pipes/vents/pump{ dir = 8; @@ -13585,12 +13381,6 @@ icon_state = "plate" }, /area/almayer/living/auxiliary_officer_office) -"bBc" = ( -/obj/structure/surface/rack, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_p) "bBd" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -13702,6 +13492,11 @@ icon_state = "plate" }, /area/almayer/living/auxiliary_officer_office) +"bBH" = ( +/turf/open/floor/almayer{ + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "bBN" = ( /obj/structure/machinery/light, /turf/open/floor/plating/plating_catwalk, @@ -13793,6 +13588,10 @@ icon_state = "dark_sterile" }, /area/almayer/medical/operating_room_three) +"bCs" = ( +/obj/docking_port/stationary/escape_pod/cl, +/turf/open/floor/plating, +/area/almayer/command/corporateliaison) "bCu" = ( /obj/structure/bed/chair/comfy/alpha{ dir = 4 @@ -13915,11 +13714,6 @@ icon_state = "plate" }, /area/almayer/shipboard/weapon_room) -"bDi" = ( -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/aft_hallway) "bDn" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/closed/wall/almayer, @@ -13935,12 +13729,6 @@ icon_state = "sterile_green" }, /area/almayer/medical/lockerroom) -"bDD" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/turf/open/floor/almayer, -/area/almayer/living/starboard_garden) "bDF" = ( /obj/structure/machinery/door/poddoor/almayer{ dir = 4; @@ -14364,12 +14152,6 @@ icon_state = "plate" }, /area/almayer/squads/bravo) -"bET" = ( -/obj/structure/machinery/cm_vending/sorted/medical/bolted, -/turf/open/floor/almayer{ - icon_state = "sterile_green_side" - }, -/area/almayer/medical/lockerroom) "bFa" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -15191,25 +14973,6 @@ /obj/effect/landmark/late_join/charlie, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/charlie) -"bKN" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ - dir = 2; - name = "\improper Brig Armoury"; - req_access = null; - req_one_access_txt = "1;3"; - closeOtherId = "brignorth" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/starboard_hallway) "bKP" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -15251,18 +15014,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_m_s) -"bLg" = ( -/obj/structure/disposalpipe/junction{ - dir = 8; - icon_state = "pipe-j2" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/turf/open/floor/almayer{ - icon_state = "orangecorner" - }, -/area/almayer/hallways/upper/stern_hallway) "bLh" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -15376,23 +15127,6 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/navigation) -"bLv" = ( -/obj/structure/machinery/door_control{ - id = "ARES StairsLower"; - name = "ARES Core Lockdown"; - pixel_x = 24; - pixel_y = -8; - req_one_access_txt = "90;91;92" - }, -/obj/structure/machinery/camera/autoname/almayer/containment/ares{ - dir = 8; - pixel_y = 2 - }, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_silver"; - dir = 4 - }, -/area/almayer/command/airoom) "bLw" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/light{ @@ -15440,6 +15174,21 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"bLF" = ( +/obj/structure/machinery/door/poddoor/almayer/open{ + dir = 4; + id = "Brig Lockdown Shutters"; + name = "\improper Brig Lockdown Shutter" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + closeOtherId = "brigmaint_n"; + name = "\improper Brig" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/starboard_hallway) "bLH" = ( /turf/open/floor/almayer{ dir = 8; @@ -15493,12 +15242,13 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/starboard_midship_hallway) -"bMi" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/almayer{ - icon_state = "cargo" +"bMg" = ( +/obj/structure/pipes/vents/pump/no_boom/gas{ + vent_tag = "Synth Bay"; + dir = 8 }, -/area/almayer/hallways/upper/aft_hallway) +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "bMq" = ( /obj/structure/machinery/cm_vending/sorted/cargo_guns/squad_prep, /obj/structure/machinery/light{ @@ -15648,22 +15398,12 @@ icon_state = "red" }, /area/almayer/shipboard/navigation) -"bMV" = ( -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_x = -8; - pixel_y = 28 - }, -/obj/structure/sign/safety/intercom{ - pixel_x = 14; - pixel_y = 32 - }, +"bMZ" = ( +/obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ - dir = 4; - icon_state = "bluecorner" + icon_state = "plate" }, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/maint/upper/u_f_p) "bNa" = ( /obj/structure/surface/table/almayer, /obj/item/folder/black, @@ -15678,12 +15418,6 @@ icon_state = "red" }, /area/almayer/shipboard/navigation) -"bNc" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orangecorner" - }, -/area/almayer/maint/hull/upper/u_a_s) "bNe" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 8; @@ -15865,16 +15599,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/charlie) -"bNI" = ( -/obj/structure/sign/safety/medical{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "bNL" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -15917,15 +15641,6 @@ icon_state = "red" }, /area/almayer/shipboard/navigation) -"bNT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) "bOq" = ( /obj/structure/prop/almayer/cannon_cables, /turf/open/floor/almayer{ @@ -16120,6 +15835,11 @@ icon_state = "red" }, /area/almayer/shipboard/weapon_room) +"bPi" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "bPk" = ( /obj/item/roller, /obj/item/roller, @@ -16183,22 +15903,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_medbay) -"bPB" = ( -/obj/structure/machinery/door/window/eastleft{ - req_one_access_txt = "2;21" - }, -/obj/structure/machinery/door/window/westright, -/obj/structure/machinery/door/poddoor/shutters/almayer{ - dir = 4; - id = "ROlobby1"; - name = "\improper RO Line 1" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/surface/table/reinforced/almayer_blend/north, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/squads/req) "bPC" = ( /obj/structure/sign/nosmoking_2{ pixel_x = 28 @@ -16460,6 +16164,15 @@ icon_state = "orangecorner" }, /area/almayer/hallways/lower/starboard_umbilical) +"bRO" = ( +/obj/structure/sign/safety/maint{ + pixel_x = 32 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "bRP" = ( /obj/structure/machinery/body_scanconsole, /obj/structure/disposalpipe/segment{ @@ -16473,22 +16186,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"bRR" = ( -/obj/structure/machinery/door/window/eastleft{ - req_one_access_txt = "2;21" - }, -/obj/structure/machinery/door/window/westright, -/obj/structure/machinery/door/poddoor/shutters/almayer{ - dir = 4; - id = "ROlobby2"; - name = "\improper RO Line 2" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/surface/table/reinforced/almayer_blend, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/squads/req) "bRV" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -16720,12 +16417,6 @@ icon_state = "blue" }, /area/almayer/squads/delta) -"bTD" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "greencorner" - }, -/area/almayer/hallways/upper/aft_hallway) "bTE" = ( /turf/open/floor/almayer{ dir = 4; @@ -16840,6 +16531,10 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/s_bow) +"bTY" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/port) "bUa" = ( /obj/structure/closet, /turf/open/floor/almayer{ @@ -16932,12 +16627,6 @@ icon_state = "blue" }, /area/almayer/squads/delta) -"bUx" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating, -/area/almayer/command/airoom) "bUy" = ( /obj/structure/closet/crate/ammo, /obj/structure/machinery/light/small, @@ -17094,6 +16783,10 @@ icon_state = "plate" }, /area/almayer/engineering/lower/engine_core) +"bVR" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_m_s) "bVU" = ( /turf/closed/wall/almayer/outer, /area/almayer/shipboard/port_point_defense) @@ -17220,6 +16913,18 @@ icon_state = "plate" }, /area/almayer/living/grunt_rnr) +"bXc" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "bXe" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/south2) @@ -17358,6 +17063,15 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/lower) +"bYL" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/upper/u_a_s) "bYW" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/shipboard/panic) @@ -17439,11 +17153,20 @@ /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/starboard_midship_hallway) "bZq" = ( -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" +/obj/effect/projector{ + name = "Almayer_AresUp"; + vector_x = -96; + vector_y = 65 }, -/area/almayer/hallways/upper/stern_hallway) +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/stairs{ + dir = 1; + icon_state = "ramptop" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "bZr" = ( /turf/open/floor/almayer{ dir = 1; @@ -17567,15 +17290,6 @@ icon_state = "green" }, /area/almayer/squads/req) -"cap" = ( -/obj/structure/surface/rack, -/obj/item/tool/wirecutters, -/obj/item/clothing/mask/gas, -/obj/item/clothing/mask/gas, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "caq" = ( /obj/structure/machinery/light/small, /turf/open/floor/plating/plating_catwalk, @@ -17724,12 +17438,14 @@ icon_state = "test_floor4" }, /area/almayer/medical/lower_medical_medbay) -"cbK" = ( -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - icon_state = "red" +"cbF" = ( +/obj/structure/closet/secure_closet/personal/cabinet{ + pixel_x = 1; + pixel_y = 17; + req_access = null }, -/area/almayer/hallways/upper/aft_hallway) +/turf/open/floor/almayer, +/area/almayer/living/numbertwobunks) "cbL" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 1; @@ -17750,27 +17466,6 @@ icon_state = "red" }, /area/almayer/living/cryo_cells) -"ccc" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - pixel_x = -1 - }, -/obj/structure/machinery/door/airlock/almayer/research/reinforced{ - dir = 8; - name = "\improper Containment Airlock"; - closeOtherId = "containment_n" - }, -/obj/structure/machinery/door/poddoor/almayer/biohazard/white{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/medical/containment) "ccd" = ( /obj/structure/machinery/cm_vending/sorted/cargo_guns/squad_prep, /turf/open/floor/almayer{ @@ -17813,6 +17508,16 @@ icon_state = "plate" }, /area/almayer/medical/morgue) +"ccx" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out" + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "ccG" = ( /obj/structure/largecrate/random/secure, /obj/effect/decal/warning_stripes{ @@ -17937,6 +17642,21 @@ icon_state = "plate" }, /area/almayer/squads/charlie) +"cdZ" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/upper/u_m_s) +"cea" = ( +/obj/structure/machinery/fuelpump, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/south2) "ceg" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -17946,12 +17666,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/alpha) -"ceu" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "green" - }, -/area/almayer/living/starboard_garden) "ceC" = ( /obj/structure/prop/almayer/ship_memorial, /turf/open/floor/plating/almayer, @@ -17974,6 +17688,18 @@ icon_state = "plate" }, /area/almayer/living/bridgebunks) +"ceV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" + }, +/area/almayer/hallways/upper/midship_hallway) "ceY" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -18219,15 +17945,6 @@ /obj/structure/closet/secure_closet/guncabinet/red/mp_armory_shotgun, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/armory) -"chC" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "chL" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -18434,15 +18151,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/north2) -"ciI" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "ciN" = ( /turf/open/floor/almayer{ dir = 6; @@ -18503,6 +18211,14 @@ icon_state = "red" }, /area/almayer/shipboard/brig/cells) +"cjm" = ( +/obj/structure/surface/rack, +/obj/item/tool/wet_sign, +/obj/item/tool/wet_sign, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_p) "cjt" = ( /turf/open/floor/almayer{ icon_state = "orange" @@ -18675,6 +18391,14 @@ icon_state = "test_floor4" }, /area/almayer/engineering/lower/engine_core) +"cla" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) "cle" = ( /turf/open/floor/almayer{ dir = 4; @@ -19013,38 +18737,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/north2) -"cmI" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/machinery/door/airlock/almayer/security/reinforced{ - access_modified = 1; - name = "\improper Astronavigational Deck"; - req_access = null; - req_one_access_txt = "3;19"; - closeOtherId = "astroladder_n" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/navigation) -"cmJ" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/machinery/door/airlock/almayer/security/reinforced{ - access_modified = 1; - name = "\improper Astronavigational Deck"; - req_access = null; - req_one_access_txt = "3;19"; - closeOtherId = "astroladder_s" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/navigation) "cmK" = ( /obj/structure/window/reinforced, /turf/open/floor/almayer{ @@ -19072,23 +18764,24 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_a_p) +"cmS" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 9 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "silver" + }, +/area/almayer/hallways/upper/fore_hallway) "cmV" = ( /obj/effect/landmark/yautja_teleport, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_a_p) -"cna" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/port) "cnd" = ( /obj/structure/machinery/door/airlock/almayer/secure/reinforced{ dir = 2; @@ -19099,6 +18792,12 @@ icon_state = "test_floor4" }, /area/almayer/powered) +"cnm" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_p) "cnn" = ( /obj/effect/step_trigger/clone_cleaner, /obj/effect/decal/warning_stripes{ @@ -19113,12 +18812,6 @@ icon_state = "red" }, /area/almayer/hallways/upper/port) -"cnp" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "cnq" = ( /obj/structure/machinery/line_nexter{ id = "line1"; @@ -19456,13 +19149,12 @@ /obj/structure/window/framed/almayer/hull/hijack_bustable, /turf/open/floor/plating, /area/almayer/squads/req) -"cpQ" = ( -/obj/structure/sign/safety/autoopenclose{ - pixel_x = 7; - pixel_y = 32 +"cpP" = ( +/obj/structure/blocker/fuelpump, +/turf/open/floor/almayer{ + icon_state = "mono" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_m_p) +/area/almayer/lifeboat_pumps/north1) "cqd" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -19661,6 +19353,17 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) +"ctJ" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/machinery/cm_vending/sorted/medical/bolted, +/obj/structure/medical_supply_link, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "sterile_green_side" + }, +/area/almayer/medical/lower_medical_medbay) "ctQ" = ( /turf/open/floor/almayer{ icon_state = "silver" @@ -19678,15 +19381,6 @@ icon_state = "test_floor4" }, /area/almayer/shipboard/brig/cryo) -"cui" = ( -/obj/structure/machinery/status_display{ - pixel_y = 30 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "cuq" = ( /obj/structure/machinery/computer/arcade, /turf/open/floor/wood/ship, @@ -19712,19 +19406,6 @@ "cuC" = ( /turf/closed/wall/almayer/outer, /area/almayer/engineering/upper_engineering/starboard) -"cuI" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" - }, -/obj/structure/sign/safety/stairs{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "cuN" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -19745,15 +19426,6 @@ icon_state = "test_floor4" }, /area/almayer/squads/alpha) -"cva" = ( -/obj/structure/machinery/door/airlock/almayer/secure/reinforced{ - name = "\improper Armourer's Workshop"; - req_access = null - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/maint/hull/upper/u_m_s) "cvb" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -19769,12 +19441,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/starboard_fore_hallway) -"cvi" = ( -/obj/structure/machinery/vending/hydroseeds, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "cvx" = ( /turf/closed/wall/almayer, /area/almayer/maint/lower/cryo_cells) @@ -19803,16 +19469,6 @@ icon_state = "silver" }, /area/almayer/command/cic) -"cwi" = ( -/obj/structure/sign/safety/rewire{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "cwo" = ( /obj/structure/largecrate/random/mini/chest{ pixel_x = 4 @@ -19829,14 +19485,6 @@ icon_state = "red" }, /area/almayer/shipboard/brig/starboard_hallway) -"cwL" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = -25 - }, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "cwS" = ( /obj/structure/blocker/invisible_wall, /turf/open/floor/almayer/aicore/no_build, @@ -19878,6 +19526,14 @@ icon_state = "red" }, /area/almayer/shipboard/brig/starboard_hallway) +"cyh" = ( +/obj/structure/machinery/door/airlock/almayer/generic/glass{ + name = "\improper Passenger Cryogenics Bay" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/upper/u_m_p) "cyo" = ( /obj/structure/machinery/vending/cigarette, /turf/open/floor/almayer{ @@ -19912,6 +19568,16 @@ icon_state = "orange" }, /area/almayer/maint/upper/mess) +"cyP" = ( +/obj/structure/machinery/cm_vending/clothing/intelligence_officer{ + density = 0; + pixel_x = -32 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "silver" + }, +/area/almayer/command/securestorage) "cyR" = ( /obj/structure/bed/chair{ dir = 8 @@ -19932,19 +19598,6 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cells) -"czJ" = ( -/obj/structure/sign/safety/distribution_pipes{ - pixel_x = 15; - pixel_y = 32 - }, -/obj/structure/sign/safety/intercom{ - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "czN" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -19964,6 +19617,16 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/starboard_midship_hallway) +"cAa" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/janitorialcart, +/obj/item/tool/mop, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_p) "cAm" = ( /obj/structure/bed/chair/office/light{ dir = 8 @@ -20037,21 +19700,6 @@ icon_state = "cargo" }, /area/almayer/engineering/upper_engineering/port) -"cBm" = ( -/obj/effect/projector{ - name = "Almayer_AresUp"; - vector_x = -97; - vector_y = 65 - }, -/obj/structure/platform{ - dir = 4 - }, -/obj/structure/stairs{ - dir = 1; - icon_state = "ramptop" - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "cBs" = ( /obj/structure/bed/chair, /obj/effect/decal/warning_stripes{ @@ -20177,19 +19825,34 @@ /area/almayer/living/grunt_rnr) "cDH" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/machinery/computer/cameras/wooden_tv/prop{ +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{ pixel_y = 29 }, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/living/briefing) +"cDI" = ( +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/midship_hallway) "cDN" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/lobby) +"cDP" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "silvercorner" + }, +/area/almayer/hallways/upper/midship_hallway) "cDZ" = ( /obj/structure/surface/table/almayer, /obj/item/paper, @@ -20254,6 +19917,30 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/charlie) +"cEG" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/hallways/upper/fore_hallway) +"cFg" = ( +/obj/structure/stairs{ + dir = 1; + icon_state = "ramptop" + }, +/obj/effect/projector{ + name = "Almayer_AresUp2"; + vector_x = -102; + vector_y = 61 + }, +/obj/structure/machinery/door_control{ + id = "ARES ReceptStairs2"; + name = "ARES Reception Stairway Shutters"; + pixel_x = 24; + req_one_access_txt = "91;92" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "cFh" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -20282,18 +19969,6 @@ icon_state = "red" }, /area/almayer/shipboard/brig/processing) -"cFH" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "cFP" = ( /obj/structure/sign/safety/outpatient{ pixel_x = -17; @@ -20319,6 +19994,12 @@ icon_state = "orange" }, /area/almayer/maint/hull/lower/l_m_s) +"cGO" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "cGR" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/upper/u_m_s) @@ -20356,12 +20037,6 @@ icon_state = "plate" }, /area/almayer/squads/bravo) -"cHn" = ( -/obj/structure/largecrate/random/barrel/yellow, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/upper/u_m_p) "cHu" = ( /turf/closed/wall/almayer/research/containment/wall/south, /area/almayer/medical/containment/cell/cl) @@ -20432,6 +20107,12 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, /area/almayer/hallways/lower/port_fore_hallway) +"cIS" = ( +/obj/structure/closet, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_s) "cIW" = ( /obj/structure/machinery/door/airlock/almayer/engineering{ name = "\improper Engineering Engine Monitoring" @@ -20440,15 +20121,6 @@ icon_state = "test_floor4" }, /area/almayer/engineering/upper_engineering/starboard) -"cJh" = ( -/obj/structure/window/framed/almayer, -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - dir = 8; - id = "Warden Office Shutters"; - name = "\improper Privacy Shutters" - }, -/turf/open/floor/plating, -/area/almayer/shipboard/brig/cells) "cJm" = ( /obj/structure/machinery/light{ dir = 8 @@ -20475,10 +20147,37 @@ icon_state = "plate" }, /area/almayer/living/pilotbunks) +"cJv" = ( +/obj/structure/stairs{ + dir = 1; + icon_state = "ramptop" + }, +/obj/effect/projector{ + name = "Almayer_AresDown2"; + vector_x = 102; + vector_y = -61 + }, +/turf/open/floor/plating, +/area/almayer/command/airoom) "cJE" = ( /obj/structure/sign/prop2, /turf/closed/wall/almayer, /area/almayer/shipboard/sea_office) +"cJI" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/disposaloutlet{ + density = 0; + desc = "An outlet for the pneumatic delivery system."; + icon_state = "delivery_outlet"; + name = "take-ins"; + pixel_x = -1; + pixel_y = 28; + range = 0 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "cJK" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -20530,16 +20229,6 @@ icon_state = "sterile_green" }, /area/almayer/medical/containment) -"cJV" = ( -/obj/effect/projector{ - name = "Almayer_Down3"; - vector_x = 1; - vector_y = -102 - }, -/turf/open/floor/almayer{ - allow_construction = 0 - }, -/area/almayer/hallways/upper/aft_hallway) "cKm" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/glass/bucket/mopbucket{ @@ -20573,12 +20262,14 @@ icon_state = "orangecorner" }, /area/almayer/engineering/upper_engineering/port) -"cKW" = ( +"cLd" = ( +/obj/structure/closet, +/obj/item/clothing/glasses/mgoggles/prescription, +/obj/item/clothing/glasses/mbcg, /turf/open/floor/almayer{ - dir = 5; - icon_state = "blue" + icon_state = "plate" }, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/maint/upper/u_a_s) "cLl" = ( /obj/structure/surface/table/almayer, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -20642,10 +20333,19 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/processing) +"cMx" = ( +/turf/closed/wall/almayer, +/area/almayer/maint/upper/u_a_s) "cMz" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/upper/port) +"cMH" = ( +/obj/structure/sink{ + pixel_y = 24 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_s) "cMN" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -20684,6 +20384,12 @@ icon_state = "orange" }, /area/almayer/hallways/lower/port_aft_hallway) +"cNC" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/aft_hallway) "cNH" = ( /obj/structure/machinery/door/poddoor/shutters/almayer/containment{ id = "Containment Cell 4"; @@ -20742,6 +20448,18 @@ }, /turf/open/floor/almayer, /area/almayer/living/grunt_rnr) +"cOd" = ( +/obj/structure/blocker/fuelpump, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/south2) +"cOe" = ( +/turf/open/floor/almayer{ + dir = 5; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "cOh" = ( /obj/item/stool{ pixel_x = 15; @@ -20775,6 +20493,27 @@ icon_state = "outerhull_dir" }, /area/almayer/engineering/upper_engineering/starboard) +"cOV" = ( +/obj/effect/projector{ + name = "Almayer_AresDown"; + vector_x = 96; + vector_y = -65 + }, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/stairs{ + dir = 1; + icon_state = "ramptop" + }, +/obj/structure/machinery/door_control{ + id = "ARES StairsUpper"; + name = "ARES Core Access"; + pixel_x = -24; + req_one_access_txt = "90;91;92" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "cOY" = ( /obj/item/clothing/under/blackskirt{ desc = "A stylish skirt, in a business-black and red colour scheme."; @@ -20904,6 +20643,28 @@ "cQv" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/shipboard/brig/general_equipment) +"cQC" = ( +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_x = -8; + pixel_y = 28 + }, +/obj/structure/sign/safety/intercom{ + pixel_x = 14; + pixel_y = 32 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) +"cQF" = ( +/obj/structure/sign/safety/ladder{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "cQG" = ( /turf/open/floor/almayer, /area/almayer/shipboard/brig/starboard_hallway) @@ -21007,12 +20768,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/port_midship_hallway) -"cSM" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "cSP" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 6 @@ -21084,6 +20839,11 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/s_bow) +"cUo" = ( +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/lifeboat_pumps/north1) "cVb" = ( /obj/structure/machinery/sentry_holder/almayer, /turf/open/floor/almayer{ @@ -21134,12 +20894,6 @@ icon_state = "plate" }, /area/almayer/living/gym) -"cVT" = ( -/turf/open/floor/almayer{ - dir = 6; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "cVZ" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, @@ -21166,15 +20920,6 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/lower_medical_medbay) -"cWo" = ( -/obj/structure/machinery/door/airlock/almayer/maint, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/maint/hull/upper/u_a_p) "cWr" = ( /obj/structure/machinery/photocopier{ density = 0; @@ -21213,12 +20958,6 @@ icon_state = "green" }, /area/almayer/living/offices) -"cWv" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "green" - }, -/area/almayer/living/starboard_garden) "cWy" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/item/reagent_container/food/snacks/packaged_burger, @@ -21238,17 +20977,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) -"cXd" = ( -/obj/structure/surface/rack, -/obj/item/stack/cable_coil, -/obj/item/attachable/flashlight/grip, -/obj/item/ammo_box/magazine/l42a{ - pixel_y = 14 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_s) "cXi" = ( /obj/structure/machinery/light{ unacidable = 1; @@ -21270,6 +20998,35 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_m_s) +"cXq" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) +"cXz" = ( +/obj/structure/surface/table/almayer, +/obj/item/clothing/mask/cigarette/pipe{ + pixel_x = 8 + }, +/obj/structure/transmitter/rotary{ + name = "Reporter Telephone"; + phone_category = "Almayer"; + phone_id = "Reporter"; + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/device/toner{ + pixel_x = -2; + pixel_y = -11 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/command/combat_correspondent) "cXC" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -21398,6 +21155,10 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_a_p) +"cZq" = ( +/obj/item/tool/wet_sign, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_f_s) "cZB" = ( /obj/structure/machinery/door/airlock/almayer/maint, /turf/open/floor/almayer{ @@ -21456,6 +21217,16 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) +"dan" = ( +/obj/structure/surface/table/almayer, +/obj/item/tool/weldpack, +/obj/item/storage/toolbox/mechanical, +/obj/item/reagent_container/spray/cleaner, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/almayer/maint/upper/u_a_s) "daz" = ( /turf/closed/wall/almayer/aicore/hull, /area/almayer/command/airoom) @@ -21465,6 +21236,15 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_f_p) +"daI" = ( +/obj/structure/machinery/door/airlock/almayer/secure/reinforced{ + name = "\improper Armourer's Workshop"; + req_access = null + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/upper/u_m_s) "dbc" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -21582,16 +21362,24 @@ icon_state = "red" }, /area/almayer/shipboard/brig/perma) +"dcR" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/fore_hallway) "dcT" = ( /obj/structure/pipes/vents/scrubber{ dir = 1 }, /turf/open/floor/almayer, /area/almayer/maint/hull/upper/u_f_p) -"dcZ" = ( -/obj/structure/machinery/power/apc/almayer, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/upper/u_m_p) +"dcX" = ( +/obj/structure/machinery/light/small, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_p) "ddf" = ( /obj/structure/machinery/portable_atmospherics/canister/air, /turf/open/floor/almayer{ @@ -21611,12 +21399,6 @@ icon_state = "redfull" }, /area/almayer/living/briefing) -"ddp" = ( -/turf/open/floor/almayer{ - dir = 9; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "ddw" = ( /obj/structure/machinery/cm_vending/sorted/tech/comp_storage, /obj/structure/sign/safety/terminal{ @@ -21626,31 +21408,12 @@ icon_state = "plate" }, /area/almayer/engineering/lower/workshop/hangar) -"ddx" = ( -/obj/structure/machinery/status_display{ - pixel_y = 30 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "ddz" = ( /obj/structure/sign/safety/maint{ pixel_x = 32 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/weapon_room) -"ddF" = ( -/obj/structure/sign/safety/hvac_old{ - pixel_x = 8; - pixel_y = 32 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_p) "ddL" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, @@ -21659,6 +21422,15 @@ /obj/structure/disposalpipe/segment, /turf/closed/wall/almayer, /area/almayer/engineering/lower/workshop/hangar) +"ddO" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/aft_hallway) "deg" = ( /obj/structure/platform_decoration{ dir = 1 @@ -21672,18 +21444,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_m_s) -"deA" = ( -/obj/item/reagent_container/glass/bucket/janibucket{ - pixel_x = -1; - pixel_y = 13 - }, -/obj/structure/sign/safety/water{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/upper/u_m_s) "deD" = ( /obj/structure/machinery/prop/almayer/CICmap{ pixel_x = -5 @@ -21737,6 +21497,15 @@ icon_state = "test_floor4" }, /area/almayer/shipboard/brig/cells) +"dfA" = ( +/obj/structure/machinery/alarm/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "dfC" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -21777,12 +21546,6 @@ icon_state = "red" }, /area/almayer/shipboard/brig/chief_mp_office) -"dgP" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "dha" = ( /turf/open/floor/almayer{ icon_state = "plate" @@ -21822,6 +21585,16 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_a_p) +"dhA" = ( +/obj/structure/largecrate/supply/generator, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/maint/upper/u_a_p) "dhQ" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, @@ -21849,6 +21622,17 @@ icon_state = "test_floor4" }, /area/almayer/hallways/lower/starboard_midship_hallway) +"diw" = ( +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = 28 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/fore_hallway) "diz" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/dropshiprear/lifeboat/blastdoor{ id_tag = "Boat1-D4"; @@ -21872,13 +21656,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/alpha_bravo_shared) -"djd" = ( -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "djQ" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -21930,36 +21707,15 @@ icon_state = "red" }, /area/almayer/living/briefing) -"dkt" = ( -/obj/structure/surface/rack, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0; - pixel_x = -6; - pixel_y = 7 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0; - pixel_x = -6; - pixel_y = -3 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0; - pixel_x = 5; - pixel_y = 9 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0; - pixel_x = 5; - pixel_y = -3 - }, -/obj/structure/noticeboard{ - desc = "The note is haphazardly attached to the cork board by what looks like a bent firing pin. 'The order has come in to perform end of life service checks on all L42A service rifles, any that are defective are to be dis-assembled and packed into a crate and sent to to the cargo hold. L42A service rifles that are in working order after servicing, are to be locked in secure cabinets ready to be off-loaded at Chinook. Scheduled end of life service for the L42A - Complete'"; - pixel_y = 29 +"dkz" = ( +/obj/structure/pipes/vents/scrubber/no_boom{ + dir = 4 }, -/turf/open/floor/almayer{ - icon_state = "plate" +/turf/open/floor/almayer/aicore/no_build{ + dir = 8; + icon_state = "ai_silver" }, -/area/almayer/maint/hull/upper/u_m_s) +/area/almayer/command/airoom) "dkO" = ( /obj/effect/step_trigger/teleporter_vector{ name = "Almayer_Down2"; @@ -21995,6 +21751,12 @@ icon_state = "orangefull" }, /area/almayer/living/briefing) +"dlo" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/starboard) "dlT" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer{ @@ -22089,22 +21851,14 @@ icon_state = "test_floor4" }, /area/almayer/shipboard/brig/cells) -"dni" = ( -/obj/structure/sign/safety/life_support{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) -"dnm" = ( -/obj/structure/machinery/cm_vending/sorted/cargo_guns/intelligence_officer, -/obj/structure/machinery/light{ - dir = 8 - }, +"dnh" = ( +/obj/structure/surface/rack, +/obj/item/book/manual/orbital_cannon_manual, /turf/open/floor/almayer{ - icon_state = "silverfull" + dir = 9; + icon_state = "red" }, -/area/almayer/command/computerlab) +/area/almayer/maint/upper/u_a_p) "dnC" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 6 @@ -22198,6 +21952,13 @@ /obj/structure/surface/rack, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering/port) +"doX" = ( +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/hallways/upper/aft_hallway) "dpo" = ( /obj/structure/machinery/light{ dir = 1 @@ -22213,6 +21974,21 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/north1) +"dpp" = ( +/obj/effect/projector{ + name = "Almayer_AresUp"; + vector_x = -96; + vector_y = 65 + }, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/stairs{ + dir = 1; + icon_state = "ramptop" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "dpA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -22221,19 +21997,6 @@ icon_state = "plate" }, /area/almayer/hallways/lower/starboard_aft_hallway) -"dpN" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "dpO" = ( /obj/structure/machinery/cm_vending/clothing/marine/delta{ density = 0; @@ -22244,12 +22007,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/delta) -"dpS" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "bluecorner" - }, -/area/almayer/hallways/upper/aft_hallway) "dqb" = ( /obj/structure/sign/safety/security{ pixel_x = -16 @@ -22344,6 +22101,19 @@ icon_state = "sterile_green" }, /area/almayer/medical/hydroponics) +"drU" = ( +/obj/structure/machinery/door_control{ + id = "ARES JoeCryo"; + name = "ARES WorkingJoe Bay Shutters"; + req_one_access_txt = "91;92"; + pixel_x = 24 + }, +/obj/structure/machinery/camera/autoname/almayer/containment/ares{ + autoname = 0; + c_tag = "AI - Comms" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "dsA" = ( /obj/effect/decal/cleanable/blood, /turf/open/floor/almayer{ @@ -22356,6 +22126,15 @@ icon_state = "orangecorner" }, /area/almayer/hallways/lower/starboard_midship_hallway) +"dtu" = ( +/obj/structure/machinery/portable_atmospherics/canister/air, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/maint/upper/u_a_s) "dtH" = ( /obj/structure/bed/chair/comfy{ dir = 8 @@ -22368,25 +22147,6 @@ }, /turf/open/floor/almayer, /area/almayer/living/chapel) -"dum" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/almayer/command/reinforced{ - id_tag = "cic_exterior"; - name = "\improper Combat Information Center"; - closeOtherId = "ciclobby_s" - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - dir = 4; - id = "CIC Lockdown"; - name = "\improper Combat Information Center Blast Door" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/cic) "duo" = ( /obj/structure/machinery/power/apc/almayer{ dir = 8 @@ -22423,11 +22183,6 @@ icon_state = "emeraldfull" }, /area/almayer/living/briefing) -"dux" = ( -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/living/starboard_garden) "duz" = ( /obj/structure/mirror{ pixel_y = 32 @@ -22444,14 +22199,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) -"duR" = ( -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" - }, -/obj/structure/pipes/standard/manifold/hidden/supply, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) "duT" = ( /obj/structure/bed, /obj/structure/machinery/flasher{ @@ -22534,6 +22281,14 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/medical/medical_science) +"dwu" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/upper/u_f_s) "dwA" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/sign/safety/bathunisex{ @@ -22553,15 +22308,6 @@ icon_state = "test_floor4" }, /area/almayer/engineering/upper_engineering/starboard) -"dwJ" = ( -/obj/structure/sign/safety/maint{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/hallways/upper/stern_hallway) "dxu" = ( /obj/structure/sink{ dir = 1; @@ -22692,11 +22438,6 @@ icon_state = "plating" }, /area/almayer/squads/req) -"dyJ" = ( -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hallways/upper/aft_hallway) "dyK" = ( /obj/structure/machinery/light{ dir = 8 @@ -22709,6 +22450,22 @@ "dzp" = ( /turf/open/floor/almayer, /area/almayer/command/corporateliaison) +"dzt" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + layer = 3.3 + }, +/obj/structure/machinery/camera/autoname/almayer/containment/ares{ + dir = 8; + autoname = 0; + c_tag = "AI - Secondary Processors" + }, +/turf/open/floor/almayer/aicore/glowing/no_build, +/area/almayer/command/airoom) "dzG" = ( /obj/structure/reagent_dispensers/peppertank{ pixel_y = 26 @@ -22721,6 +22478,21 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_a_p) +"dAl" = ( +/obj/item/paper_bin/wy, +/obj/structure/surface/table/woodentable/fancy, +/obj/item/tool/pen/clicky, +/obj/item/tool/pen/clicky, +/obj/structure/machinery/status_display{ + pixel_x = -32 + }, +/obj/item/desk_bell{ + anchored = 1; + pixel_x = -8; + pixel_y = 8 + }, +/turf/open/floor/carpet, +/area/almayer/command/corporateliaison) "dAm" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -22741,18 +22513,6 @@ icon_state = "test_floor4" }, /area/almayer/squads/bravo) -"dAr" = ( -/obj/structure/pipes/standard/cap/hidden{ - dir = 4 - }, -/obj/structure/sign/safety/life_support{ - pixel_x = 14; - pixel_y = -25 - }, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/hallways/upper/stern_hallway) "dAA" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12 @@ -22884,25 +22644,6 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/brig/execution) -"dCb" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/obj/structure/sign/safety/restrictedarea{ - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "dCe" = ( /obj/structure/machinery/cryopod{ pixel_y = 6 @@ -22971,22 +22712,6 @@ icon_state = "plate" }, /area/almayer/hallways/lower/port_aft_hallway) -"dDc" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 8 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "dDp" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -23137,11 +22862,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/armory) -"dFd" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) "dFk" = ( /turf/open/floor/almayer{ dir = 8; @@ -23161,6 +22881,13 @@ icon_state = "red" }, /area/almayer/shipboard/brig/starboard_hallway) +"dFB" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/light, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/aft_hallway) "dFF" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_21" @@ -23206,20 +22933,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_m_s) -"dGl" = ( -/obj/effect/step_trigger/teleporter_vector{ - name = "Almayer_AresUp"; - vector_x = -97; - vector_y = 65 - }, -/obj/structure/platform{ - dir = 8 - }, -/obj/structure/stairs{ - dir = 1 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "dGr" = ( /obj/structure/pipes/vents/scrubber{ dir = 8 @@ -23384,18 +23097,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/p_bow) -"dJF" = ( -/obj/structure/pipes/standard/cap/hidden{ - dir = 4 - }, -/obj/structure/sign/safety/hvac_old{ - pixel_x = 15; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/hallways/upper/stern_hallway) "dJG" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -23417,17 +23118,38 @@ "dJJ" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/execution_storage) +"dJO" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/machinery/door_control{ + id = "ARES Interior"; + indestructible = 1; + name = "ARES Chamber Lockdown"; + pixel_x = -24; + pixel_y = 8; + req_one_access_txt = "90;91;92" + }, +/obj/structure/machinery/door/poddoor/railing{ + closed_layer = 4; + density = 0; + id = "ARES Railing"; + layer = 2.1; + open_layer = 2.1; + unacidable = 0; + unslashable = 0 + }, +/turf/open/floor/almayer/aicore/no_build{ + dir = 8; + icon_state = "ai_silver" + }, +/area/almayer/command/airoom) "dKp" = ( /turf/open/floor/almayer/research/containment/corner{ dir = 4 }, /area/almayer/medical/containment/cell/cl) -"dKD" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "silvercorner" - }, -/area/almayer/hallways/upper/aft_hallway) "dKK" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -23498,17 +23220,31 @@ icon_state = "cargo" }, /area/almayer/lifeboat_pumps/south1) +"dMj" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_m_p) "dMB" = ( /turf/open/floor/almayer{ dir = 8; icon_state = "plating_striped" }, /area/almayer/living/cryo_cells) +"dME" = ( +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/hallways/upper/fore_hallway) "dMK" = ( /turf/closed/wall/almayer/research/containment/wall/corner{ dir = 8 }, /area/almayer/medical/containment/cell) +"dNj" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/fore_hallway) "dNq" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -23531,6 +23267,18 @@ }, /turf/open/floor/plating, /area/almayer/living/cryo_cells) +"dNv" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/fore_hallway) "dNM" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/food/condiment/hotsauce/tabasco{ @@ -23595,11 +23343,6 @@ icon_state = "cargo_arrow" }, /area/almayer/hallways/lower/repair_bay) -"dOW" = ( -/turf/open/floor/almayer{ - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "dPd" = ( /obj/structure/surface/table/almayer, /obj/item/device/flashlight/lamp{ @@ -23620,12 +23363,6 @@ icon_state = "plate" }, /area/almayer/hallways/lower/starboard_umbilical) -"dPl" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/maint/hull/upper/u_a_p) "dPm" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -23642,6 +23379,19 @@ }, /turf/open/floor/plating, /area/almayer/maint/lower/constr) +"dPB" = ( +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" + }, +/area/almayer/hallways/upper/midship_hallway) "dPC" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -23680,20 +23430,6 @@ allow_construction = 0 }, /area/almayer/shipboard/brig/processing) -"dQl" = ( -/obj/structure/platform{ - dir = 4 - }, -/obj/effect/step_trigger/teleporter_vector{ - name = "Almayer_AresUp"; - vector_x = -97; - vector_y = 65 - }, -/obj/structure/stairs{ - dir = 1 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "dQp" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/effect/decal/warning_stripes{ @@ -23753,19 +23489,6 @@ icon_state = "dark_sterile" }, /area/almayer/shipboard/brig/mp_bunks) -"dRo" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/sign/safety/bridge{ - pixel_x = 15; - pixel_y = 32 - }, -/obj/structure/sign/safety/west{ - pixel_y = 32 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/aft_hallway) "dRs" = ( /obj/structure/closet/emcloset, /turf/open/floor/almayer{ @@ -23846,6 +23569,12 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"dSI" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "bluecorner" + }, +/area/almayer/hallways/upper/midship_hallway) "dSJ" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -23915,6 +23644,16 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) +"dUR" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "dUS" = ( /turf/open/floor/almayer{ icon_state = "dark_sterile" @@ -24099,14 +23838,6 @@ icon_state = "plate" }, /area/almayer/squads/req) -"dXH" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/device/camera_film{ - pixel_x = 4; - pixel_y = -2 - }, -/turf/open/floor/almayer, -/area/almayer/squads/charlie_delta_shared) "dXI" = ( /obj/structure/machinery/door/airlock/almayer/secure/reinforced{ name = "\improper Exterior Airlock"; @@ -24148,6 +23879,18 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_a_s) +"dYl" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/fore_hallway) "dYu" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -24226,20 +23969,6 @@ }, /turf/open/floor/almayer, /area/almayer/engineering/lower/workshop/hangar) -"dZP" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) -"dZR" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "dZZ" = ( /obj/structure/surface/rack, /obj/item/tool/weldpack, @@ -24278,12 +24007,6 @@ dir = 4 }, /area/almayer/medical/containment/cell) -"ear" = ( -/obj/structure/largecrate/random/case, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/upper/u_m_p) "eas" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24352,12 +24075,6 @@ "ebN" = ( /turf/closed/wall/almayer/aicore/reinforced, /area/almayer/command/airoom) -"ebV" = ( -/obj/structure/machinery/status_display{ - pixel_y = 30 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/stern_hallway) "ecb" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -24387,15 +24104,6 @@ "ecr" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/living/captain_mess) -"ecz" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "ecS" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -24589,6 +24297,14 @@ icon_state = "red" }, /area/almayer/shipboard/brig/processing) +"efV" = ( +/obj/structure/disposalpipe/junction{ + dir = 4; + icon_state = "pipe-j2" + }, +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "egc" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24608,6 +24324,26 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_medbay) +"ege" = ( +/obj/structure/machinery/door_control{ + id = "ARES StairsLower"; + name = "ARES Core Lockdown"; + pixel_x = -24; + pixel_y = 8; + req_one_access_txt = "90;91;92" + }, +/obj/structure/machinery/camera/autoname/almayer/containment/ares{ + dir = 4; + pixel_y = -8; + autoname = 0; + c_tag = "AI - Main Staircase" + }, +/obj/effect/step_trigger/clone_cleaner, +/turf/open/floor/almayer/aicore/no_build{ + dir = 8; + icon_state = "ai_silver" + }, +/area/almayer/command/airoom) "egp" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/platform_decoration, @@ -24634,27 +24370,6 @@ icon_state = "green" }, /area/almayer/hallways/lower/port_midship_hallway) -"egQ" = ( -/obj/structure/prop/invuln/overhead_pipe{ - dir = 4; - pixel_y = 13 - }, -/obj/structure/prop/invuln/overhead_pipe{ - dir = 4; - pixel_x = 12; - pixel_y = 13 - }, -/obj/structure/prop/invuln/overhead_pipe{ - dir = 4; - pixel_y = 13 - }, -/obj/structure/prop/invuln/overhead_pipe{ - dir = 4; - pixel_x = -16; - pixel_y = 13 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_m_p) "ehc" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 1; @@ -24685,6 +24400,15 @@ "ehl" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/interrogation) +"ehm" = ( +/obj/structure/sign/safety/maint{ + pixel_x = 32 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/south2) "ehx" = ( /obj/effect/landmark/start/marine/tl/alpha, /obj/effect/landmark/late_join/alpha, @@ -24758,6 +24482,20 @@ icon_state = "red" }, /area/almayer/shipboard/brig/processing) +"eii" = ( +/obj/structure/platform{ + dir = 4 + }, +/obj/effect/step_trigger/teleporter_vector{ + name = "Almayer_AresUp"; + vector_x = -96; + vector_y = 65 + }, +/obj/structure/stairs{ + dir = 1 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "eim" = ( /obj/structure/pipes/vents/pump{ dir = 1 @@ -25033,6 +24771,16 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) +"emL" = ( +/obj/structure/machinery/light, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/hallways/upper/midship_hallway) "ene" = ( /turf/open/floor/almayer{ dir = 4; @@ -25047,25 +24795,6 @@ icon_state = "plate" }, /area/almayer/engineering/lower/workshop) -"enz" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/sign/safety/bridge{ - pixel_x = 15; - pixel_y = -32 - }, -/obj/structure/sign/safety/west{ - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/aft_hallway) -"enF" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) "enK" = ( /obj/effect/step_trigger/clone_cleaner, /obj/structure/blocker/forcefield/multitile_vehicles, @@ -25095,6 +24824,17 @@ icon_state = "test_floor4" }, /area/almayer/maint/hull/lower/l_m_s) +"eol" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 9 + }, +/turf/open/floor/almayer{ + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/midship_hallway) "eox" = ( /obj/structure/machinery/light/small, /turf/open/floor/plating/plating_catwalk, @@ -25153,6 +24893,15 @@ }, /turf/open/floor/wood/ship, /area/almayer/command/corporateliaison) +"epT" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "eqb" = ( /obj/structure/surface/table/almayer, /obj/item/tool/stamp/denied{ @@ -25365,6 +25114,22 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_f_s) +"esn" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/device/multitool{ + desc = "A large handheld tool used to override various machine functions. Primarily used to pulse Airlock and APC wires on a shortwave frequency. It contains a small data buffer as well. This one is comically oversized. Made in Texas."; + icon_state = "multitool_big"; + name = "\improper Oversized Security Access Tuner"; + pixel_y = 11; + pixel_x = 4 + }, +/obj/item/stack/sheet/cardboard/medium_stack{ + pixel_y = -6; + pixel_x = -7; + layer = 3.01 + }, +/turf/open/floor/almayer, +/area/almayer/squads/alpha_bravo_shared) "esC" = ( /obj/structure/toilet{ pixel_y = 13 @@ -25404,6 +25169,12 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/gym) +"esQ" = ( +/turf/open/floor/almayer{ + dir = 9; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "esT" = ( /turf/open/floor/almayer/uscm/directional{ dir = 9 @@ -25513,16 +25284,6 @@ }, /turf/open/floor/almayer/aicore/glowing/no_build, /area/almayer/command/airoom) -"euO" = ( -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/lifeboat_pumps/north1) "euV" = ( /turf/open/floor/almayer/uscm/directional{ dir = 8; @@ -25569,6 +25330,15 @@ icon_state = "cargo" }, /area/almayer/engineering/upper_engineering/starboard) +"evM" = ( +/obj/structure/machinery/status_display{ + pixel_y = 30 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "evR" = ( /obj/structure/surface/table/almayer, /obj/item/storage/toolbox/mechanical/green{ @@ -25679,13 +25449,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south2) -"eyI" = ( -/obj/structure/window/framed/almayer, -/obj/structure/curtain/open/shower{ - name = "hypersleep curtain" - }, -/turf/open/floor/plating, -/area/almayer/maint/hull/upper/u_m_p) "eyM" = ( /obj/structure/largecrate/random/barrel/blue, /turf/open/floor/almayer{ @@ -25725,6 +25488,18 @@ icon_state = "green" }, /area/almayer/shipboard/brig/cells) +"ezq" = ( +/obj/effect/projector{ + name = "Almayer_AresDown"; + vector_x = 96; + vector_y = -65 + }, +/obj/structure/stairs{ + dir = 1; + icon_state = "ramptop" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "ezG" = ( /obj/structure/pipes/vents/scrubber{ dir = 4 @@ -25764,6 +25539,22 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/starboard_umbilical) +"eAx" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "silver" + }, +/area/almayer/hallways/upper/fore_hallway) "eAC" = ( /obj/structure/machinery/light{ dir = 4 @@ -25947,13 +25738,12 @@ icon_state = "plating" }, /area/almayer/shipboard/brig/execution) -"eDk" = ( -/obj/structure/surface/rack, -/obj/item/tool/weldpack, +"eDe" = ( +/obj/structure/machinery/door/airlock/almayer/maint, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "test_floor4" }, -/area/almayer/maint/hull/upper/u_a_p) +/area/almayer/maint/upper/u_m_s) "eDo" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -26016,15 +25806,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/cic_hallway) -"eEF" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/stern_hallway) "eFa" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26059,17 +25840,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/chemistry) -"eFI" = ( -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "eFK" = ( /obj/structure/bed{ icon_state = "abed" @@ -26146,23 +25916,6 @@ }, /turf/open/floor/carpet, /area/almayer/command/corporateliaison) -"eGb" = ( -/obj/structure/machinery/constructable_frame{ - icon_state = "box_2" - }, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/north2) -"eGh" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/tool/surgery/scalpel{ - pixel_x = -1; - pixel_y = 10 - }, -/obj/item/stack/cable_coil, -/turf/open/floor/almayer, -/area/almayer/squads/alpha_bravo_shared) "eGq" = ( /obj/structure/largecrate/random/secure, /turf/open/floor/almayer{ @@ -26170,6 +25923,15 @@ icon_state = "green" }, /area/almayer/hallways/lower/port_midship_hallway) +"eGr" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/obj/structure/machinery/camera/autoname/almayer/containment/ares{ + dir = 8; + autoname = 0; + c_tag = "AI - Records" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "eGB" = ( /obj/structure/platform_decoration, /turf/open/floor/almayer, @@ -26212,13 +25974,15 @@ icon_state = "plating_striped" }, /area/almayer/maint/hull/lower/l_a_p) -"eHz" = ( -/obj/structure/largecrate/supply/supplies/mre, +"eHX" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + req_one_access = null; + req_one_access_txt = "2;30;34" + }, /turf/open/floor/almayer{ - dir = 1; - icon_state = "red" + icon_state = "test_floor4" }, -/area/almayer/maint/hull/upper/u_a_p) +/area/almayer/maint/upper/u_f_s) "eHY" = ( /obj/structure/surface/rack, /obj/item/device/taperecorder, @@ -26226,6 +25990,22 @@ icon_state = "silver" }, /area/almayer/command/computerlab) +"eIf" = ( +/obj/structure/prop/invuln/pipe_water, +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = -12; + pixel_y = 13 + }, +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = -12; + pixel_y = 13 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_s) "eIN" = ( /obj/item/tool/kitchen/utensil/pfork, /turf/open/floor/almayer{ @@ -26251,20 +26031,18 @@ icon_state = "plate" }, /area/almayer/hallways/lower/starboard_fore_hallway) +"eIY" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/aft_hallway) "eJg" = ( /turf/open/floor/almayer{ dir = 5; icon_state = "red" }, /area/almayer/hallways/upper/aft_hallway) -"eJj" = ( -/obj/structure/closet/crate, -/obj/item/ammo_box/magazine/l42a, -/obj/item/ammo_box/magazine/l42a, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_s) "eJQ" = ( /obj/structure/prop/invuln{ desc = "An inflated membrane. This one is puncture proof. Wow!"; @@ -26278,24 +26056,15 @@ icon_state = "outerhull_dir" }, /area/almayer/command/lifeboat) +"eJU" = ( +/obj/structure/bed/chair, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/lifeboat_pumps/north1) "eJX" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/ce_room) -"eJZ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_m_s) -"eKa" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ - dir = 2; - name = "\improper Brig Lobby"; - closeOtherId = "briglobby" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/processing) "eKy" = ( /obj/structure/pipes/standard/simple/visible{ dir = 6 @@ -26406,6 +26175,17 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_m_s) +"eLV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) "eLX" = ( /obj/structure/bed/chair{ dir = 4 @@ -26415,14 +26195,12 @@ icon_state = "red" }, /area/almayer/shipboard/brig/mp_bunks) -"eMh" = ( -/obj/structure/machinery/door/airlock/almayer/generic{ - name = "\improper Laundry Room" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" +"eMr" = ( +/obj/structure/machinery/status_display{ + pixel_y = 30 }, -/area/almayer/engineering/laundry) +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "eMx" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -26531,6 +26309,10 @@ icon_state = "orange" }, /area/almayer/hallways/lower/starboard_umbilical) +"ePz" = ( +/obj/structure/largecrate/supply/weapons/pistols, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_m_s) "ePM" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = 32 @@ -26572,27 +26354,42 @@ icon_state = "cargo" }, /area/almayer/engineering/lower/workshop/hangar) -"eQd" = ( -/obj/structure/closet/secure_closet/guncabinet, -/obj/item/weapon/gun/smg/m39{ - pixel_y = 6 +"eQj" = ( +/obj/structure/machinery/door_control{ + id = "ARES StairsUpper"; + name = "ARES Core Access"; + pixel_x = -10; + pixel_y = -24; + req_one_access_txt = "91;92" }, -/obj/item/weapon/gun/smg/m39{ - pixel_y = -6 +/obj/structure/machinery/door_control{ + id = "ARES StairsLock"; + name = "ARES Exterior Lockdown"; + pixel_y = -24; + req_one_access_txt = "91;92" }, -/turf/open/floor/almayer{ - icon_state = "plate" +/obj/structure/surface/table/reinforced/almayer_B{ + indestructible = 1; + unacidable = 1; + unslashable = 1 }, -/area/almayer/maint/hull/upper/u_m_s) -"eQh" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 +/obj/structure/machinery/door_control{ + id = "ARES Emergency"; + name = "ARES Emergency Lockdown"; + pixel_x = 10; + pixel_y = -24; + req_one_access_txt = "91;92" }, -/turf/open/floor/almayer{ - icon_state = "silvercorner" +/obj/structure/machinery/computer/cameras/almayer{ + dir = 4; + pixel_y = 12 }, -/area/almayer/hallways/upper/aft_hallway) +/obj/structure/machinery/computer/cameras/almayer/ares{ + dir = 4; + pixel_y = -1 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "eQm" = ( /obj/structure/machinery/power/apc/almayer{ dir = 1 @@ -26661,14 +26458,22 @@ icon_state = "test_floor4" }, /area/almayer/medical/lower_medical_medbay) -"eRG" = ( -/obj/structure/closet, -/obj/item/clothing/ears/earmuffs, -/obj/item/clothing/glasses/regular/hipster, +"eRI" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/structure/machinery/camera/autoname/almayer/containment/ares{ + dir = 8; + pixel_y = 2; + autoname = 0; + c_tag = "AI - Reception Exterior" + }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 4; + icon_state = "silver" }, -/area/almayer/maint/hull/upper/u_a_s) +/area/almayer/hallways/upper/midship_hallway) "eRR" = ( /obj/item/clothing/head/helmet/marine{ pixel_x = 16; @@ -26736,6 +26541,15 @@ /obj/effect/landmark/crap_item, /turf/open/floor/almayer, /area/almayer/living/briefing) +"eTm" = ( +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "eTx" = ( /obj/structure/machinery/cm_vending/sorted/medical/wall_med{ pixel_y = 25 @@ -26745,6 +26559,14 @@ icon_state = "green" }, /area/almayer/hallways/lower/port_aft_hallway) +"eTC" = ( +/obj/structure/machinery/cm_vending/sorted/medical/bolted, +/obj/structure/medical_supply_link, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "sterile_green_side" + }, +/area/almayer/medical/lockerroom) "eTD" = ( /obj/structure/bed/chair{ dir = 4 @@ -26882,6 +26704,19 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) +"eWf" = ( +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "eWp" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/bed/chair/comfy/charlie{ @@ -26913,12 +26748,6 @@ icon_state = "test_floor4" }, /area/almayer/living/basketball) -"eWN" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "eXb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26932,15 +26761,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"eXk" = ( -/obj/effect/landmark/late_join/working_joe, -/obj/effect/landmark/start/working_joe, -/obj/structure/machinery/light/small{ - dir = 8; - light_color = "#d69c46" - }, -/turf/open/floor/plating/plating_catwalk/aicore, -/area/almayer/command/airoom) "eXq" = ( /turf/closed/wall/almayer, /area/almayer/living/offices/flight) @@ -26948,6 +26768,20 @@ /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, /area/almayer/living/offices) +"eXy" = ( +/obj/effect/step_trigger/teleporter_vector{ + name = "Almayer_AresDown"; + vector_x = 96; + vector_y = -65 + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/stairs{ + dir = 1 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "eXD" = ( /obj/structure/prop/invuln/lattice_prop{ dir = 1; @@ -27010,16 +26844,6 @@ icon_state = "plate" }, /area/almayer/living/briefing) -"eYz" = ( -/obj/structure/machinery/camera/autoname/almayer/containment/ares{ - dir = 1 - }, -/obj/structure/machinery/computer/working_joe{ - dir = 8; - pixel_x = 29 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "eYD" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -27218,6 +27042,17 @@ icon_state = "kitchen" }, /area/almayer/living/grunt_rnr) +"fbr" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ + closeOtherId = "briglobby"; + dir = 2; + name = "\improper Brig Lobby" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/processing) "fbu" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -27278,6 +27113,12 @@ icon_state = "plating" }, /area/almayer/hallways/lower/vehiclehangar) +"fbV" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/lifeboat_pumps/north2) "fca" = ( /obj/structure/disposalpipe/segment{ layer = 5.1; @@ -27346,22 +27187,6 @@ icon_state = "orange" }, /area/almayer/engineering/lower) -"fcX" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/structure/platform_decoration{ - dir = 1 - }, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_silver"; - dir = 8 - }, -/area/almayer/command/airoom) -"fdf" = ( -/turf/open/floor/almayer{ - dir = 6; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "fdx" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -27608,6 +27433,13 @@ icon_state = "mono" }, /area/almayer/engineering/upper_engineering/starboard) +"fhR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/turf/closed/wall/almayer/aicore/hull, +/area/almayer/command/airoom) "fic" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -27637,15 +27469,6 @@ /obj/item/device/camera_film, /turf/open/floor/almayer, /area/almayer/command/corporateliaison) -"fiH" = ( -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/hallways/upper/stern_hallway) -"fiN" = ( -/obj/structure/largecrate/random/case/double, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_s) "fiQ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -27654,12 +27477,37 @@ icon_state = "plate" }, /area/almayer/engineering/lower) +"fje" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/structure/machinery/light/small, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_p) +"fjo" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/north2) "fjz" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ icon_state = "cargo" }, /area/almayer/maint/hull/upper/u_f_p) +"fjA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "fkK" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1 @@ -27676,6 +27524,13 @@ dir = 8 }, /area/almayer/medical/containment/cell/cl) +"flf" = ( +/obj/structure/pipes/vents/pump/no_boom/gas{ + vent_tag = "Records"; + dir = 1 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "flr" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12 @@ -27684,6 +27539,35 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/p_bow) +"flD" = ( +/obj/structure/largecrate/supply/supplies/water, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/maint/upper/u_a_p) +"flL" = ( +/obj/structure/machinery/camera/autoname/almayer/containment/ares{ + dir = 8; + autoname = 0; + c_tag = "AI - SynthBay" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) +"flR" = ( +/obj/effect/projector{ + name = "Almayer_AresDown"; + vector_x = 96; + vector_y = -65 + }, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/stairs{ + dir = 1; + icon_state = "ramptop" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "flW" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/machinery/light{ @@ -27740,6 +27624,10 @@ icon_state = "green" }, /area/almayer/hallways/lower/port_midship_hallway) +"fnk" = ( +/obj/structure/blocker/fuelpump, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/north1) "fnv" = ( /obj/structure/machinery/light{ dir = 4 @@ -28053,8 +27941,8 @@ pixel_y = 9; req_access_txt = "3" }, -/obj/structure/machinery/light{ - dir = 1 +/obj/structure/machinery/computer/working_joe{ + pixel_y = 16 }, /turf/open/floor/almayer{ dir = 1; @@ -28078,13 +27966,6 @@ icon_state = "red" }, /area/almayer/shipboard/starboard_missiles) -"frI" = ( -/obj/structure/sign/safety/distribution_pipes{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) "frM" = ( /obj/effect/decal/warning_stripes{ icon_state = "S"; @@ -28096,12 +27977,6 @@ }, /turf/open/floor/almayer/aicore/glowing/no_build, /area/almayer/command/airoom) -"frV" = ( -/obj/structure/toilet{ - dir = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_s) "fsf" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -28112,6 +27987,12 @@ icon_state = "orangecorner" }, /area/almayer/hallways/lower/port_umbilical) +"fsh" = ( +/obj/structure/machinery/camera/autoname/almayer{ + name = "ship-grade camera" + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "fsp" = ( /obj/structure/barricade/handrail{ dir = 1; @@ -28122,18 +28003,6 @@ icon_state = "plate" }, /area/almayer/living/gym) -"fsu" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/aft_hallway) "fsR" = ( /obj/structure/pipes/vents/pump{ dir = 8; @@ -28156,33 +28025,6 @@ icon_state = "plating_striped" }, /area/almayer/living/cryo_cells) -"ftb" = ( -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) -"ftG" = ( -/obj/structure/sign/safety/life_support{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) -"ftZ" = ( -/obj/structure/sign/safety/maint{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "fuz" = ( /obj/structure/machinery/cm_vending/clothing/pilot_officer, /turf/open/floor/almayer{ @@ -28253,19 +28095,6 @@ icon_state = "silver" }, /area/almayer/living/briefing) -"fvj" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - layer = 2.5 - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/aft_hallway) "fvo" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/clothing/glasses/welding{ @@ -28293,19 +28122,6 @@ icon_state = "redfull" }, /area/almayer/command/cic) -"fvE" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "bluecorner" - }, -/area/almayer/hallways/upper/aft_hallway) -"fvJ" = ( -/obj/structure/machinery/cm_vending/sorted/medical/bolted, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "sterile_green_side" - }, -/area/almayer/medical/lockerroom) "fvN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28353,13 +28169,6 @@ icon_state = "redfull" }, /area/almayer/living/briefing) -"fwP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/upper/u_m_s) "fwY" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -28454,12 +28263,6 @@ icon_state = "test_floor4" }, /area/almayer/hallways/lower/starboard_fore_hallway) -"fzm" = ( -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/hallways/upper/stern_hallway) "fzq" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -28472,6 +28275,20 @@ icon_state = "test_floor4" }, /area/almayer/squads/charlie) +"fzt" = ( +/obj/structure/surface/table/almayer, +/obj/item/circuitboard{ + pixel_x = 12; + pixel_y = 7 + }, +/obj/item/tool/crowbar{ + pixel_x = 6; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_p) "fzx" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12 @@ -28528,15 +28345,6 @@ /obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m39_submachinegun, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/armory) -"fAW" = ( -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) "fBi" = ( /turf/open/floor/almayer{ dir = 4; @@ -28551,18 +28359,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_a_s) -"fBA" = ( -/obj/structure/sign/safety/high_voltage{ - pixel_y = -32 - }, -/obj/structure/sign/safety/hazard{ - pixel_x = 15; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "fBO" = ( /obj/structure/machinery/chem_master{ vial_maker = 1 @@ -28603,18 +28399,26 @@ /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/almayer, /area/almayer/hallways/lower/repair_bay) +"fCI" = ( +/obj/structure/machinery/door/poddoor/shutters/almayer{ + id = "ARES JoeCryo"; + name = "\improper ARES Synth Bay Shutters"; + plane = -7; + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/almayer/no_build{ + icon_state = "test_floor4" + }, +/area/almayer/command/airoom) "fCL" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering/port) -"fCP" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "fCT" = ( /obj/structure/surface/table/almayer, /obj/item/fuel_cell, @@ -28623,6 +28427,11 @@ icon_state = "cargo" }, /area/almayer/engineering/lower/engine_core) +"fCW" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/fore_hallway) "fDh" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out"; @@ -28645,14 +28454,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_medbay) -"fDk" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "orangecorner" - }, -/area/almayer/hallways/upper/stern_hallway) "fDG" = ( /obj/structure/machinery/vending/coffee, /obj/structure/machinery/light{ @@ -28724,12 +28525,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/starboard_midship_hallway) -"fEN" = ( -/obj/structure/machinery/camera/autoname/almayer/containment/ares{ - dir = 4 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "fER" = ( /obj/structure/machinery/autolathe, /turf/open/floor/almayer{ @@ -28865,15 +28660,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_a_s) -"fGD" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/aft_hallway) "fHb" = ( /obj/structure/largecrate/random/case/small, /turf/open/floor/plating/plating_catwalk, @@ -28900,10 +28686,10 @@ icon_state = "greenfull" }, /area/almayer/living/offices) -"fHM" = ( -/obj/docking_port/stationary/escape_pod/cl, -/turf/open/floor/plating, -/area/almayer/maint/hull/upper/u_m_p) +"fIK" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_s) "fIM" = ( /obj/effect/landmark/start/marine/tl/bravo, /obj/effect/landmark/late_join/bravo, @@ -28994,15 +28780,6 @@ icon_state = "green" }, /area/almayer/shipboard/brig/cells) -"fJY" = ( -/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ - dir = 4 - }, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_arrow"; - dir = 8 - }, -/area/almayer/command/airoom) "fKe" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out" @@ -29167,19 +28944,6 @@ icon_state = "bluefull" }, /area/almayer/living/briefing) -"fMl" = ( -/obj/structure/machinery/door_control{ - id = "ARES Operations Right"; - name = "ARES Operations Shutter"; - pixel_x = 24; - pixel_y = -8; - req_one_access_txt = "90;91;92" - }, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_silver"; - dir = 4 - }, -/area/almayer/command/airoom) "fMt" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ id = "ARES Interior"; @@ -29208,6 +28972,12 @@ icon_state = "test_floor4" }, /area/almayer/command/airoom) +"fME" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_p) "fMU" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -29251,6 +29021,14 @@ icon_state = "cargo_arrow" }, /area/almayer/hallways/lower/starboard_midship_hallway) +"fNX" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" + }, +/turf/open/floor/almayer{ + icon_state = "blue" + }, +/area/almayer/hallways/upper/fore_hallway) "fOk" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -29369,13 +29147,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_a_p) -"fQl" = ( -/obj/structure/largecrate/supply/supplies/flares, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/maint/hull/upper/u_a_p) "fQn" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -29405,6 +29176,16 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_f_s) +"fQD" = ( +/obj/structure/machinery/camera/autoname/almayer/containment/ares{ + dir = 8; + autoname = 0; + c_tag = "AI - Core Chamber" + }, +/turf/open/floor/almayer/aicore/glowing/no_build{ + icon_state = "ai_floor3" + }, +/area/almayer/command/airoom) "fQS" = ( /obj/structure/bed/chair/comfy/orange, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -29415,15 +29196,6 @@ }, /turf/open/floor/carpet, /area/almayer/command/corporateliaison) -"fQU" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "fRg" = ( /obj/structure/closet/emcloset, /obj/structure/machinery/camera/autoname/almayer{ @@ -29481,6 +29253,16 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/north1) +"fSx" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/fore_hallway) "fSF" = ( /obj/structure/surface/table/almayer, /obj/item/device/flashlight, @@ -29569,6 +29351,12 @@ "fVe" = ( /turf/closed/wall/almayer/outer, /area/almayer/maint/hull/upper/u_a_p) +"fVk" = ( +/obj/structure/machinery/door/airlock/almayer/maint, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/upper/u_a_s) "fVo" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -29576,6 +29364,12 @@ icon_state = "orange" }, /area/almayer/engineering/lower/workshop) +"fVx" = ( +/turf/open/floor/almayer/aicore/glowing/no_build{ + icon_state = "ai_floor3"; + light_range = 4 + }, +/area/almayer/command/airoom) "fVz" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -29625,15 +29419,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering/port) -"fXf" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "fXg" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -29674,6 +29459,12 @@ /obj/effect/landmark/late_join/delta, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/delta) +"fXO" = ( +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/north2) "fXP" = ( /obj/structure/machinery/camera/autoname/almayer{ name = "ship-grade camera" @@ -29816,12 +29607,6 @@ icon_state = "test_floor4" }, /area/almayer/living/briefing) -"gar" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = 25 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/stern_hallway) "gaJ" = ( /turf/closed/wall/almayer, /area/almayer/shipboard/brig/cryo) @@ -29881,6 +29666,12 @@ icon_state = "ai_floor3" }, /area/almayer/command/airoom) +"gbm" = ( +/turf/open/floor/almayer/aicore/no_build{ + dir = 4; + icon_state = "ai_silver" + }, +/area/almayer/command/airoom) "gbs" = ( /obj/structure/surface/table/reinforced/black, /obj/item/ashtray/plastic{ @@ -29899,16 +29690,6 @@ icon_state = "red" }, /area/almayer/shipboard/brig/processing) -"gbR" = ( -/obj/structure/sign/safety/maint{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "gcm" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -29919,19 +29700,6 @@ icon_state = "red" }, /area/almayer/hallways/upper/port) -"gcq" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/starboard) "gcN" = ( /obj/structure/machinery/door/airlock/almayer/command{ access_modified = 1; @@ -29998,6 +29766,21 @@ icon_state = "redfull" }, /area/almayer/living/offices/flight) +"gei" = ( +/obj/structure/sign/safety/ref_bio_storage{ + pixel_x = -17; + pixel_y = 7 + }, +/obj/structure/sign/safety/biohazard{ + pixel_x = -17; + pixel_y = -7 + }, +/obj/structure/medical_supply_link, +/obj/structure/machinery/cm_vending/sorted/medical/chemistry, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/medical/medical_science) "gek" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/storage/fancy/cigarettes/wypacket, @@ -30078,15 +29861,6 @@ icon_state = "plate" }, /area/almayer/living/grunt_rnr) -"gft" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/stern_hallway) "gfu" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -30098,13 +29872,6 @@ }, /turf/open/floor/almayer/aicore/glowing/no_build, /area/almayer/command/airoom) -"gfv" = ( -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) -"gfE" = ( -/obj/structure/machinery/recharge_station, -/turf/open/floor/plating, -/area/almayer/command/airoom) "gfG" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -30238,6 +30005,12 @@ icon_state = "orange" }, /area/almayer/squads/bravo) +"giD" = ( +/obj/structure/largecrate/random/barrel/yellow, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_p) "giR" = ( /obj/structure/machinery/status_display{ pixel_y = -30 @@ -30251,6 +30024,12 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) +"giW" = ( +/turf/open/floor/almayer{ + dir = 5; + icon_state = "orange" + }, +/area/almayer/hallways/upper/midship_hallway) "gjg" = ( /obj/structure/sign/safety/escapepod{ pixel_x = -17; @@ -30265,6 +30044,18 @@ icon_state = "blue" }, /area/almayer/hallways/lower/port_midship_hallway) +"gji" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "gjm" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -30298,23 +30089,14 @@ icon_state = "red" }, /area/almayer/shipboard/navigation) -"gjw" = ( -/obj/structure/machinery/faxmachine/uscm/command{ - density = 0; - department = "AI Core"; - pixel_y = 32 - }, -/obj/structure/surface/rack{ - density = 0; - pixel_y = 16 - }, -/obj/structure/machinery/computer/working_joe{ - dir = 8; - pixel_x = 17; - pixel_y = -6 +"gjv" = ( +/obj/effect/step_trigger/teleporter_vector{ + name = "Almayer_AresUp"; + vector_x = -96; + vector_y = 65 }, -/obj/item/storage/box/ids{ - pixel_x = -4 +/obj/structure/stairs{ + dir = 1 }, /turf/open/floor/almayer/aicore/no_build, /area/almayer/command/airoom) @@ -30359,15 +30141,6 @@ icon_state = "plate" }, /area/almayer/command/cic) -"glc" = ( -/obj/structure/machinery/firealarm{ - pixel_y = 28 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "gll" = ( /obj/structure/machinery/power/apc/almayer{ dir = 1 @@ -30454,12 +30227,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) -"gmZ" = ( -/turf/open/floor/almayer{ - dir = 9; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "gnu" = ( /obj/structure/surface/table/almayer, /obj/item/facepaint/green, @@ -30477,6 +30244,13 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/repair_bay) +"gnK" = ( +/obj/structure/pipes/standard/manifold/hidden/supply, +/obj/structure/disposalpipe/junction{ + dir = 8 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "gnM" = ( /obj/structure/surface/rack, /obj/item/frame/table, @@ -30577,6 +30351,17 @@ icon_state = "test_floor4" }, /area/almayer/hallways/hangar) +"gpp" = ( +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = 28 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "gpI" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -30588,25 +30373,71 @@ "gpO" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/lower/s_bow) +"gpT" = ( +/obj/structure/sign/safety/maint{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) +"gpW" = ( +/obj/structure/surface/table/reinforced/almayer_B{ + indestructible = 1; + unacidable = 1; + unslashable = 1 + }, +/obj/structure/machinery/computer/secure_data{ + dir = 4 + }, +/obj/structure/machinery/door_control{ + id = "ARES ReceptStairs1"; + name = "ARES Reception Shutters"; + pixel_y = 24; + req_one_access_txt = "91;92" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "gpY" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/lifeboat_pumps/north1) -"gqf" = ( -/obj/structure/pipes/standard/manifold/hidden/supply, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/stern_hallway) "gqt" = ( /obj/structure/sign/safety/storage{ pixel_x = -17 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/u_a_s) -"gqv" = ( +"gqx" = ( +/obj/structure/machinery/light/small{ + dir = 1 + }, /turf/open/floor/almayer{ - dir = 5; - icon_state = "silver" + icon_state = "plate" }, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/maint/upper/u_a_s) +"gqz" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/midship_hallway) +"gqH" = ( +/turf/open/floor/almayer{ + dir = 10; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) +"gqI" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/hallways/upper/midship_hallway) "gqP" = ( /obj/structure/largecrate/random/case, /obj/structure/machinery/camera/autoname/almayer{ @@ -30637,6 +30468,12 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_a_p) +"gre" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "greencorner" + }, +/area/almayer/hallways/upper/fore_hallway) "grv" = ( /obj/effect/decal/warning_stripes{ icon_state = "NW-out"; @@ -30761,6 +30598,12 @@ icon_state = "red" }, /area/almayer/hallways/upper/port) +"gsJ" = ( +/turf/open/floor/almayer{ + dir = 6; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "gsM" = ( /obj/structure/machinery/portable_atmospherics/powered/pump, /turf/open/floor/almayer{ @@ -30779,6 +30622,16 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/basketball) +"gtg" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "gtp" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /obj/structure/disposalpipe/junction{ @@ -30802,6 +30655,11 @@ icon_state = "test_floor4" }, /area/almayer/hallways/lower/starboard_aft_hallway) +"gtI" = ( +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_s) "gtQ" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -30831,16 +30689,6 @@ icon_state = "redfull" }, /area/almayer/lifeboat_pumps/south2) -"gur" = ( -/obj/item/tool/mop{ - pixel_x = -6; - pixel_y = 24 - }, -/obj/item/reagent_container/glass/bucket, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/upper/u_m_s) "guK" = ( /obj/effect/projector{ name = "Almayer_Up3"; @@ -30849,6 +30697,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/port_fore_hallway) +"guP" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orangecorner" + }, +/area/almayer/maint/upper/u_a_s) "guS" = ( /obj/structure/reagent_dispensers/fueltank/custom, /turf/open/floor/almayer{ @@ -30883,6 +30737,12 @@ icon_state = "silver" }, /area/almayer/command/cic) +"gvu" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "gvK" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -30897,6 +30757,15 @@ icon_state = "green" }, /area/almayer/squads/req) +"gwh" = ( +/obj/structure/machinery/firealarm{ + pixel_y = 28 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/fore_hallway) "gwj" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 8 @@ -30973,6 +30842,17 @@ icon_state = "plate" }, /area/almayer/shipboard/starboard_point_defense) +"gxk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/secure_closet/guncabinet, +/obj/item/weapon/gun/rifle/l42a, +/obj/item/weapon/gun/rifle/l42a{ + pixel_y = 6 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "gxm" = ( /turf/closed/wall/almayer/outer, /area/almayer/maint/hull/upper/stairs) @@ -31011,12 +30891,6 @@ dir = 8 }, /area/almayer/medical/containment/cell) -"gxR" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/stern_hallway) "gxU" = ( /obj/structure/surface/table/almayer, /obj/item/toy/deck, @@ -31025,16 +30899,18 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) -"gyb" = ( -/obj/structure/sign/safety/medical{ - pixel_x = 8; - pixel_y = 32 +"gyh" = ( +/obj/structure/machinery/cm_vending/gear/executive_officer{ + density = 0; + pixel_y = 30 + }, +/obj/structure/machinery/power/apc/almayer{ + dir = 4 }, /turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" + icon_state = "plate" }, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/living/numbertwobunks) "gym" = ( /turf/open/floor/almayer, /area/almayer/shipboard/brig/mp_bunks) @@ -31172,16 +31048,6 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) -"gAe" = ( -/obj/structure/machinery/door_control{ - id = "ARES JoeCryo"; - name = "Working Joe Cryogenics Lockdown"; - pixel_x = 24; - pixel_y = 8; - req_one_access_txt = "91;92" - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "gAj" = ( /obj/structure/bed/chair/comfy/charlie{ dir = 1 @@ -31215,6 +31081,25 @@ "gAA" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/alpha_bravo_shared) +"gAO" = ( +/obj/structure/surface/rack, +/obj/item/tool/weldpack, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_p) +"gAP" = ( +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = 28 + }, +/obj/structure/closet, +/obj/item/clothing/head/bearpelt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/living/port_emb) "gAS" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -31242,12 +31127,6 @@ }, /turf/open/floor/almayer, /area/almayer/maint/hull/upper/u_f_p) -"gBg" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/stern_hallway) "gBo" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -31278,12 +31157,6 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south1) -"gBZ" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/hallways/upper/stern_hallway) "gCf" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/almayer{ @@ -31326,12 +31199,27 @@ icon_state = "plate" }, /area/almayer/living/bridgebunks) -"gCQ" = ( -/obj/structure/machinery/portable_atmospherics/canister/air, +"gDh" = ( +/obj/structure/machinery/door/airlock/almayer/secure/reinforced{ + access_modified = 1; + name = "\improper Security Vault"; + req_access = null; + req_one_access_txt = "91;92"; + dir = 1 + }, +/turf/open/floor/almayer/no_build{ + icon_state = "test_floor4" + }, +/area/almayer/command/airoom) +"gDk" = ( +/obj/structure/sign/safety/stairs{ + pixel_x = -15 + }, /turf/open/floor/almayer{ - icon_state = "cargo" + dir = 8; + icon_state = "green" }, -/area/almayer/maint/hull/upper/u_a_s) +/area/almayer/hallways/upper/fore_hallway) "gDp" = ( /obj/structure/machinery/light{ dir = 4 @@ -31361,11 +31249,6 @@ }, /turf/open/floor/almayer, /area/almayer/engineering/lower/engine_core) -"gDQ" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) "gDW" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -31429,24 +31312,6 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south1) -"gFL" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 6 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) -"gFN" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "gFP" = ( /turf/closed/wall/almayer/outer, /area/almayer/shipboard/stern_point_defense) @@ -31579,17 +31444,6 @@ icon_state = "red" }, /area/almayer/shipboard/brig/processing) -"gHX" = ( -/obj/effect/projector{ - name = "Almayer_Down2"; - vector_x = 1; - vector_y = -100 - }, -/turf/open/floor/almayer{ - allow_construction = 0; - icon_state = "plate" - }, -/area/almayer/hallways/upper/aft_hallway) "gHZ" = ( /turf/open/floor/almayer{ icon_state = "test_floor4" @@ -31639,13 +31493,6 @@ icon_state = "test_floor4" }, /area/almayer/engineering/upper_engineering/port) -"gIN" = ( -/obj/structure/pipes/standard/manifold/hidden/supply, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) "gIO" = ( /obj/structure/bed/chair/bolted{ dir = 8 @@ -31676,6 +31523,12 @@ }, /turf/open/floor/almayer, /area/almayer/maint/hull/upper/u_f_s) +"gJg" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "gJp" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/emails{ @@ -31685,6 +31538,15 @@ icon_state = "plate" }, /area/almayer/hallways/lower/repair_bay) +"gJC" = ( +/obj/structure/sign/safety/maint{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "gJE" = ( /obj/structure/machinery/door_control{ id = "Interrogation Shutters"; @@ -31724,20 +31586,6 @@ icon_state = "green" }, /area/almayer/living/offices) -"gJY" = ( -/obj/structure/surface/table/almayer, -/obj/item/circuitboard{ - pixel_x = 12; - pixel_y = 7 - }, -/obj/item/tool/crowbar{ - pixel_x = 6; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/upper/u_m_p) "gKd" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -31824,6 +31672,9 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/medical/hydroponics) +"gLl" = ( +/turf/closed/wall/almayer, +/area/almayer/maint/upper/u_f_s) "gLm" = ( /obj/structure/largecrate/random/barrel/red, /turf/open/floor/almayer{ @@ -31911,10 +31762,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/starboard_fore_hallway) -"gMJ" = ( -/obj/structure/largecrate/supply/weapons/pistols, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_m_s) "gMN" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -32007,6 +31854,11 @@ icon_state = "plating" }, /area/almayer/hallways/lower/vehiclehangar) +"gNI" = ( +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/maint/upper/u_a_s) "gNN" = ( /obj/structure/bed/chair/office/dark, /turf/open/floor/plating/plating_catwalk, @@ -32020,49 +31872,31 @@ icon_state = "orange" }, /area/almayer/engineering/lower) -"gNQ" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_s) "gNZ" = ( /obj/structure/machinery/light/small{ dir = 1 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/p_bow) +"gOa" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/obj/structure/sign/safety/stairs{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "gOk" = ( /obj/structure/largecrate/guns/merc{ name = "\improper dodgy crate" }, /turf/open/floor/plating, /area/almayer/maint/lower/constr) -"gOs" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/obj/structure/machinery/door_control{ - id = "ARES Interior"; - indestructible = 1; - name = "ARES Chamber Lockdown"; - pixel_x = 24; - pixel_y = 8; - req_one_access_txt = "90;91;92" - }, -/obj/structure/machinery/door/poddoor/railing{ - closed_layer = 4; - density = 0; - id = "ARES Railing"; - layer = 2.1; - open_layer = 2.1; - unacidable = 0; - unslashable = 0 - }, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_silver"; - dir = 4 - }, -/area/almayer/command/airoom) "gOC" = ( /obj/structure/machinery/recharge_station, /turf/open/floor/almayer{ @@ -32092,17 +31926,16 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) -"gPr" = ( -/obj/effect/step_trigger/teleporter_vector{ - name = "Almayer_AresUp"; - vector_x = -97; - vector_y = 65 +"gPA" = ( +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" }, -/obj/structure/stairs{ - dir = 1 +/turf/open/floor/almayer{ + dir = 5; + icon_state = "silver" }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) +/area/almayer/hallways/upper/midship_hallway) "gPS" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -32288,20 +32121,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/p_bow) -"gTV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/obj/structure/sign/safety/autoopenclose{ - pixel_x = 7; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "gUf" = ( /obj/structure/machinery/portable_atmospherics/hydroponics, /turf/open/floor/almayer{ @@ -32321,13 +32140,6 @@ /obj/structure/machinery/power/apc/almayer, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/lower/s_bow) -"gUk" = ( -/obj/structure/pipes/standard/manifold/hidden/supply, -/obj/structure/disposalpipe/junction{ - dir = 8 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) "gUn" = ( /obj/structure/largecrate/random/barrel/red, /turf/open/floor/plating/plating_catwalk, @@ -32365,15 +32177,6 @@ }, /turf/open/floor/almayer, /area/almayer/living/bridgebunks) -"gUN" = ( -/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ - dir = 4 - }, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_arrow"; - dir = 4 - }, -/area/almayer/command/airoom) "gUS" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -32434,6 +32237,20 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/south1) +"gVW" = ( +/obj/structure/sign/safety/distribution_pipes{ + pixel_x = 32; + pixel_y = 6 + }, +/obj/structure/sign/safety/reduction{ + pixel_x = 32; + pixel_y = -8 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "gWm" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -32563,6 +32380,17 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"gYp" = ( +/obj/structure/machinery/light, +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "silver" + }, +/area/almayer/maint/upper/u_m_p) "gYt" = ( /obj/structure/surface/table/almayer, /obj/item/paper_bin/uscm, @@ -32674,13 +32502,6 @@ icon_state = "orange" }, /area/almayer/engineering/lower) -"haM" = ( -/obj/effect/decal/cleanable/blood/oil, -/obj/structure/machinery/constructable_frame, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/south2) "haO" = ( /turf/open/floor/almayer{ icon_state = "plate" @@ -32874,6 +32695,12 @@ icon_state = "green" }, /area/almayer/squads/req) +"hdP" = ( +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/hallways/upper/aft_hallway) "hdQ" = ( /obj/structure/closet/secure_closet{ name = "\improper Execution Firearms" @@ -32972,15 +32799,14 @@ }, /turf/open/floor/almayer, /area/almayer/engineering/lower/engine_core) -"hfc" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ +"hft" = ( +/obj/structure/pipes/standard/manifold/hidden/supply, +/obj/structure/disposalpipe/segment{ dir = 8; - icon_state = "red" + icon_state = "pipe-c" }, -/area/almayer/hallways/upper/stern_hallway) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/aft_hallway) "hfv" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/almayer{ @@ -33051,18 +32877,6 @@ icon_state = "red" }, /area/almayer/hallways/lower/starboard_midship_hallway) -"hgA" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "hgB" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/intel, @@ -33096,17 +32910,6 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) -"hgO" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/prop/almayer/computer/PC{ - dir = 4 - }, -/obj/item/tool/stamp/approved{ - pixel_y = -11; - pixel_x = -3 - }, -/turf/open/floor/almayer, -/area/almayer/squads/req) "hgZ" = ( /obj/structure/machinery/door_control{ dir = 1; @@ -33207,12 +33010,6 @@ icon_state = "greencorner" }, /area/almayer/hallways/lower/starboard_midship_hallway) -"hja" = ( -/obj/structure/machinery/light/small, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "hji" = ( /obj/structure/bed/chair{ dir = 4 @@ -33362,8 +33159,21 @@ pixel_x = -1; pixel_y = 3 }, +/obj/item/reagent_container/spray/cleaner{ + layer = 3.04; + pixel_x = 5; + pixel_y = 22 + }, /turf/open/floor/wood/ship, /area/almayer/living/commandbunks) +"hlj" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/midship_hallway) "hlH" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/effect/decal/warning_stripes{ @@ -33377,15 +33187,19 @@ "hlI" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/recharger, -/obj/structure/sign/safety/terminal{ - pixel_y = 32 - }, /obj/structure/transmitter/rotary{ name = "Brig Wardens's Office Telephone"; phone_category = "MP Dept."; phone_id = "Brig Warden's Office"; pixel_x = 15 }, +/obj/structure/sign/safety/terminal{ + pixel_x = 8; + pixel_y = 32 + }, +/obj/structure/machinery/light{ + dir = 1 + }, /turf/open/floor/almayer{ dir = 9; icon_state = "red" @@ -33481,16 +33295,6 @@ "hmA" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/maint/hull/upper/p_bow) -"hmB" = ( -/obj/structure/sign/safety/escapepod{ - pixel_y = -32 - }, -/obj/structure/sign/safety/south{ - pixel_x = 15; - pixel_y = -32 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) "hmC" = ( /obj/structure/machinery/cm_vending/sorted/marine_food{ density = 0; @@ -33627,15 +33431,6 @@ icon_state = "mono" }, /area/almayer/hallways/lower/vehiclehangar) -"hog" = ( -/obj/structure/machinery/light/small, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_p) "hoK" = ( /turf/open/floor/almayer{ dir = 8; @@ -33736,15 +33531,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_a_p) -"hqx" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/stern_hallway) "hqW" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ name = "\improper Medical Bay"; @@ -33803,16 +33589,6 @@ "hrI" = ( /turf/open/floor/almayer, /area/almayer/maint/hull/upper/u_f_p) -"hrJ" = ( -/obj/structure/sign/safety/autodoc{ - pixel_x = 20; - pixel_y = -32 - }, -/obj/structure/machinery/cm_vending/sorted/medical/bolted, -/turf/open/floor/almayer{ - icon_state = "sterile_green_side" - }, -/area/almayer/medical/lower_medical_medbay) "hsc" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/light{ @@ -33926,6 +33702,15 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/hallways/lower/starboard_fore_hallway) +"hto" = ( +/obj/structure/largecrate/random/barrel/red, +/obj/structure/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_s) "htq" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -33935,16 +33720,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_f_p) -"htF" = ( -/obj/structure/sign/safety/escapepod{ - pixel_y = 32 - }, -/obj/structure/sign/safety/north{ - pixel_x = 15; - pixel_y = 32 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) "htG" = ( /obj/item/tool/soap, /obj/structure/machinery/light/small{ @@ -33973,20 +33748,6 @@ icon_state = "greenfull" }, /area/almayer/living/offices) -"hux" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 8; - name = "ship-grade camera" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/hallways/upper/aft_hallway) "huD" = ( /obj/structure/machinery/light{ dir = 1 @@ -34032,15 +33793,6 @@ "hvd" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/shipboard/brig/interrogation) -"hvq" = ( -/obj/structure/bed/chair{ - dir = 8; - pixel_y = 3 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_s) "hvv" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/manifold/hidden/supply{ @@ -34090,6 +33842,15 @@ "hvH" = ( /turf/open/floor/wood/ship, /area/almayer/living/commandbunks) +"hwB" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 25 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "hwC" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -34196,6 +33957,16 @@ "hyQ" = ( /turf/closed/wall/almayer, /area/almayer/living/synthcloset) +"hyT" = ( +/obj/structure/sign/safety/escapepod{ + pixel_y = 32 + }, +/obj/structure/sign/safety/north{ + pixel_x = 15; + pixel_y = 32 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "hyV" = ( /obj/structure/machinery/power/apc/almayer{ dir = 4 @@ -34231,16 +34002,6 @@ /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/req) -"hzl" = ( -/obj/structure/surface/table/almayer, -/obj/item/reagent_container/food/snacks/mre_pack/meal5, -/obj/item/device/flashlight/lamp{ - pixel_x = 3; - pixel_y = 12 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/upper/u_m_s) "hzs" = ( /obj/structure/bed, /obj/item/bedsheet/medical, @@ -34267,24 +34028,6 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/brig/starboard_hallway) -"hzL" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/machinery/door/poddoor/almayer/open{ - dir = 4; - id = "CIC Lockdown"; - name = "\improper Combat Information Center Blast Door" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/door/airlock/almayer/command/reinforced{ - name = "\improper Combat Information Center"; - closeOtherId = "ciclobby_s" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/cic) "hzN" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/plating/plating_catwalk, @@ -34362,14 +34105,6 @@ icon_state = "blue" }, /area/almayer/squads/delta) -"hBa" = ( -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/stern_hallway) "hBc" = ( /obj/structure/pipes/vents/scrubber{ dir = 4 @@ -34393,15 +34128,6 @@ icon_state = "plating" }, /area/almayer/hallways/lower/vehiclehangar) -"hBy" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) "hBz" = ( /obj/item/mortar_kit, /turf/open/floor/almayer{ @@ -34469,12 +34195,6 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"hCF" = ( -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "hCS" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/paper_bin/uscm{ @@ -34570,12 +34290,6 @@ icon_state = "greencorner" }, /area/almayer/hallways/lower/port_fore_hallway) -"hEj" = ( -/obj/structure/machinery/vending/hydronutrients, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "hEl" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -34642,13 +34356,13 @@ icon_state = "test_floor4" }, /area/almayer/medical/morgue) -"hGo" = ( -/obj/structure/machinery/alarm/almayer{ - dir = 1 +"hGb" = ( +/obj/structure/machinery/camera/autoname/almayer{ + name = "ship-grade camera" }, /turf/open/floor/almayer{ - dir = 1; - icon_state = "green" + dir = 4; + icon_state = "orangecorner" }, /area/almayer/hallways/upper/aft_hallway) "hGG" = ( @@ -34825,18 +34539,6 @@ icon_state = "mono" }, /area/almayer/medical/hydroponics) -"hKJ" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "hKO" = ( /obj/structure/largecrate/random/barrel/green, /obj/structure/sign/safety/maint{ @@ -34847,17 +34549,27 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_f_s) -"hLt" = ( -/obj/structure/sign/poster{ - desc = "It says DRUG."; - icon_state = "poster2"; - pixel_y = 30 +"hLr" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 }, -/obj/structure/pipes/standard/simple/hidden/supply{ +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 + }, +/obj/structure/machinery/door/airlock/almayer/research/reinforced{ + closeOtherId = "containment_s"; + dir = 8; + name = "\improper Containment Airlock" + }, +/obj/structure/machinery/door/poddoor/almayer/biohazard/white{ dir = 4 }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_p) +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/medical/containment) "hLu" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -34978,6 +34690,18 @@ icon_state = "red" }, /area/almayer/shipboard/brig/chief_mp_office) +"hOd" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/fore_hallway) +"hOn" = ( +/turf/open/floor/almayer{ + dir = 9; + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "hOu" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -35016,15 +34740,6 @@ icon_state = "silver" }, /area/almayer/living/auxiliary_officer_office) -"hPr" = ( -/obj/structure/machinery/status_display{ - pixel_y = -30 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "hPu" = ( /obj/structure/largecrate/supply, /obj/item/tool/crowbar, @@ -35044,6 +34759,12 @@ "hPI" = ( /turf/closed/wall/almayer/outer, /area/almayer/shipboard/brig/perma) +"hPL" = ( +/obj/structure/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_m_p) "hPN" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/effect/decal/warning_stripes{ @@ -35056,6 +34777,16 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/hydroponics) +"hPZ" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "hQc" = ( /obj/structure/window/reinforced{ dir = 4; @@ -35134,21 +34865,6 @@ icon_state = "mono" }, /area/almayer/medical/medical_science) -"hRc" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/port) "hRd" = ( /obj/structure/machinery/vending/coffee, /turf/open/floor/almayer{ @@ -35209,20 +34925,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_f_p) -"hSj" = ( -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - dir = 1; - name = "\improper Brig"; - closeOtherId = "brigmaint_n" - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - id = "Brig Lockdown Shutters"; - name = "\improper Brig Lockdown Shutter" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/maint/hull/upper/s_bow) "hSk" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering/port) @@ -35381,6 +35083,17 @@ icon_state = "orange" }, /area/almayer/engineering/lower/engine_core) +"hUu" = ( +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = 28 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "hUz" = ( /obj/structure/largecrate/supply/supplies/mre{ desc = "A supply crate containing everything you need to stop a CLF uprising."; @@ -35454,6 +35167,15 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_f_p) +"hWa" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/fore_hallway) "hWq" = ( /obj/structure/platform{ layer = 3.1 @@ -35530,6 +35252,10 @@ icon_state = "red" }, /area/almayer/shipboard/weapon_room) +"hWM" = ( +/obj/structure/surface/rack, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "hWO" = ( /obj/structure/pipes/vents/scrubber, /turf/open/floor/almayer{ @@ -35537,12 +35263,16 @@ icon_state = "blue" }, /area/almayer/command/cichallway) -"hWV" = ( +"hWP" = ( /obj/effect/step_trigger/clone_cleaner, -/turf/open/floor/plating/almayer{ - allow_construction = 0 +/obj/structure/platform_decoration{ + dir = 1 }, -/area/almayer/hallways/upper/aft_hallway) +/turf/open/floor/almayer/aicore/no_build{ + dir = 8; + icon_state = "ai_silver" + }, +/area/almayer/command/airoom) "hXb" = ( /turf/open/floor/almayer{ dir = 1; @@ -35598,15 +35328,6 @@ icon_state = "dark_sterile" }, /area/almayer/engineering/upper_engineering/port) -"hXV" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/lifeboat_pumps/south1) "hXX" = ( /obj/effect/projector{ name = "Almayer_Down4"; @@ -35630,6 +35351,12 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_a_s) +"hYj" = ( +/obj/structure/machinery/light/small, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_p) "hYn" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -35776,6 +35503,15 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_lobby) +"iaO" = ( +/obj/structure/sign/safety/maint{ + pixel_x = 32 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "iaR" = ( /obj/structure/machinery/light{ dir = 4 @@ -35838,6 +35574,18 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cells) +"icQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "blue" + }, +/area/almayer/hallways/upper/fore_hallway) "icZ" = ( /obj/structure/closet/secure_closet/brig, /turf/open/floor/almayer{ @@ -35875,12 +35623,6 @@ icon_state = "kitchen" }, /area/almayer/living/grunt_rnr) -"iea" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/stern_hallway) "ied" = ( /obj/structure/machinery/power/apc/almayer{ dir = 1 @@ -35953,18 +35695,6 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/lower_medical_lobby) -"ieF" = ( -/obj/effect/projector{ - name = "Almayer_AresUp"; - vector_x = -97; - vector_y = 65 - }, -/obj/structure/stairs{ - dir = 1; - icon_state = "ramptop" - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "ieX" = ( /obj/structure/surface/table/almayer, /obj/structure/sign/safety/distribution_pipes{ @@ -36033,6 +35763,13 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_m_s) +"igC" = ( +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/aft_hallway) "igS" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out" @@ -36057,7 +35794,7 @@ }, /area/almayer/maint/lower/constr) "ihw" = ( -/obj/structure/machinery/cm_vending/sorted/medical, +/obj/structure/machinery/cm_vending/sorted/medical/blood, /turf/open/floor/almayer{ dir = 1; icon_state = "sterile_green_corner" @@ -36105,23 +35842,6 @@ icon_state = "test_floor4" }, /area/almayer/squads/bravo) -"iis" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 1 - }, -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - dir = 1; - name = "\improper Brig Prison Yard And Offices"; - closeOtherId = "brigcells" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/processing) "iit" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -36140,12 +35860,38 @@ icon_state = "mono" }, /area/almayer/medical/hydroponics) +"iiU" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/obj/structure/sign/safety/restrictedarea{ + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "silver" + }, +/area/almayer/hallways/upper/fore_hallway) "iiZ" = ( /obj/structure/machinery/cm_vending/sorted/marine_food, /turf/open/floor/almayer{ icon_state = "bluefull" }, /area/almayer/command/cichallway) +"ijd" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/hallways/upper/midship_hallway) "ijf" = ( /obj/structure/surface/table/almayer, /obj/item/cell/crap, @@ -36155,14 +35901,6 @@ icon_state = "plate" }, /area/almayer/engineering/lower/workshop) -"ijn" = ( -/obj/structure/disposalpipe/junction{ - dir = 4; - icon_state = "pipe-j2" - }, -/obj/structure/pipes/standard/manifold/hidden/supply, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) "ijr" = ( /obj/structure/pipes/vents/scrubber{ dir = 4 @@ -36184,7 +35922,7 @@ }, /obj/structure/transmitter/rotary{ name = "Senior Enlisted Advisor Office Telephone"; - phone_category = "Almayer"; + phone_category = "Offices"; phone_id = "Senior Enlisted Advisor's Office"; pixel_x = -3 }, @@ -36221,13 +35959,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/s_bow) -"ikC" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_s) "ikQ" = ( /obj/structure/surface/table/woodentable/fancy, /obj/item/tool/stamp/hop{ @@ -36283,6 +36014,12 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south1) +"iml" = ( +/obj/structure/pipes/vents/pump, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "imo" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -36307,6 +36044,28 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/living/offices/flight) +"imS" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/machinery/door/poddoor/shutters/almayer{ + id = "ARES StairsUpper"; + name = "\improper ARES Core Shutters"; + plane = -7 + }, +/obj/structure/machinery/door/poddoor/almayer/blended/open{ + id = "ARES Emergency"; + name = "ARES Emergency Lockdown"; + open_layer = 1.9; + plane = -7 + }, +/obj/structure/disposalpipe/up/almayer{ + id = "ares_vault_in"; + name = "aicore"; + dir = 2 + }, +/turf/open/floor/almayer/no_build{ + icon_state = "test_floor4" + }, +/area/almayer/command/airoom) "inh" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 8 @@ -36340,6 +36099,16 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) +"ios" = ( +/obj/structure/surface/table/reinforced/almayer_B, +/obj/item/paper_bin/uscm{ + pixel_y = 6 + }, +/obj/item/tool/pen, +/turf/open/floor/almayer/no_build{ + icon_state = "plating" + }, +/area/almayer/command/airoom) "iow" = ( /obj/structure/machinery/cm_vending/sorted/attachments/squad{ req_access = null; @@ -36416,16 +36185,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_m_s) -"ipr" = ( -/obj/item/tool/weldpack{ - pixel_y = 15 - }, -/obj/structure/surface/table/almayer, -/obj/item/clothing/head/welding, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_s) "ipB" = ( /obj/structure/surface/rack, /obj/item/tool/kitchen/rollingpin, @@ -36513,6 +36272,18 @@ icon_state = "cargo" }, /area/almayer/shipboard/brig/cryo) +"irr" = ( +/obj/structure/stairs{ + dir = 1; + icon_state = "ramptop" + }, +/obj/effect/projector{ + name = "Almayer_AresUp2"; + vector_x = -102; + vector_y = 61 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "iry" = ( /obj/structure/platform{ dir = 8 @@ -36565,6 +36336,12 @@ icon_state = "orange" }, /area/almayer/engineering/lower/workshop) +"iso" = ( +/turf/open/floor/almayer{ + dir = 9; + icon_state = "orange" + }, +/area/almayer/hallways/upper/midship_hallway) "isq" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -36574,18 +36351,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_m_p) -"isC" = ( -/obj/effect/projector{ - name = "Almayer_AresDown"; - vector_x = 97; - vector_y = -65 - }, -/obj/structure/stairs{ - dir = 1; - icon_state = "ramptop" - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "isI" = ( /obj/structure/sign/nosmoking_2{ pixel_x = 32 @@ -36608,32 +36373,11 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/morgue) -"itf" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/obj/structure/machinery/door_control{ - id = "ARES Interior"; - indestructible = 1; - name = "ARES Chamber Lockdown"; - pixel_x = -24; - pixel_y = 8; - req_one_access_txt = "90;91;92" - }, -/obj/structure/machinery/door/poddoor/railing{ - closed_layer = 4; - density = 0; - id = "ARES Railing"; - layer = 2.1; - open_layer = 2.1; - unacidable = 0; - unslashable = 0 - }, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_silver"; - dir = 8 +"itg" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 }, +/turf/open/floor/almayer/aicore/no_build, /area/almayer/command/airoom) "ito" = ( /obj/effect/decal/warning_stripes{ @@ -36776,12 +36520,6 @@ icon_state = "plate" }, /area/almayer/engineering/lower) -"ivV" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "iwf" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -36932,16 +36670,6 @@ icon_state = "orange" }, /area/almayer/engineering/lower) -"iyH" = ( -/obj/structure/surface/table/reinforced/almayer_B{ - climbable = 0; - desc = "A square metal surface resting on its fat metal bottom. You can't flip something that doesn't have legs. This one has a metal rail running above it, preventing something large passing over. Like you."; - indestructible = 1; - unacidable = 1; - unslashable = 1 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "iyS" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -36954,6 +36682,14 @@ icon_state = "blue" }, /area/almayer/squads/delta) +"izf" = ( +/obj/structure/disposalpipe/down/almayer{ + dir = 4; + id = "ares_vault_in"; + name = "aicore" + }, +/turf/closed/wall/almayer/aicore/hull, +/area/almayer/command/airoom) "izk" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -37020,6 +36756,12 @@ icon_state = "plate" }, /area/almayer/engineering/lower/engine_core) +"iAI" = ( +/obj/structure/machinery/portable_atmospherics/hydroponics, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "iBl" = ( /obj/structure/machinery/power/apc/almayer{ dir = 4 @@ -37030,6 +36772,9 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cells) +"iBn" = ( +/turf/closed/wall/almayer/aicore/white/hull, +/area/space) "iBu" = ( /obj/structure/sign/safety/storage{ pixel_x = -17 @@ -37045,6 +36790,12 @@ icon_state = "silver" }, /area/almayer/command/cichallway) +"iCg" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "silvercorner" + }, +/area/almayer/hallways/upper/midship_hallway) "iCu" = ( /obj/structure/machinery/door/poddoor/almayer/open{ dir = 4; @@ -37085,6 +36836,22 @@ icon_state = "green" }, /area/almayer/living/offices) +"iCT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) +"iDa" = ( +/obj/structure/largecrate/supply/supplies/tables_racks, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/maint/upper/u_a_p) "iDk" = ( /obj/structure/closet/emcloset, /turf/open/floor/almayer{ @@ -37097,6 +36864,12 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_a_s) +"iDK" = ( +/obj/structure/blocker/fuelpump, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/north2) "iEa" = ( /obj/structure/machinery/light/small, /turf/open/floor/almayer{ @@ -37270,12 +37043,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/operating_room_four) -"iGE" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/hallways/upper/aft_hallway) "iGQ" = ( /obj/structure/machinery/landinglight/ds2/delayone{ dir = 8 @@ -37287,15 +37054,6 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"iGZ" = ( -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "iHc" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering/notunnel) @@ -37307,6 +37065,14 @@ icon_state = "cargo" }, /area/almayer/shipboard/brig/cells) +"iIb" = ( +/obj/structure/machinery/cryopod{ + pixel_y = 6 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/maint/upper/u_m_p) "iIj" = ( /obj/structure/stairs/perspective{ dir = 8; @@ -37328,20 +37094,6 @@ icon_state = "kitchen" }, /area/almayer/living/grunt_rnr) -"iIH" = ( -/obj/structure/largecrate/supply/medicine/medivend{ - pixel_x = 3 - }, -/obj/structure/largecrate/random/mini/med{ - pixel_x = 3; - pixel_y = 11; - density = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "sterile_green_side" - }, -/area/almayer/medical/lower_medical_medbay) "iIP" = ( /obj/structure/toilet{ pixel_y = 16 @@ -37356,15 +37108,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/port_emb) -"iIQ" = ( -/obj/structure/machinery/camera/autoname/almayer{ - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orangecorner" - }, -/area/almayer/hallways/upper/stern_hallway) "iIR" = ( /obj/structure/surface/table/almayer, /obj/item/trash/USCMtray{ @@ -37376,6 +37119,13 @@ }, /turf/open/floor/almayer, /area/almayer/squads/bravo) +"iIU" = ( +/obj/structure/largecrate/random/barrel/red, +/obj/structure/machinery/light/small, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "iJB" = ( /obj/structure/sign/safety/galley{ pixel_x = 8; @@ -37432,6 +37182,12 @@ icon_state = "cargo" }, /area/almayer/squads/alpha) +"iKy" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "iKD" = ( /obj/structure/surface/table/almayer, /obj/item/clipboard, @@ -37541,6 +37297,12 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/shipboard/brig/processing) +"iLL" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "iLO" = ( /turf/open/floor/almayer{ dir = 4; @@ -37565,11 +37327,18 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south2) +"iMD" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "iMI" = ( -/obj/structure/machinery/cm_vending/sorted/medical/blood, /obj/structure/machinery/camera/autoname/almayer{ name = "ship-grade camera" }, +/obj/structure/machinery/cm_vending/sorted/medical, +/obj/structure/medical_supply_link, /turf/open/floor/almayer{ dir = 1; icon_state = "sterile_green_side" @@ -37637,12 +37406,6 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cells) -"iOP" = ( -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/hallways/upper/stern_hallway) "iOX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37694,18 +37457,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"iPK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 9 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "iPN" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/station_alert, @@ -37727,14 +37478,6 @@ icon_state = "cargo" }, /area/almayer/squads/alpha) -"iPU" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" - }, -/turf/open/floor/almayer{ - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "iQd" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -37805,13 +37548,14 @@ layer = 3.2; pixel_y = 4 }, -/obj/structure/machinery/computer/secure_data{ - dir = 4; - pixel_y = 23 - }, /obj/structure/machinery/light{ dir = 8 }, +/obj/structure/machinery/computer/secure_data{ + dir = 4; + pixel_y = 23; + layer = 2.99 + }, /turf/open/floor/almayer{ dir = 8; icon_state = "red" @@ -37827,15 +37571,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_f_s) -"iRi" = ( -/obj/structure/sign/safety/distribution_pipes{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "iRp" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/poddoor/shutters/almayer/open{ @@ -37865,6 +37600,61 @@ dir = 4 }, /area/almayer/medical/containment/cell) +"iSd" = ( +/obj/structure/machinery/light/small{ + dir = 1 + }, +/obj/structure/closet/crate, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_m_s) "iSm" = ( /obj/structure/pipes/vents/pump, /obj/structure/mirror{ @@ -37911,15 +37701,15 @@ icon_state = "dark_sterile" }, /area/almayer/living/port_emb) -"iSu" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" +"iSx" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 }, /turf/open/floor/almayer{ - icon_state = "orangecorner" + icon_state = "silvercorner" }, -/area/almayer/hallways/upper/stern_hallway) +/area/almayer/hallways/upper/midship_hallway) "iSB" = ( /obj/structure/platform_decoration{ dir = 8 @@ -37979,6 +37769,20 @@ /obj/structure/curtain/red, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_a_s) +"iTt" = ( +/obj/structure/largecrate/supply/medicine/medivend{ + pixel_x = 3 + }, +/obj/structure/largecrate/random/mini/med{ + density = 1; + pixel_x = 3; + pixel_y = 11 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "sterile_green_side" + }, +/area/almayer/medical/lower_medical_medbay) "iTw" = ( /obj/structure/bed/chair/comfy{ dir = 4 @@ -38005,6 +37809,25 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_m_s) +"iTW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/security/reinforced{ + access_modified = 1; + closeOtherId = "astroladder_n"; + name = "\improper Astronavigational Deck"; + req_access = null; + req_one_access_txt = "3;19" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/navigation) "iUh" = ( /obj/structure/sign/safety/bulkhead_door{ pixel_x = -16 @@ -38065,11 +37888,6 @@ icon_state = "sterile_green_corner" }, /area/almayer/shipboard/brig/medical) -"iUV" = ( -/turf/open/floor/almayer{ - icon_state = "bluecorner" - }, -/area/almayer/hallways/upper/aft_hallway) "iUW" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -38102,6 +37920,29 @@ icon_state = "silvercorner" }, /area/almayer/command/cichallway) +"iVz" = ( +/obj/structure/surface/rack, +/obj/item/tool/wirecutters, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) +"iVD" = ( +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + closeOtherId = "brigmaint_n"; + dir = 1; + name = "\improper Brig" + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + id = "Brig Lockdown Shutters"; + name = "\improper Brig Lockdown Shutter" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/hull/upper/s_bow) "iVE" = ( /obj/structure/sign/safety/bathunisex{ pixel_x = 32 @@ -38145,6 +37986,10 @@ }, /turf/open/floor/almayer, /area/almayer/squads/delta) +"iWn" = ( +/obj/item/paper/almayer_storage, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_p) "iWx" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out" @@ -38155,6 +38000,13 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/hangar) +"iWB" = ( +/obj/structure/sign/safety/distribution_pipes{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "iWH" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -38268,15 +38120,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/s_stern) -"iYr" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "green" - }, -/area/almayer/living/starboard_garden) "iYt" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -38308,20 +38151,6 @@ }, /turf/open/floor/almayer, /area/almayer/command/lifeboat) -"iZw" = ( -/obj/effect/step_trigger/teleporter_vector{ - name = "Almayer_AresUp"; - vector_x = -97; - vector_y = 65 - }, -/obj/structure/platform{ - dir = 4 - }, -/obj/structure/stairs{ - dir = 1 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "iZE" = ( /obj/structure/machinery/cm_vending/sorted/tech/tool_storage, /obj/effect/decal/warning_stripes{ @@ -38368,12 +38197,6 @@ icon_state = "plate" }, /area/almayer/squads/req) -"jae" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/stern_hallway) "jaf" = ( /obj/structure/bed/chair/comfy/bravo{ dir = 4 @@ -38435,16 +38258,6 @@ icon_state = "plate" }, /area/almayer/hallways/lower/starboard_umbilical) -"jaH" = ( -/obj/structure/surface/table/reinforced/almayer_B, -/obj/item/paper_bin/uscm{ - pixel_y = 6 - }, -/obj/item/tool/pen, -/turf/open/floor/almayer/no_build{ - icon_state = "plating" - }, -/area/almayer/command/airoom) "jaI" = ( /obj/structure/sign/safety/storage{ pixel_x = 8; @@ -38478,10 +38291,6 @@ icon_state = "test_floor4" }, /area/almayer/squads/req) -"jaW" = ( -/obj/effect/landmark/start/reporter, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_m_p) "jbq" = ( /obj/structure/window/framed/almayer/hull, /turf/open/floor/plating, @@ -38518,15 +38327,6 @@ /obj/structure/machinery/light{ dir = 8 }, -/obj/item/clothing/mask/cigarette/pipe{ - layer = 2.8; - pixel_y = -7 - }, -/obj/item/reagent_container/spray/cleaner{ - layer = 3.04; - pixel_x = -4; - pixel_y = 7 - }, /obj/structure/machinery/door_control/brbutton{ id = "Brig Lockdown Shutters"; name = "Brig Lockdown"; @@ -38545,14 +38345,11 @@ pixel_x = 8; pixel_y = 26 }, +/obj/structure/machinery/computer/cameras/almayer/ares{ + dir = 4 + }, /turf/open/floor/wood/ship, /area/almayer/living/commandbunks) -"jbO" = ( -/obj/structure/machinery/cm_vending/sorted/medical/bolted, -/turf/open/floor/almayer{ - icon_state = "sterile_green_side" - }, -/area/almayer/medical/lower_medical_medbay) "jbX" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -38563,6 +38360,17 @@ /obj/structure/window/framed/almayer, /turf/open/floor/plating, /area/almayer/shipboard/brig/processing) +"jcu" = ( +/obj/effect/projector{ + name = "Almayer_Down3"; + vector_x = 1; + vector_y = -102 + }, +/turf/open/floor/almayer{ + allow_construction = 0; + icon_state = "plate" + }, +/area/almayer/hallways/upper/fore_hallway) "jcE" = ( /obj/structure/machinery/vending/coffee{ density = 0; @@ -38577,6 +38385,14 @@ icon_state = "plating_striped" }, /area/almayer/engineering/upper_engineering/starboard) +"jdl" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/platform_decoration, +/turf/open/floor/almayer/aicore/no_build{ + dir = 4; + icon_state = "ai_silver" + }, +/area/almayer/command/airoom) "jdm" = ( /obj/structure/surface/table/almayer, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -38822,6 +38638,20 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering/notunnel) +"jgy" = ( +/obj/effect/step_trigger/teleporter_vector{ + name = "Almayer_AresUp"; + vector_x = -96; + vector_y = 65 + }, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/stairs{ + dir = 1 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "jgF" = ( /obj/structure/platform, /turf/open/floor/almayer{ @@ -38875,12 +38705,6 @@ icon_state = "red" }, /area/almayer/shipboard/brig/mp_bunks) -"jgS" = ( -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/hallways/upper/stern_hallway) "jhb" = ( /obj/structure/sign/safety/cryo{ pixel_x = -6; @@ -38891,12 +38715,6 @@ "jhc" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/starboard_umbilical) -"jhm" = ( -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - icon_state = "orangecorner" - }, -/area/almayer/hallways/upper/stern_hallway) "jhn" = ( /turf/open/floor/almayer{ dir = 1; @@ -38954,6 +38772,15 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_a_p) +"jhQ" = ( +/obj/structure/closet, +/obj/item/clothing/under/marine, +/obj/item/clothing/suit/storage/marine, +/obj/item/clothing/head/helmet/marine, +/obj/item/clothing/head/beret/cm, +/obj/item/clothing/head/beret/cm, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_s) "jhR" = ( /obj/structure/reagent_dispensers/water_cooler/stacks{ density = 0; @@ -39026,21 +38853,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/vehiclehangar) -"jjn" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/structure/machinery/door/window/eastright{ - dir = 8; - req_access_txt = "8" - }, -/obj/structure/machinery/door/window/eastleft{ - req_access_txt = "8" - }, -/obj/item/book/manual/medical_diagnostics_manual, -/obj/item/device/megaphone, -/turf/open/floor/almayer{ - icon_state = "sterile_green" - }, -/area/almayer/medical/lower_medical_medbay) "jjS" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -39146,6 +38958,15 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_a_s) +"jkT" = ( +/obj/structure/machinery/status_display{ + pixel_y = 30 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/fore_hallway) "jkY" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -39350,15 +39171,6 @@ icon_state = "mono" }, /area/almayer/engineering/upper_engineering/port) -"jnx" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 6 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "jnD" = ( /turf/open/floor/almayer{ dir = 1; @@ -39397,6 +39209,29 @@ icon_state = "dark_sterile" }, /area/almayer/engineering/laundry) +"jpl" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_x = -1; + pixel_y = 1 + }, +/obj/structure/machinery/door/airlock/almayer/research/reinforced{ + closeOtherId = "containment_n"; + dir = 8; + name = "\improper Containment Airlock" + }, +/obj/structure/machinery/door/poddoor/almayer/biohazard/white{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/medical/medical_science) "jpn" = ( /obj/structure/stairs{ icon_state = "ramptop" @@ -39431,6 +39266,27 @@ }, /turf/open/floor/almayer, /area/almayer/living/gym) +"jpD" = ( +/obj/structure/machinery/door/window/eastleft{ + req_one_access_txt = "2;21" + }, +/obj/structure/machinery/door/window/westright, +/obj/structure/machinery/door/poddoor/shutters/almayer{ + dir = 4; + id = "ROlobby2"; + name = "\improper RO Line 2" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/surface/table/reinforced/almayer_blend, +/obj/item/desk_bell{ + pixel_x = -6; + pixel_y = 10; + anchored = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/squads/req) "jpW" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -39463,6 +39319,12 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/brig/execution) +"jrc" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/midship_hallway) "jre" = ( /obj/structure/closet/secure_closet/cargotech, /obj/item/clothing/accessory/storage/webbing, @@ -39502,6 +39364,18 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/p_stern) +"jrC" = ( +/obj/structure/machinery/vending/hydronutrients, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) +"jrH" = ( +/obj/structure/pipes/standard/manifold/hidden/supply/no_boom{ + dir = 8 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "jrI" = ( /obj/structure/filingcabinet{ density = 0; @@ -39537,6 +39411,19 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/port_fore_hallway) +"jsd" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out" + }, +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/sign/safety/stairs{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "jss" = ( /obj/structure/bed/chair/comfy{ dir = 8 @@ -39619,16 +39506,21 @@ icon_state = "emerald" }, /area/almayer/hallways/lower/port_midship_hallway) -"juo" = ( -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/lower/port_fore_hallway) -"jux" = ( -/obj/structure/pipes/standard/simple/hidden/supply, +"juj" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ - dir = 1; - icon_state = "bluecorner" + icon_state = "test_floor4" }, /area/almayer/hallways/upper/aft_hallway) +"juo" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/lower/port_fore_hallway) "juD" = ( /obj/structure/bed/chair/comfy{ dir = 8 @@ -39709,12 +39601,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_m_s) -"jvz" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "silvercorner" - }, -/area/almayer/hallways/upper/aft_hallway) "jvB" = ( /obj/effect/step_trigger/clone_cleaner, /turf/open/floor/almayer/aicore/no_build{ @@ -39817,12 +39703,6 @@ icon_state = "red" }, /area/almayer/squads/alpha_bravo_shared) -"jwM" = ( -/obj/structure/largecrate/supply/floodlights, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_p) "jwP" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out"; @@ -39837,6 +39717,13 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"jxq" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/north2) "jxu" = ( /obj/structure/machinery/cm_vending/sorted/medical/wall_med{ pixel_y = -25 @@ -39899,6 +39786,27 @@ icon_state = "cargo" }, /area/almayer/hallways/hangar) +"jyY" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + id = "Brig Lockdown Shutters"; + name = "\improper Brig Lockdown Shutter" + }, +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + closeOtherId = "brigmaint_s"; + dir = 1; + name = "\improper Brig Maintenance" + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + id = "perma_lockdown_2"; + name = "\improper Perma Lockdown Shutter" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/perma) "jzD" = ( /obj/structure/machinery/door/poddoor/almayer/locked{ icon_state = "almayer_pdoor"; @@ -40004,19 +39912,21 @@ dir = 8 }, /area/almayer/medical/containment/cell) -"jBX" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/lifeboat) "jCg" = ( /obj/docking_port/stationary/escape_pod/south, /turf/open/floor/plating, /area/almayer/maint/hull/lower/l_m_s) +"jCm" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/prop/almayer/computer/PC{ + dir = 4 + }, +/obj/item/tool/stamp/approved{ + pixel_x = -3; + pixel_y = -11 + }, +/turf/open/floor/almayer, +/area/almayer/squads/req) "jCn" = ( /obj/structure/surface/table/almayer, /obj/item/tool/screwdriver, @@ -40097,27 +40007,6 @@ }, /turf/open/floor/almayer, /area/almayer/engineering/lower/workshop/hangar) -"jDV" = ( -/obj/effect/projector{ - name = "Almayer_AresDown"; - vector_x = 97; - vector_y = -65 - }, -/obj/structure/platform{ - dir = 4 - }, -/obj/structure/stairs{ - dir = 1; - icon_state = "ramptop" - }, -/obj/structure/machinery/door_control{ - id = "ARES StairsUpper"; - name = "ARES Core Access"; - pixel_x = 24; - req_one_access_txt = "90;91;92" - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "jEA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -40233,6 +40122,17 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_m_s) +"jFM" = ( +/obj/structure/surface/table/almayer, +/obj/item/attachable/lasersight, +/obj/item/reagent_container/food/drinks/cans/souto/vanilla{ + pixel_x = 10; + pixel_y = 11 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "jFY" = ( /obj/structure/closet/firecloset, /turf/open/floor/almayer{ @@ -40317,13 +40217,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/medical/morgue) -"jHX" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/structure/machinery/light/small, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_p) "jIC" = ( /obj/structure/machinery/computer/working_joe{ dir = 4; @@ -40512,15 +40405,6 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/wood/ship, /area/almayer/command/corporateliaison) -"jMP" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = 25 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "jMQ" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -40611,14 +40495,6 @@ "jNT" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/execution) -"jOc" = ( -/obj/structure/closet/secure_closet/personal/cabinet{ - req_access = null; - pixel_y = 17; - pixel_x = 1 - }, -/turf/open/floor/almayer, -/area/almayer/living/numbertwobunks) "jOi" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -40780,20 +40656,6 @@ icon_state = "plate" }, /area/almayer/engineering/lower/workshop) -"jRg" = ( -/obj/effect/landmark/crap_item, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) -"jRm" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) "jRp" = ( /obj/structure/largecrate/supply/supplies/water, /obj/item/toy/deck{ @@ -41138,6 +41000,24 @@ icon_state = "test_floor4" }, /area/almayer/medical/lower_medical_medbay) +"jXk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/largecrate/supply/weapons/m39{ + pixel_x = 2 + }, +/obj/structure/largecrate/supply/weapons/m41a{ + layer = 3.1; + pixel_x = 6; + pixel_y = 17 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) +"jXN" = ( +/obj/docking_port/stationary/escape_pod/south, +/turf/open/floor/plating, +/area/almayer/maint/upper/u_m_s) "jXR" = ( /obj/effect/step_trigger/clone_cleaner, /obj/structure/blocker/forcefield/multitile_vehicles, @@ -41149,6 +41029,12 @@ allow_construction = 0 }, /area/almayer/hallways/lower/starboard_fore_hallway) +"jYa" = ( +/obj/structure/machinery/vending/hydroseeds, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "jYc" = ( /obj/item/bedsheet/blue{ layer = 3.2 @@ -41198,6 +41084,18 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/p_stern) +"jYH" = ( +/obj/structure/blocker/invisible_wall, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/mob/living/silicon/decoy/ship_ai{ + layer = 2.98; + pixel_y = -16 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "jYM" = ( /obj/structure/ladder{ height = 1; @@ -41209,20 +41107,6 @@ }, /turf/open/floor/plating/almayer, /area/almayer/maint/hull/lower/p_bow) -"jYR" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S"; - layer = 3.3 - }, -/obj/structure/machinery/camera/autoname/almayer/containment/ares{ - dir = 4 - }, -/turf/open/floor/almayer/aicore/glowing/no_build, -/area/almayer/command/airoom) "jZd" = ( /obj/structure/pipes/vents/pump{ dir = 8; @@ -41241,14 +41125,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/port_fore_hallway) -"jZj" = ( -/obj/structure/surface/rack, -/obj/item/book/manual/orbital_cannon_manual, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/maint/hull/upper/u_a_p) "jZo" = ( /obj/structure/machinery/door/airlock/almayer/maint, /obj/effect/step_trigger/clone_cleaner, @@ -41309,16 +41185,6 @@ }, /turf/open/floor/almayer, /area/almayer/medical/containment/cell/cl) -"jZW" = ( -/obj/structure/sign/safety/maint{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "jZY" = ( /obj/structure/closet/l3closet/medical, /turf/open/floor/almayer{ @@ -41333,6 +41199,18 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/s_bow) +"kaj" = ( +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) +"kak" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "kam" = ( /obj/item/tool/screwdriver{ layer = 2.9; @@ -41368,6 +41246,16 @@ icon_state = "red" }, /area/almayer/squads/alpha) +"kaE" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "cargo_arrow" + }, +/area/almayer/hallways/upper/midship_hallway) "kaI" = ( /obj/structure/bed/chair{ dir = 4 @@ -41376,6 +41264,15 @@ icon_state = "bluefull" }, /area/almayer/squads/charlie_delta_shared) +"kaO" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "kaQ" = ( /obj/structure/disposalpipe/junction, /obj/structure/pipes/standard/manifold/hidden/supply{ @@ -41409,6 +41306,21 @@ icon_state = "test_floor4" }, /area/almayer/squads/bravo) +"kbl" = ( +/obj/structure/stairs{ + dir = 8; + icon_state = "ramptop" + }, +/obj/effect/projector{ + name = "Almayer_Down3"; + vector_x = 1; + vector_y = -102 + }, +/obj/structure/machinery/light, +/turf/open/floor/plating/almayer{ + allow_construction = 0 + }, +/area/almayer/hallways/upper/fore_hallway) "kbv" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/upper/starboard) @@ -41434,20 +41346,6 @@ icon_state = "kitchen" }, /area/almayer/engineering/upper_engineering) -"kbH" = ( -/obj/effect/step_trigger/teleporter_vector{ - name = "Almayer_AresDown"; - vector_x = 97; - vector_y = -65 - }, -/obj/structure/platform{ - dir = 4 - }, -/obj/structure/stairs{ - dir = 1 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "kbJ" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -41459,16 +41357,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/containment) -"kbT" = ( -/obj/structure/sign/safety/distribution_pipes{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "kbV" = ( /obj/structure/platform{ dir = 1 @@ -41512,6 +41400,21 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/u_f_p) +"kcx" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/poddoor/almayer/open{ + dir = 4; + id = "CIC Lockdown"; + name = "\improper Combat Information Center Blast Door" + }, +/obj/structure/machinery/door/airlock/almayer/command/reinforced{ + closeOtherId = "ciclobby_n"; + name = "\improper Combat Information Center" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/command/cic) "kcA" = ( /obj/structure/machinery/light{ dir = 1 @@ -41578,13 +41481,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_lobby) -"keE" = ( -/obj/structure/largecrate/random/barrel/red, -/obj/structure/machinery/light/small, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "keG" = ( /obj/structure/machinery/door/airlock/almayer/security{ dir = 2; @@ -41610,23 +41506,6 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/engineering/upper_engineering/starboard) -"kfo" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/port) "kfB" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/machinery/light{ @@ -41709,6 +41588,33 @@ icon_state = "plate" }, /area/almayer/hallways/lower/vehiclehangar) +"kgV" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 4 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + layer = 3.33; + pixel_x = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + layer = 3.33; + pixel_y = 2 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + layer = 3.3 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + layer = 3.3 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "plating" + }, +/area/almayer/hallways/upper/aft_hallway) "khd" = ( /obj/structure/bed/chair{ dir = 4 @@ -41750,20 +41656,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_f_p) -"khJ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S"; - layer = 3.3 - }, -/obj/structure/machinery/camera/autoname/almayer/containment/ares{ - dir = 8 - }, -/turf/open/floor/almayer/aicore/glowing/no_build, -/area/almayer/command/airoom) "kil" = ( /obj/structure/stairs/perspective{ icon_state = "p_stair_full" @@ -41771,6 +41663,15 @@ /obj/item/storage/belt/utility, /turf/open/floor/almayer, /area/almayer/hallways/lower/repair_bay) +"kin" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "kio" = ( /obj/structure/machinery/firealarm{ pixel_y = 28 @@ -41783,15 +41684,6 @@ icon_state = "plate" }, /area/almayer/living/port_emb) -"kiq" = ( -/obj/structure/machinery/status_display{ - pixel_y = 30 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "kiy" = ( /obj/structure/machinery/light{ dir = 8 @@ -41963,10 +41855,6 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south2) -"kkI" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) "kkN" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/manifold/fourway/hidden/supply, @@ -41983,12 +41871,6 @@ icon_state = "orange" }, /area/almayer/engineering/lower) -"klr" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "klH" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -42023,22 +41905,31 @@ icon_state = "plate" }, /area/almayer/living/offices) -"kmx" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/effect/step_trigger/clone_cleaner, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "kmE" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/north2) +"kmT" = ( +/obj/structure/sign/safety/maint{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) +"knb" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "kng" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -42082,6 +41973,20 @@ icon_state = "cargo" }, /area/almayer/lifeboat_pumps/south2) +"knU" = ( +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/hallways/upper/aft_hallway) +"kon" = ( +/obj/structure/pipes/vents/pump{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_p) "kow" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -42109,10 +42014,6 @@ icon_state = "plate" }, /area/almayer/squads/bravo) -"kpc" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/almayer/command/airoom) "kph" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor{ @@ -42135,6 +42036,15 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south2) +"kpL" = ( +/obj/structure/sign/safety/life_support{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "kpQ" = ( /obj/structure/machinery/door_control{ id = "engidorm"; @@ -42147,6 +42057,13 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) +"kqa" = ( +/obj/structure/closet, +/obj/item/clothing/glasses/welding, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "kqb" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -42170,6 +42087,19 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/repair_bay) +"kqo" = ( +/obj/structure/machinery/light, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/structure/machinery/cm_vending/sorted/medical/bolted, +/obj/structure/medical_supply_link/green, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "sterile_green_corner" + }, +/area/almayer/medical/medical_science) "kqt" = ( /obj/structure/machinery/door/poddoor/almayer/open{ dir = 4; @@ -42292,6 +42222,14 @@ icon_state = "plating" }, /area/almayer/squads/req) +"krO" = ( +/obj/structure/machinery/cm_vending/sorted/medical, +/obj/structure/medical_supply_link, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "sterile_green_side" + }, +/area/almayer/shipboard/brig/medical) "krS" = ( /obj/structure/machinery/camera/autoname/almayer{ name = "ship-grade camera" @@ -42393,6 +42331,15 @@ icon_state = "silver" }, /area/almayer/hallways/lower/repair_bay) +"ktQ" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/almayer/aicore/no_build{ + dir = 8; + icon_state = "ai_arrow" + }, +/area/almayer/command/airoom) "ktR" = ( /obj/item/trash/crushed_cup, /turf/open/floor/almayer{ @@ -42595,6 +42542,27 @@ icon_state = "red" }, /area/almayer/shipboard/brig/mp_bunks) +"kya" = ( +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_y = 13 + }, +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = 12; + pixel_y = 13 + }, +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_y = 13 + }, +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = -16; + pixel_y = 13 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_m_p) "kyh" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -42752,28 +42720,6 @@ icon_state = "plating" }, /area/almayer/engineering/lower/engine_core) -"kzR" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) -"kzT" = ( -/obj/structure/machinery/door_control{ - id = "ARES StairsLower"; - name = "ARES Core Lockdown"; - pixel_x = -24; - pixel_y = -8; - req_one_access_txt = "90;91;92" - }, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_silver"; - dir = 8 - }, -/area/almayer/command/airoom) "kAh" = ( /obj/structure/sign/safety/restrictedarea{ pixel_x = -17 @@ -42797,56 +42743,6 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south2) -"kAp" = ( -/obj/structure/surface/rack{ - desc = "A bunch of metal shelves stacked on top of eachother. Excellent for storage purposes, less so as cover. One of the shelf legs is damaged, resulting in the rack being propped up by what appears to be circuit boards." - }, -/obj/structure/machinery/light/small{ - dir = 4; - status = 3; - icon_state = "bulb-burned" - }, -/obj/effect/decal/cleanable/blood, -/obj/item/prop{ - icon = 'icons/obj/items/bloodpack.dmi'; - icon_state = "bloodpack"; - name = "blood bag"; - desc = "A blood bag with a hole in it. The rats must have gotten to it first." - }, -/obj/item/prop{ - icon = 'icons/obj/items/bloodpack.dmi'; - icon_state = "bloodpack"; - name = "blood bag"; - desc = "A blood bag with a hole in it. The rats must have gotten to it first." - }, -/obj/item/prop{ - icon = 'icons/obj/items/bloodpack.dmi'; - icon_state = "bloodpack"; - name = "blood bag"; - desc = "A blood bag with a hole in it. The rats must have gotten to it first." - }, -/obj/item/prop{ - icon = 'icons/obj/items/circuitboards.dmi'; - icon_state = "id_mod"; - name = "circuit board"; - desc = "The words \"Cloning Pod\" are scrawled onto it. It appears to be heavily damaged."; - layer = 2.78; - pixel_y = 10; - pixel_x = 8 - }, -/obj/item/prop{ - icon = 'icons/obj/items/circuitboards.dmi'; - icon_state = "id_mod"; - name = "circuit board"; - desc = "The words \"Cloning Scanner\" are scrawled onto it. It appears to be heavily damaged."; - layer = 2.79; - pixel_y = 7; - pixel_x = 8 - }, -/turf/open/floor/almayer{ - icon_state = "sterile_green_corner" - }, -/area/almayer/medical/lower_medical_medbay) "kAv" = ( /obj/structure/largecrate/supply/ammo/shotgun, /turf/open/floor/plating/plating_catwalk, @@ -42916,6 +42812,36 @@ icon_state = "test_floor4" }, /area/almayer/medical/hydroponics) +"kCl" = ( +/obj/structure/surface/rack, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0; + pixel_x = -6; + pixel_y = 7 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0; + pixel_x = -6; + pixel_y = -3 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0; + pixel_x = 5; + pixel_y = 9 + }, +/obj/item/ammo_magazine/rifle/l42a/ap{ + current_rounds = 0; + pixel_x = 5; + pixel_y = -3 + }, +/obj/structure/noticeboard{ + desc = "The note is haphazardly attached to the cork board by what looks like a bent firing pin. 'The order has come in to perform end of life service checks on all L42A service rifles, any that are defective are to be dis-assembled and packed into a crate and sent to to the cargo hold. L42A service rifles that are in working order after servicing, are to be locked in secure cabinets ready to be off-loaded at Chinook. Scheduled end of life service for the L42A - Complete'"; + pixel_y = 29 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "kCm" = ( /obj/structure/sign/safety/fire_haz{ pixel_x = 15; @@ -42928,9 +42854,6 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"kCo" = ( -/turf/open/floor/almayer, -/area/almayer/hallways/upper/stern_hallway) "kCu" = ( /obj/structure/machinery/portable_atmospherics/powered/scrubber, /turf/open/floor/almayer{ @@ -43055,6 +42978,16 @@ icon_state = "redfull" }, /area/almayer/living/briefing) +"kEA" = ( +/obj/effect/projector{ + name = "Almayer_Down3"; + vector_x = 1; + vector_y = -102 + }, +/turf/open/floor/almayer{ + allow_construction = 0 + }, +/area/almayer/hallways/upper/fore_hallway) "kEE" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -43272,14 +43205,6 @@ icon_state = "plate" }, /area/almayer/engineering/lower/workshop/hangar) -"kJL" = ( -/obj/structure/machinery/constructable_frame{ - icon_state = "box_2" - }, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/north1) "kJW" = ( /obj/structure/machinery/door/window/westright, /obj/structure/machinery/shower{ @@ -43309,21 +43234,6 @@ icon_state = "test_floor4" }, /area/almayer/living/grunt_rnr) -"kKv" = ( -/obj/effect/projector{ - name = "Almayer_AresUp"; - vector_x = -97; - vector_y = 65 - }, -/obj/structure/platform{ - dir = 8 - }, -/obj/structure/stairs{ - dir = 1; - icon_state = "ramptop" - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "kKB" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ @@ -43370,10 +43280,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_m_p) -"kLB" = ( -/obj/docking_port/stationary/escape_pod/east, -/turf/open/floor/plating, -/area/almayer/maint/hull/upper/u_m_s) "kLE" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/machinery/door/poddoor/almayer{ @@ -43398,13 +43304,6 @@ icon_state = "greencorner" }, /area/almayer/squads/req) -"kLZ" = ( -/obj/structure/machinery/light/small{ - dir = 1 - }, -/obj/structure/largecrate/random/barrel/red, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_s) "kMa" = ( /obj/structure/platform_decoration, /turf/open/floor/almayer{ @@ -43464,6 +43363,13 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_a_p) +"kMV" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/starboard) "kMW" = ( /obj/structure/closet/secure_closet/personal/cabinet{ req_access = null @@ -43503,20 +43409,6 @@ "kNq" = ( /turf/closed/wall/almayer, /area/almayer/maint/hull/upper/u_a_p) -"kNx" = ( -/obj/structure/sign/safety/ref_bio_storage{ - pixel_x = -17; - pixel_y = 7 - }, -/obj/structure/sign/safety/biohazard{ - pixel_x = -17; - pixel_y = -7 - }, -/obj/structure/machinery/cm_vending/sorted/medical/chemistry, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/medical/medical_science) "kNC" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 8 @@ -43624,6 +43516,12 @@ icon_state = "plate" }, /area/almayer/squads/req) +"kPa" = ( +/turf/open/floor/almayer{ + dir = 8; + icon_state = "greencorner" + }, +/area/almayer/hallways/upper/fore_hallway) "kPx" = ( /obj/structure/surface/table/almayer, /obj/item/device/mass_spectrometer, @@ -43736,21 +43634,6 @@ icon_state = "cargo" }, /area/almayer/command/lifeboat) -"kRk" = ( -/obj/structure/surface/table/almayer, -/obj/item/tool/screwdriver, -/obj/item/prop/helmetgarb/gunoil{ - pixel_x = -7; - pixel_y = 12 - }, -/obj/item/weapon/gun/rifle/l42a{ - pixel_x = 17; - pixel_y = 6 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_s) "kRD" = ( /obj/item/reagent_container/glass/bucket/janibucket, /obj/structure/machinery/light{ @@ -43768,13 +43651,6 @@ icon_state = "cargo" }, /area/almayer/engineering/lower/workshop/hangar) -"kRN" = ( -/obj/structure/surface/rack, -/obj/item/clothing/glasses/meson, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/maint/hull/upper/u_a_p) "kRP" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/item/prop/magazine/dirty/torn, @@ -43784,6 +43660,22 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) +"kRQ" = ( +/obj/structure/surface/table/reinforced/almayer_B, +/obj/structure/machinery/computer/cameras/almayer/ares{ + dir = 8; + pixel_x = 17; + pixel_y = 7 + }, +/obj/structure/machinery/computer/cameras/almayer{ + dir = 8; + pixel_x = 17; + pixel_y = -6 + }, +/turf/open/floor/almayer/aicore/glowing/no_build{ + icon_state = "ai_floor3" + }, +/area/almayer/command/airoom) "kRU" = ( /obj/vehicle/powerloader, /obj/structure/platform{ @@ -43797,6 +43689,16 @@ icon_state = "cargo" }, /area/almayer/hallways/lower/repair_bay) +"kSi" = ( +/obj/structure/machinery/cm_vending/gear/intelligence_officer{ + density = 0; + pixel_x = -32 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "silver" + }, +/area/almayer/command/computerlab) "kSn" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 4; @@ -43837,6 +43739,13 @@ icon_state = "test_floor4" }, /area/almayer/hallways/lower/port_fore_hallway) +"kSC" = ( +/obj/structure/machinery/cm_vending/sorted/medical/bolted, +/obj/structure/medical_supply_link/green, +/turf/open/floor/almayer{ + icon_state = "sterile_green_side" + }, +/area/almayer/medical/lower_medical_medbay) "kSH" = ( /obj/structure/sign/prop1{ pixel_y = 32 @@ -43915,15 +43824,6 @@ icon_state = "test_floor4" }, /area/almayer/living/pilotbunks) -"kUs" = ( -/obj/structure/machinery/firealarm{ - pixel_y = 28 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "kUA" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, @@ -43937,6 +43837,23 @@ icon_state = "green" }, /area/almayer/hallways/lower/starboard_midship_hallway) +"kUJ" = ( +/obj/item/trash/USCMtray{ + pixel_x = -4; + pixel_y = 10 + }, +/obj/structure/surface/table/almayer, +/obj/item/tool/kitchen/utensil/pfork{ + pixel_x = 9; + pixel_y = 8 + }, +/obj/structure/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_s) "kUL" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -43946,13 +43863,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_m_p) -"kUQ" = ( -/obj/effect/decal/cleanable/blood/oil/streak, -/obj/structure/machinery/constructable_frame, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/south1) "kUR" = ( /turf/open/floor/almayer{ icon_state = "bluefull" @@ -43973,6 +43883,10 @@ }, /turf/open/floor/wood/ship, /area/almayer/command/corporateliaison) +"kVW" = ( +/obj/effect/step_trigger/clone_cleaner, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/fore_hallway) "kVZ" = ( /obj/structure/machinery/door/window/brigdoor/southright{ id = "Cell 2"; @@ -43983,14 +43897,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/cells) -"kWc" = ( -/obj/structure/pipes/standard/manifold/hidden/supply, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/stern_hallway) "kWk" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -44075,12 +43981,6 @@ icon_state = "silver" }, /area/almayer/command/computerlab) -"kXj" = ( -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_silver"; - dir = 4 - }, -/area/almayer/command/airoom) "kXm" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -44115,6 +44015,12 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) +"kXD" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "kXN" = ( /obj/item/clothing/glasses/sunglasses/aviator{ pixel_x = -1; @@ -44124,6 +44030,15 @@ icon_state = "dark_sterile" }, /area/almayer/engineering/laundry) +"kYb" = ( +/obj/structure/machinery/status_display{ + pixel_y = 30 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) "kYl" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -44154,6 +44069,14 @@ icon_state = "plate" }, /area/almayer/living/port_emb) +"kYF" = ( +/obj/structure/machinery/door/airlock/almayer/maint/reinforced{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/upper/u_f_s) "kYL" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -44187,6 +44110,12 @@ icon_state = "plate" }, /area/almayer/living/offices) +"kZc" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "kZN" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/prop/almayer/computer/PC{ @@ -44224,6 +44153,25 @@ icon_state = "emerald" }, /area/almayer/living/gym) +"lat" = ( +/obj/structure/toilet{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_s) +"laD" = ( +/obj/docking_port/stationary/escape_pod/north, +/turf/open/floor/plating, +/area/almayer/maint/upper/u_m_p) +"laI" = ( +/obj/structure/sign/safety/maint{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "laM" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -44245,13 +44193,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/cic_hallway) -"laP" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/sign/safety/distribution_pipes{ - pixel_x = 32 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_s) "laQ" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -44286,23 +44227,6 @@ }, /turf/open/floor/plating, /area/almayer/command/cic) -"lbc" = ( -/obj/structure/stairs{ - dir = 8; - icon_state = "ramptop" - }, -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/effect/projector{ - name = "Almayer_Down2"; - vector_x = 1; - vector_y = -100 - }, -/turf/open/floor/plating/almayer{ - allow_construction = 0 - }, -/area/almayer/hallways/upper/aft_hallway) "lbf" = ( /obj/structure/machinery/cryopod{ pixel_y = 6 @@ -44331,6 +44255,12 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) +"lbO" = ( +/obj/structure/surface/rack, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_p) "lbX" = ( /obj/structure/bed/chair{ dir = 4 @@ -44399,16 +44329,6 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/north2) -"ldq" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) "ldt" = ( /obj/structure/machinery/conveyor{ dir = 8; @@ -44518,6 +44438,16 @@ icon_state = "blue" }, /area/almayer/living/basketball) +"lfZ" = ( +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/food/snacks/mre_pack/meal5, +/obj/item/device/flashlight/lamp{ + pixel_x = 3; + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_f_s) "lgk" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ @@ -44661,33 +44591,6 @@ icon_state = "mono" }, /area/almayer/medical/medical_science) -"lin" = ( -/obj/effect/projector{ - name = "Almayer_AresDown"; - vector_x = 97; - vector_y = -65 - }, -/obj/structure/platform{ - dir = 8 - }, -/obj/structure/stairs{ - dir = 1; - icon_state = "ramptop" - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) -"liF" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, -/obj/structure/closet, -/obj/item/clothing/under/marine, -/obj/item/clothing/suit/storage/marine, -/obj/item/clothing/head/helmet/marine, -/obj/item/clothing/head/cmcap, -/obj/item/clothing/head/cmcap, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_s) "liJ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -44883,6 +44786,22 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"lla" = ( +/obj/structure/sign/safety/hvac_old{ + pixel_x = 8; + pixel_y = 32 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_p) +"llo" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "llK" = ( /obj/structure/platform_decoration{ dir = 4 @@ -44947,9 +44866,20 @@ icon_state = "plate" }, /area/almayer/living/numbertwobunks) -"lmK" = ( -/turf/closed/wall/almayer/reinforced, -/area/almayer/command/securestorage) +"lmG" = ( +/obj/structure/stairs{ + dir = 8; + icon_state = "ramptop" + }, +/obj/effect/projector{ + name = "Almayer_Down2"; + vector_x = 1; + vector_y = -100 + }, +/turf/open/floor/plating/almayer{ + allow_construction = 0 + }, +/area/almayer/hallways/upper/fore_hallway) "lne" = ( /obj/structure/bed/chair, /turf/open/floor/almayer{ @@ -44979,10 +44909,6 @@ icon_state = "silvercorner" }, /area/almayer/shipboard/brig/cic_hallway) -"lnD" = ( -/obj/structure/window/framed/almayer, -/turf/open/floor/plating, -/area/almayer/maint/hull/upper/u_a_s) "lnP" = ( /obj/structure/machinery/vending/cola, /obj/structure/window/reinforced, @@ -45076,13 +45002,6 @@ icon_state = "plate" }, /area/almayer/living/briefing) -"loz" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/starboard) "loE" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/u_f_s) @@ -45189,6 +45108,16 @@ icon_state = "emerald" }, /area/almayer/hallways/hangar) +"lqL" = ( +/obj/structure/machinery/firealarm{ + dir = 4; + pixel_x = 24 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/aft_hallway) "lqN" = ( /obj/item/device/assembly/mousetrap/armed, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -45199,13 +45128,6 @@ icon_state = "orange" }, /area/almayer/living/port_emb) -"lrd" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/hallways/upper/aft_hallway) "lrq" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/shipboard/brig/armory) @@ -45247,15 +45169,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/hangar) -"lsh" = ( -/obj/structure/machinery/light/small{ - dir = 1; - pixel_y = 20 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "lsn" = ( /obj/structure/surface/table/almayer, /obj/item/paper{ @@ -45337,14 +45250,6 @@ icon_state = "sterile_green" }, /area/almayer/medical/containment) -"ltt" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/aft_hallway) "ltv" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -45559,12 +45464,6 @@ icon_state = "cargo" }, /area/almayer/living/commandbunks) -"lxT" = ( -/obj/structure/machinery/constructable_frame, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/lifeboat_pumps/south2) "lxW" = ( /obj/structure/sign/prop2{ pixel_y = 29 @@ -45573,6 +45472,23 @@ icon_state = "plate" }, /area/almayer/living/auxiliary_officer_office) +"lyh" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/tool/surgery/scalpel{ + pixel_x = -1; + pixel_y = 10 + }, +/obj/item/stack/cable_coil{ + pixel_y = 1; + pixel_x = 8 + }, +/obj/item/stack/sheet/cardboard/small_stack{ + pixel_y = 2; + pixel_x = -3; + layer = 3.01 + }, +/turf/open/floor/almayer, +/area/almayer/squads/alpha_bravo_shared) "lyk" = ( /obj/structure/sign/safety/storage{ pixel_x = -17 @@ -45662,6 +45578,21 @@ }, /turf/open/floor/almayer, /area/almayer/squads/charlie_delta_shared) +"lzt" = ( +/obj/structure/surface/table/almayer, +/obj/item/tool/screwdriver, +/obj/item/prop/helmetgarb/gunoil{ + pixel_x = -7; + pixel_y = 12 + }, +/obj/item/weapon/gun/rifle/l42a{ + pixel_x = 17; + pixel_y = 6 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "lzA" = ( /obj/structure/machinery/sleep_console{ dir = 8 @@ -45670,13 +45601,6 @@ icon_state = "mono" }, /area/almayer/medical/medical_science) -"lzF" = ( -/obj/structure/pipes/standard/manifold/hidden/supply, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) "lAa" = ( /obj/structure/surface/table/almayer, /obj/item/device/lightreplacer{ @@ -45726,13 +45650,10 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) -"lBf" = ( -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/hallways/upper/stern_hallway) +"lAW" = ( +/obj/docking_port/stationary/escape_pod/east, +/turf/open/floor/plating, +/area/almayer/maint/upper/u_m_p) "lBg" = ( /obj/structure/bedsheetbin, /turf/open/floor/almayer{ @@ -45757,37 +45678,16 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) -"lBw" = ( -/obj/structure/machinery/cryopod{ - pixel_y = 6 - }, -/obj/structure/sign/safety/cryo{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/maint/hull/upper/u_m_p) -"lBB" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/upper/u_m_s) -"lCc" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" +"lCg" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" }, +/obj/effect/step_trigger/clone_cleaner, /turf/open/floor/almayer{ - icon_state = "orange" + dir = 8; + icon_state = "green" }, -/area/almayer/hallways/upper/stern_hallway) +/area/almayer/hallways/upper/fore_hallway) "lCm" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -45861,6 +45761,10 @@ }, /turf/open/floor/plating, /area/almayer/maint/lower/constr) +"lDH" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "lDL" = ( /obj/structure/machinery/light{ dir = 4 @@ -45976,12 +45880,19 @@ icon_state = "blue" }, /area/almayer/living/port_emb) -"lFm" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "silver" +"lFj" = ( +/obj/structure/machinery/door_control{ + id = "ARES Operations Right"; + name = "ARES Operations Shutter"; + pixel_x = 24; + pixel_y = -8; + req_one_access_txt = "90;91;92" }, -/area/almayer/command/securestorage) +/turf/open/floor/almayer/aicore/no_build{ + dir = 4; + icon_state = "ai_silver" + }, +/area/almayer/command/airoom) "lFn" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_21" @@ -46037,29 +45948,6 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/port) -"lFJ" = ( -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - name = "\improper Brig Prisoner Yard"; - closeOtherId = "brigcells" - }, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 8 - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - dir = 4; - id = "courtyard_cells"; - name = "\improper Courtyard Lockdown Shutter" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/processing) "lFK" = ( /obj/structure/machinery/light{ dir = 8 @@ -46086,6 +45974,15 @@ icon_state = "orange" }, /area/almayer/engineering/lower/workshop/hangar) +"lGh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/midship_hallway) "lHk" = ( /obj/structure/closet/firecloset, /obj/effect/decal/warning_stripes{ @@ -46165,6 +46062,17 @@ icon_state = "mono" }, /area/almayer/engineering/upper_engineering/port) +"lIY" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "lJu" = ( /obj/structure/barricade/metal{ dir = 1 @@ -46293,6 +46201,12 @@ icon_state = "greencorner" }, /area/almayer/hallways/lower/port_fore_hallway) +"lLt" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/midship_hallway) "lLC" = ( /obj/structure/surface/table/almayer, /turf/open/floor/almayer, @@ -46355,6 +46269,32 @@ icon_state = "cargo" }, /area/almayer/engineering/upper_engineering/starboard) +"lMy" = ( +/obj/structure/machinery/fuelpump, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/north2) +"lMF" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/command/reinforced{ + closeOtherId = "ciclobby_n"; + id_tag = "cic_exterior"; + name = "\improper Combat Information Center" + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + dir = 4; + id = "CIC Lockdown"; + name = "\improper Combat Information Center Blast Door" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/command/cic) "lMO" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/toolbox, @@ -46393,6 +46333,16 @@ icon_state = "plate" }, /area/almayer/squads/charlie) +"lNL" = ( +/obj/item/tool/mop{ + pixel_x = -6; + pixel_y = 24 + }, +/obj/item/reagent_container/glass/bucket, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_s) "lNR" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer, @@ -46489,10 +46439,12 @@ icon_state = "silver" }, /area/almayer/command/securestorage) -"lPW" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_m_p) +"lPY" = ( +/turf/open/floor/almayer{ + dir = 5; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "lQa" = ( /obj/structure/machinery/light{ dir = 8 @@ -46549,6 +46501,12 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/operating_room_three) +"lRh" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "bluecorner" + }, +/area/almayer/hallways/upper/midship_hallway) "lRs" = ( /obj/structure/surface/table/almayer, /obj/item/trash/USCMtray{ @@ -46621,6 +46579,23 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/s_bow) +"lSN" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/fore_hallway) +"lST" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/upper/u_f_p) "lSX" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 6 @@ -46646,18 +46621,6 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/chapel) -"lUm" = ( -/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ - name = "\improper Brig Cells"; - closeOtherId = "briglobby" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/processing) "lUA" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -46763,6 +46726,14 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/upper/mess) +"lWS" = ( +/obj/structure/bed/chair/office/dark{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_s) "lWY" = ( /obj/structure/closet/firecloset, /turf/open/floor/almayer{ @@ -46788,6 +46759,12 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering) +"lXl" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "lXO" = ( /obj/structure/surface/table/almayer, /obj/item/paper_bin/uscm, @@ -46802,6 +46779,15 @@ icon_state = "green" }, /area/almayer/living/offices) +"lXR" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "lYg" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating/plating_catwalk, @@ -46840,6 +46826,15 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"lYS" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/fore_hallway) "lZb" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/tool, @@ -46885,6 +46880,12 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_m_p) +"lZJ" = ( +/obj/structure/machinery/light/small, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_p) "lZM" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/machinery/door/airlock/almayer/maint{ @@ -46911,15 +46912,6 @@ icon_state = "red" }, /area/almayer/shipboard/brig/starboard_hallway) -"maF" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = 25 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "maI" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -46961,15 +46953,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/upper_medical) -"mbu" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/stern_hallway) "mbx" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -47013,6 +46996,9 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/vehiclehangar) +"mdm" = ( +/turf/closed/wall/almayer, +/area/almayer/hallways/upper/midship_hallway) "mdo" = ( /obj/structure/machinery/cm_vending/sorted/marine_food, /turf/open/floor/almayer{ @@ -47089,13 +47075,6 @@ "meQ" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/starboard_midship_hallway) -"meS" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/hallways/upper/aft_hallway) "meT" = ( /obj/structure/machinery/door/poddoor/almayer/open{ id = "Hangar Lockdown"; @@ -47113,15 +47092,18 @@ damage_cap = 15000 }, /area/almayer/squads/alpha) -"mfH" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - dir = 1 +"mfL" = ( +/obj/item/reagent_container/glass/bucket/janibucket{ + pixel_x = -1; + pixel_y = 13 + }, +/obj/structure/sign/safety/water{ + pixel_x = -17 }, -/obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ - icon_state = "test_floor4" + icon_state = "plate" }, -/area/almayer/maint/hull/upper/u_a_s) +/area/almayer/maint/upper/u_f_s) "mfM" = ( /obj/structure/surface/table/almayer, /obj/effect/landmark/map_item, @@ -47135,22 +47117,22 @@ icon_state = "silver" }, /area/almayer/living/briefing) +"mfO" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/midship_hallway) "mfQ" = ( /turf/open/floor/almayer{ allow_construction = 0; icon_state = "plate" }, /area/almayer/living/pilotbunks) -"mfR" = ( -/obj/structure/surface/table/almayer, -/obj/item/paper_bin{ - pixel_x = -6; - pixel_y = 7 - }, -/obj/item/tool/pen, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/upper/u_m_s) "mgb" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_m_p) @@ -47267,6 +47249,9 @@ icon_state = "plate" }, /area/almayer/squads/alpha) +"mis" = ( +/turf/open/floor/plating, +/area/almayer/maint/upper/u_f_s) "miy" = ( /obj/structure/machinery/optable, /obj/structure/sign/safety/medical{ @@ -47536,6 +47521,21 @@ icon_state = "test_floor4" }, /area/almayer/command/corporateliaison) +"mmn" = ( +/obj/structure/machinery/cm_vending/sorted/cargo_guns/intelligence_officer{ + density = 0; + pixel_x = -32 + }, +/obj/structure/machinery/light{ + dir = 8; + pixel_x = -32; + alpha = 0 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "silver" + }, +/area/almayer/command/computerlab) "mmN" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 1 @@ -47554,6 +47554,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/starboard_umbilical) +"mnf" = ( +/turf/open/floor/almayer{ + dir = 6; + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "mng" = ( /turf/open/floor/almayer{ icon_state = "redcorner" @@ -47565,33 +47571,18 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south1) -"mnC" = ( +"mnB" = ( +/obj/structure/surface/rack, +/obj/item/clothing/glasses/meson, /turf/open/floor/almayer{ - dir = 8; - icon_state = "greencorner" + icon_state = "red" }, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/maint/upper/u_a_p) "mnI" = ( /turf/open/floor/almayer{ icon_state = "blue" }, /area/almayer/living/briefing) -"mnV" = ( -/obj/structure/sign/safety/refridgeration{ - pixel_y = -32 - }, -/obj/structure/sign/safety/medical{ - pixel_x = 15; - pixel_y = -32 - }, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "mnW" = ( /obj/structure/surface/table/almayer, /obj/item/device/reagent_scanner{ @@ -47623,15 +47614,6 @@ icon_state = "cargo" }, /area/almayer/maint/hull/upper/u_f_p) -"moq" = ( -/obj/structure/largecrate/random/case/double, -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/upper/u_m_p) "mor" = ( /obj/structure/machinery/light{ dir = 8 @@ -47729,12 +47711,6 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/commandbunks) -"mqd" = ( -/obj/structure/closet/emcloset, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/hallways/upper/aft_hallway) "mqg" = ( /obj/structure/bed/chair{ dir = 4 @@ -47748,6 +47724,16 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) +"mqh" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/obj/structure/machinery/cm_vending/sorted/medical/marinemed, +/obj/structure/medical_supply_link, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/command/cic) "mqt" = ( /turf/open/floor/almayer{ icon_state = "bluecorner" @@ -47773,18 +47759,6 @@ icon_state = "plate" }, /area/almayer/squads/bravo) -"mqR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "mqU" = ( /obj/structure/pipes/vents/pump{ dir = 8; @@ -47824,6 +47798,19 @@ icon_state = "green" }, /area/almayer/squads/req) +"mrO" = ( +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "orange" + }, +/area/almayer/hallways/upper/midship_hallway) "msg" = ( /obj/structure/machinery/light, /obj/structure/sign/safety/waterhazard{ @@ -47888,6 +47875,12 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/starboard) +"msS" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/north2) "msZ" = ( /obj/structure/barricade/handrail{ dir = 8 @@ -48005,6 +47998,11 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/commandbunks) +"muW" = ( +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/hallways/upper/midship_hallway) "mvg" = ( /obj/docking_port/stationary/escape_pod/west, /turf/open/floor/plating, @@ -48096,15 +48094,18 @@ /obj/structure/machinery/light, /turf/open/floor/plating/plating_catwalk, /area/almayer/stair_clone/upper) -"mxg" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"mxo" = ( +/obj/docking_port/stationary/escape_pod/south, +/turf/open/floor/plating, +/area/almayer/maint/upper/u_f_p) +"mxq" = ( +/obj/structure/machinery/door_control/cl/office/door{ + pixel_y = -20 }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +/turf/open/floor/almayer{ + icon_state = "plate" }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/hallways/upper/midship_hallway) "mxT" = ( /obj/structure/surface/table/almayer, /obj/item/device/flashlight/lamp, @@ -48188,26 +48189,17 @@ icon_state = "test_floor4" }, /area/almayer/shipboard/brig/armory) -"mze" = ( -/obj/structure/machinery/door/poddoor/almayer/open{ - dir = 4; - id = "Brig Lockdown Shutters"; - name = "\improper Brig Lockdown Shutter" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - name = "\improper Brig"; - closeOtherId = "brigmaint_n" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/starboard_hallway) "mzg" = ( /turf/open/floor/almayer{ icon_state = "emerald" }, /area/almayer/squads/charlie) +"mzn" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/hallways/upper/fore_hallway) "mzq" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 6 @@ -48253,6 +48245,17 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_m_s) +"mzP" = ( +/obj/structure/stairs{ + dir = 1 + }, +/obj/effect/step_trigger/teleporter_vector{ + name = "Almayer_AresDown2"; + vector_x = 102; + vector_y = -61 + }, +/turf/open/floor/plating, +/area/almayer/command/airoom) "mzS" = ( /turf/open/floor/almayer{ dir = 9; @@ -48265,11 +48268,29 @@ icon_state = "blue" }, /area/almayer/living/port_emb) +"mAe" = ( +/obj/structure/window/framed/almayer/aicore/hull/black/hijack_bustable, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "mAp" = ( /obj/structure/surface/table/almayer, /obj/effect/spawner/random/tool, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south1) +"mAs" = ( +/obj/effect/step_trigger/teleporter_vector{ + name = "Almayer_AresDown"; + vector_x = 96; + vector_y = -65 + }, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/stairs{ + dir = 1 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "mAF" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -48328,25 +48349,38 @@ icon_state = "dark_sterile" }, /area/almayer/living/pilotbunks) -"mBp" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"mBk" = ( +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/pill/happy{ + pixel_x = 6; + pixel_y = -4 }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +/obj/item/prop/helmetgarb/prescription_bottle{ + pixel_x = 9 }, -/obj/structure/machinery/door/airlock/almayer/security/reinforced{ - access_modified = 1; - name = "\improper Astronavigational Deck"; - req_access = null; - req_one_access_txt = "3;19"; - closeOtherId = "astroladder_n" +/obj/item/tool/surgery/bonegel/empty{ + pixel_x = 4; + pixel_y = 15 + }, +/obj/item/tool/surgery/bonegel/empty{ + pixel_x = -8; + pixel_y = 13 + }, +/obj/item/tool/surgery/bonegel/empty{ + layer = 3.01; + pixel_x = -5; + pixel_y = 19 + }, +/obj/item/storage/box/gloves{ + layer = 3.2; + pixel_x = -5; + pixel_y = 2 }, /turf/open/floor/almayer{ - icon_state = "test_floor4" + dir = 1; + icon_state = "sterile_green_corner" }, -/area/almayer/shipboard/navigation) +/area/almayer/medical/lower_medical_medbay) "mBx" = ( /obj/structure/machinery/firealarm{ dir = 4; @@ -48373,6 +48407,11 @@ icon_state = "orangefull" }, /area/almayer/living/briefing) +"mCg" = ( +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_p) "mCo" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -48380,6 +48419,23 @@ }, /turf/open/floor/plating, /area/almayer/squads/req) +"mCx" = ( +/obj/structure/machinery/door/airlock/almayer/secure/reinforced{ + access_modified = 1; + name = "\improper AI Reception"; + req_access = null; + req_one_access_txt = "91;92"; + dir = 1 + }, +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/machinery/door/poddoor/shutters/almayer{ + id = "ARES ReceptStairs1"; + name = "\improper ARES Reception Shutters" + }, +/turf/open/floor/almayer/no_build{ + icon_state = "test_floor4" + }, +/area/almayer/command/airoom) "mCE" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12; @@ -48389,6 +48445,10 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_a_p) +"mCJ" = ( +/obj/structure/machinery/power/apc/almayer, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_f_p) "mCL" = ( /obj/structure/sign/safety/fire_haz{ pixel_x = 8; @@ -48412,13 +48472,6 @@ icon_state = "green" }, /area/almayer/squads/req) -"mDz" = ( -/obj/structure/machinery/shower{ - pixel_y = 16 - }, -/obj/item/tool/soap, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_s) "mDJ" = ( /turf/open/floor/almayer, /area/almayer/engineering/upper_engineering/starboard) @@ -48474,6 +48527,33 @@ /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/port_fore_hallway) +"mEs" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/machinery/door_control{ + id = "ARES Interior"; + indestructible = 1; + name = "ARES Chamber Lockdown"; + pixel_x = 24; + pixel_y = 8; + req_one_access_txt = "90;91;92" + }, +/obj/structure/machinery/door/poddoor/railing{ + closed_layer = 4; + density = 0; + id = "ARES Railing"; + layer = 2.1; + open_layer = 2.1; + unacidable = 0; + unslashable = 0 + }, +/turf/open/floor/almayer/aicore/no_build{ + dir = 4; + icon_state = "ai_silver" + }, +/area/almayer/command/airoom) "mEE" = ( /obj/structure/platform{ dir = 4; @@ -48568,23 +48648,27 @@ "mFQ" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/maint/hull/lower/s_bow) +"mGb" = ( +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/fore_hallway) "mGe" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, /area/almayer/command/cichallway) -"mGk" = ( -/obj/structure/disposalpipe/junction, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) "mGu" = ( /turf/open/floor/almayer{ dir = 4; icon_state = "silver" }, /area/almayer/command/securestorage) +"mGL" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/almayer/hallways/upper/midship_hallway) "mGT" = ( /obj/structure/machinery/status_display{ pixel_y = 30 @@ -48652,12 +48736,6 @@ icon_state = "mono" }, /area/almayer/medical/hydroponics) -"mHE" = ( -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_silver"; - dir = 8 - }, -/area/almayer/command/airoom) "mHF" = ( /obj/structure/surface/rack, /obj/item/clothing/head/headband/red{ @@ -48676,6 +48754,20 @@ icon_state = "mono" }, /area/almayer/living/pilotbunks) +"mHT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "orange" + }, +/area/almayer/maint/upper/u_a_s) +"mHY" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/midship_hallway) "mId" = ( /obj/structure/closet, /obj/item/clothing/suit/armor/riot/marine/vintage_riot, @@ -48687,6 +48779,20 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_m_s) +"mIi" = ( +/obj/effect/step_trigger/teleporter_vector{ + name = "Almayer_AresUp"; + vector_x = -96; + vector_y = 65 + }, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/stairs{ + dir = 1 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "mIy" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -48710,6 +48816,12 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"mIJ" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 6 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "mIP" = ( /obj/structure/pipes/vents/pump, /obj/effect/decal/warning_stripes{ @@ -48720,6 +48832,16 @@ icon_state = "dark_sterile" }, /area/almayer/engineering/upper_engineering/port) +"mIR" = ( +/obj/structure/sign/safety/distribution_pipes{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "mJa" = ( /obj/structure/closet/crate/trashcart, /obj/item/trash/boonie, @@ -48757,15 +48879,6 @@ /obj/structure/window/framed/almayer, /turf/open/floor/plating, /area/almayer/squads/alpha) -"mJp" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/hallways/upper/aft_hallway) "mJu" = ( /turf/open/floor/almayer/uscm/directional, /area/almayer/command/cic) @@ -48902,6 +49015,10 @@ icon_state = "plate" }, /area/almayer/living/port_emb) +"mKN" = ( +/obj/effect/landmark/start/pilot/cas_pilot, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/living/pilotbunks) "mLe" = ( /obj/structure/pipes/vents/pump{ dir = 8 @@ -48928,9 +49045,6 @@ icon_state = "plate" }, /area/almayer/living/pilotbunks) -"mLE" = ( -/turf/open/floor/plating, -/area/almayer/command/airoom) "mLF" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -49021,20 +49135,6 @@ icon_state = "red" }, /area/almayer/shipboard/brig/perma) -"mNS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/largecrate/supply/weapons/m39{ - pixel_x = 2 - }, -/obj/structure/largecrate/supply/weapons/m41a{ - layer = 3.1; - pixel_x = 6; - pixel_y = 17 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_s) "mNX" = ( /turf/open/floor/almayer_hull{ dir = 4; @@ -49064,12 +49164,6 @@ "mOi" = ( /turf/closed/wall/almayer/outer, /area/almayer/command/airoom) -"mOw" = ( -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "mOE" = ( /obj/structure/sign/safety/water{ pixel_x = -17 @@ -49078,15 +49172,12 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_a_s) -"mOR" = ( -/obj/structure/surface/rack, -/obj/item/roller, -/obj/item/roller, -/obj/effect/decal/cleanable/dirt, +"mOZ" = ( +/obj/structure/closet/firecloset, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "cargo" }, -/area/almayer/maint/upper/u_m_s) +/area/almayer/hallways/upper/midship_hallway) "mPc" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -49130,23 +49221,6 @@ /obj/structure/machinery/vending/snack, /turf/open/floor/almayer, /area/almayer/maint/hull/upper/u_f_s) -"mPK" = ( -/obj/structure/pipes/vents/scrubber{ - dir = 4 - }, -/obj/structure/sign/safety/storage{ - pixel_y = 7; - pixel_x = -17 - }, -/obj/structure/sign/safety/commline_connection{ - pixel_x = -17; - pixel_y = -7 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "green" - }, -/area/almayer/squads/req) "mPM" = ( /turf/open/floor/almayer{ icon_state = "test_floor4" @@ -49200,12 +49274,6 @@ "mQC" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/port_atmos) -"mQF" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/stern_hallway) "mQY" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1 @@ -49283,6 +49351,12 @@ icon_state = "test_floor4" }, /area/almayer/maint/hull/upper/u_a_s) +"mRJ" = ( +/turf/open/floor/almayer{ + dir = 9; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "mRQ" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22" @@ -49311,6 +49385,21 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south1) +"mSl" = ( +/obj/structure/surface/table/almayer, +/obj/item/clipboard, +/obj/item/paper, +/obj/item/clothing/glasses/mgoggles, +/obj/item/clothing/glasses/mgoggles, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_s) +"mSo" = ( +/obj/structure/surface/rack, +/obj/item/facepaint/sniper, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "mSr" = ( /obj/effect/landmark/crap_item, /turf/open/floor/almayer, @@ -49381,16 +49470,6 @@ icon_state = "red" }, /area/almayer/shipboard/navigation) -"mTo" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "mTp" = ( /obj/structure/window/reinforced{ dir = 4; @@ -49405,6 +49484,25 @@ icon_state = "cargo_arrow" }, /area/almayer/medical/hydroponics) +"mTr" = ( +/obj/structure/machinery/door_control{ + id = "ARES StairsLower"; + name = "ARES Core Lockdown"; + pixel_x = 24; + pixel_y = -8; + req_one_access_txt = "90;91;92" + }, +/obj/structure/machinery/camera/autoname/almayer/containment/ares{ + dir = 8; + pixel_y = 2; + c_tag = "AI - Main Corridor"; + autoname = 0 + }, +/turf/open/floor/almayer/aicore/no_build{ + dir = 4; + icon_state = "ai_silver" + }, +/area/almayer/command/airoom) "mTL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -49434,30 +49532,12 @@ icon_state = "test_floor4" }, /area/almayer/squads/bravo) -"mUz" = ( -/obj/structure/surface/table/reinforced/almayer_B, -/obj/structure/machinery/computer/cameras/almayer/ares{ - dir = 8; - pixel_x = 17 - }, -/turf/open/floor/almayer/aicore/glowing/no_build{ - icon_state = "ai_floor3" - }, -/area/almayer/command/airoom) "mUE" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_f_s) -"mUL" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "mUY" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/tool, @@ -49560,6 +49640,20 @@ icon_state = "cargo" }, /area/almayer/living/bridgebunks) +"mWJ" = ( +/obj/structure/stairs{ + dir = 8; + icon_state = "ramptop" + }, +/obj/effect/projector{ + name = "Almayer_Down3"; + vector_x = 1; + vector_y = -102 + }, +/turf/open/floor/plating/almayer{ + allow_construction = 0 + }, +/area/almayer/hallways/upper/fore_hallway) "mWQ" = ( /obj/structure/flora/pottedplant{ desc = "It is made of Fiberbush(tm). It contains asbestos."; @@ -49599,43 +49693,6 @@ /obj/item/tool/wrench, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/p_bow) -"mXy" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 1 - }, -/obj/structure/sign/safety/rewire{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orange" - }, -/area/almayer/hallways/lower/port_aft_hallway) -"mXP" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) -"mYd" = ( -/obj/structure/sign/safety/escapepod{ - pixel_y = 32 - }, -/obj/structure/sign/safety/east{ - pixel_x = 15; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "mYt" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -49651,6 +49708,12 @@ }, /turf/closed/wall/almayer, /area/almayer/squads/req) +"mYA" = ( +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "blue" + }, +/area/almayer/hallways/upper/fore_hallway) "mZb" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -49778,12 +49841,32 @@ icon_state = "plating" }, /area/almayer/engineering/lower/engine_core) -"naj" = ( -/obj/structure/machinery/light, +"nah" = ( +/obj/structure/machinery/status_display{ + pixel_x = 32 + }, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, +/obj/item/desk_bell{ + anchored = 1 + }, /turf/open/floor/almayer{ - icon_state = "silver" + dir = 6; + icon_state = "red" }, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/shipboard/brig/lobby) +"naj" = ( +/obj/structure/machinery/door_control{ + id = "ARES JoeCryo"; + name = "ARES WorkingJoe Bay Shutters"; + req_one_access_txt = "91;92"; + pixel_x = -24 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "nar" = ( /obj/structure/toilet{ dir = 4 @@ -49854,18 +49937,15 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/port_midship_hallway) -"nbW" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"nbH" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/area/almayer/hallways/upper/stern_hallway) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/fore_hallway) "ncf" = ( /obj/structure/machinery/cryopod/right{ layer = 3.1; @@ -49895,6 +49975,16 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) +"ncx" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1; + name = "\improper Emergency Air Storage" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/upper/u_a_s) "ncE" = ( /obj/structure/machinery/light{ dir = 8 @@ -49922,13 +50012,6 @@ icon_state = "red" }, /area/almayer/hallways/upper/port) -"ncV" = ( -/obj/structure/closet, -/obj/item/clothing/glasses/welding, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "ndl" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -49976,6 +50059,12 @@ icon_state = "plate" }, /area/almayer/hallways/lower/vehiclehangar) +"ner" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/south2) "new" = ( /obj/item/reagent_container/glass/bucket/janibucket, /obj/item/reagent_container/glass/bucket/janibucket{ @@ -50031,12 +50120,28 @@ "neT" = ( /obj/structure/transmitter/rotary{ name = "CL Office Telephone"; - phone_category = "Almayer"; + phone_category = "Offices"; phone_id = "CL Office" }, /obj/structure/surface/table/woodentable/fancy, /turf/open/floor/carpet, /area/almayer/command/corporateliaison) +"neZ" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "nff" = ( /obj/structure/surface/table/almayer, /obj/item/trash/USCMtray{ @@ -50047,6 +50152,13 @@ icon_state = "orangefull" }, /area/almayer/living/briefing) +"nfC" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/north1) "ngf" = ( /obj/structure/machinery/cm_vending/sorted/medical/wall_med{ pixel_y = 25 @@ -50126,14 +50238,6 @@ icon_state = "plate" }, /area/almayer/squads/bravo) -"ngE" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/starboard) "ngI" = ( /turf/open/floor/almayer{ dir = 8; @@ -50257,13 +50361,13 @@ /obj/structure/surface/table/almayer, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cells) -"nhT" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orangecorner" +"nhN" = ( +/obj/structure/sign/safety/autoopenclose{ + pixel_x = 7; + pixel_y = 32 }, -/area/almayer/hallways/upper/stern_hallway) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_m_p) "nhV" = ( /obj/structure/machinery/light/small, /turf/open/floor/almayer{ @@ -50278,6 +50382,14 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"nii" = ( +/obj/structure/machinery/status_display{ + pixel_y = -30 + }, +/turf/open/floor/almayer{ + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) "nik" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -50424,6 +50536,12 @@ icon_state = "test_floor4" }, /area/almayer/engineering/lower/engine_core) +"nkc" = ( +/obj/structure/largecrate/random/barrel/red, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "nkj" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -50471,17 +50589,31 @@ icon_state = "red" }, /area/almayer/hallways/upper/starboard) +"nkK" = ( +/obj/structure/stairs{ + dir = 1; + icon_state = "ramptop" + }, +/obj/effect/projector{ + name = "Almayer_AresDown2"; + vector_x = 102; + vector_y = -61 + }, +/turf/open/floor/almayer/aicore/glowing/no_build{ + icon_state = "ai_floor3"; + light_range = 3 + }, +/area/almayer/command/airoom) "nkX" = ( /obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/cameras/almayer_network{ - dir = 4; - layer = 2.8; - pixel_y = 5 - }, /obj/structure/sign/safety/terminal{ pixel_x = 8; pixel_y = 32 }, +/obj/structure/machinery/computer/cameras/almayer/ares{ + dir = 4; + pixel_y = 5 + }, /turf/open/floor/almayer{ dir = 9; icon_state = "red" @@ -50506,6 +50638,14 @@ icon_state = "cargo_arrow" }, /area/almayer/living/briefing) +"nlI" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_s) "nlW" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/largecrate/random/barrel/green, @@ -50614,18 +50754,6 @@ icon_state = "plate" }, /area/almayer/stair_clone/upper) -"nnH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/machinery/light/small{ - dir = 1 - }, -/obj/structure/largecrate/random/secure{ - pixel_x = -5 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_s) "nnL" = ( /obj/structure/toilet{ dir = 8 @@ -50638,6 +50766,12 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south1) +"noe" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hallways/upper/aft_hallway) "noj" = ( /obj/structure/largecrate, /obj/structure/prop/server_equipment/laptop{ @@ -50648,6 +50782,19 @@ icon_state = "test_floor4" }, /area/almayer/squads/req) +"noo" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/airlock/almayer/security/reinforced{ + access_modified = 1; + closeOtherId = "astroladder_s"; + name = "\improper Astronavigational Deck"; + req_access = null; + req_one_access_txt = "3;19" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/navigation) "nop" = ( /obj/structure/machinery/portable_atmospherics/powered/scrubber, /turf/open/floor/almayer{ @@ -50694,6 +50841,13 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/starboard_aft_hallway) +"noO" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + pixel_x = -1 + }, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/south1) "noP" = ( /obj/structure/machinery/light{ dir = 1 @@ -50711,6 +50865,14 @@ }, /turf/open/floor/plating, /area/almayer/engineering/starboard_atmos) +"npq" = ( +/obj/structure/disposalpipe/up/almayer{ + dir = 8; + id = "ares_vault_out"; + name = "aicore" + }, +/turf/closed/wall/almayer/aicore/hull, +/area/almayer/command/airoom) "npt" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -50766,17 +50928,6 @@ /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/req) -"nqG" = ( -/obj/structure/machinery/light, -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/lifeboat_pumps/south1) "nqO" = ( /obj/structure/closet/secure_closet/fridge/fish/stock, /turf/open/floor/almayer{ @@ -50867,6 +51018,19 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/repair_bay) +"nsr" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) +"nsH" = ( +/turf/open/floor/almayer{ + dir = 10; + icon_state = "orange" + }, +/area/almayer/hallways/upper/midship_hallway) "nsQ" = ( /obj/structure/sink{ dir = 4; @@ -50931,15 +51095,6 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north2) -"nub" = ( -/obj/structure/bed/chair{ - dir = 8 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "green" - }, -/area/almayer/living/starboard_garden) "nux" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/machinery/door/poddoor/almayer/open{ @@ -50992,12 +51147,6 @@ icon_state = "red" }, /area/almayer/shipboard/brig/starboard_hallway) -"nvd" = ( -/turf/open/floor/almayer{ - dir = 6; - icon_state = "silver" - }, -/area/almayer/maint/hull/upper/u_m_p) "nve" = ( /obj/structure/janitorialcart, /obj/item/tool/mop, @@ -51005,6 +51154,12 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_m_p) +"nvz" = ( +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/south2) "nvG" = ( /obj/structure/machinery/light{ dir = 8 @@ -51079,40 +51234,12 @@ dir = 4 }, /area/almayer/medical/containment/cell) -"nwu" = ( -/obj/structure/sign/safety/escapepod{ - pixel_y = -32 - }, -/obj/structure/sign/safety/east{ - pixel_x = 15; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) -"nww" = ( -/turf/open/floor/almayer{ - dir = 6; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "nwx" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ icon_state = "red" }, /area/almayer/shipboard/port_missiles) -"nwA" = ( -/obj/structure/largecrate/supply/generator, -/obj/structure/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/maint/hull/upper/u_a_p) "nwD" = ( /turf/open/floor/almayer{ dir = 1; @@ -51136,10 +51263,6 @@ icon_state = "plate" }, /area/almayer/living/pilotbunks) -"nwT" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_s) "nwU" = ( /obj/structure/machinery/light{ dir = 4 @@ -51221,6 +51344,11 @@ icon_state = "test_floor4" }, /area/almayer/living/briefing) +"nyK" = ( +/turf/open/floor/almayer{ + icon_state = "greencorner" + }, +/area/almayer/hallways/upper/fore_hallway) "nyQ" = ( /turf/open/floor/almayer, /area/almayer/squads/charlie_delta_shared) @@ -51263,6 +51391,18 @@ }, /turf/open/floor/almayer, /area/almayer/squads/req) +"nzT" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ + closeOtherId = "brignorth"; + name = "\improper Brig Lobby" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/starboard_hallway) "nAd" = ( /obj/structure/machinery/power/apc/almayer{ dir = 4 @@ -51273,6 +51413,13 @@ /obj/effect/landmark/yautja_teleport, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_f_s) +"nAv" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/north1) "nAY" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -51311,15 +51458,6 @@ }, /turf/open/floor/wood/ship, /area/almayer/command/corporateliaison) -"nBo" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = 25 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "bluecorner" - }, -/area/almayer/hallways/upper/aft_hallway) "nBw" = ( /turf/open/floor/almayer{ dir = 1; @@ -51408,6 +51546,10 @@ pixel_x = -1; pixel_y = 2 }, +/obj/item/clothing/mask/cigarette/pipe{ + layer = 2.8; + pixel_x = 14 + }, /turf/open/floor/wood/ship, /area/almayer/living/commandbunks) "nCD" = ( @@ -51475,6 +51617,26 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/medical/medical_science) +"nDy" = ( +/obj/structure/bed/chair/comfy/ares{ + dir = 1 + }, +/obj/structure/pipes/vents/pump/no_boom/gas{ + vent_tag = "Core Chamber" + }, +/turf/open/floor/almayer/no_build{ + icon_state = "plating" + }, +/area/almayer/command/airoom) +"nDH" = ( +/obj/structure/machinery/light/small{ + dir = 1; + pixel_y = 20 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "nDM" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -51650,12 +51812,6 @@ icon_state = "cargo" }, /area/almayer/lifeboat_pumps/north2) -"nGZ" = ( -/obj/structure/largecrate/supply/supplies/water, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/maint/hull/upper/u_a_p) "nHu" = ( /obj/structure/largecrate/random/barrel/yellow, /obj/structure/machinery/light{ @@ -51748,13 +51904,6 @@ icon_state = "plating" }, /area/almayer/shipboard/port_missiles) -"nIF" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/hallways/upper/aft_hallway) "nIG" = ( /obj/structure/machinery/power/apc/almayer{ dir = 4 @@ -51809,6 +51958,19 @@ icon_state = "red" }, /area/almayer/command/lifeboat) +"nKO" = ( +/obj/structure/machinery/disposal/delivery{ + density = 0; + desc = "A pneumatic delivery unit."; + icon_state = "delivery_engi"; + name = "Returns"; + pixel_y = 28 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "nKP" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -51863,15 +52025,6 @@ icon_state = "plating" }, /area/almayer/engineering/upper_engineering) -"nLM" = ( -/obj/structure/machinery/status_display{ - pixel_y = 30 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "nMe" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -51942,12 +52095,6 @@ icon_state = "emeraldcorner" }, /area/almayer/living/briefing) -"nNI" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_m_s) "nNT" = ( /obj/item/tool/weldingtool, /turf/open/floor/plating/plating_catwalk, @@ -51998,6 +52145,15 @@ icon_state = "plate" }, /area/almayer/command/corporateliaison) +"nOp" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/midship_hallway) "nOx" = ( /obj/item/stack/sheet/metal, /turf/open/floor/plating/plating_catwalk, @@ -52140,14 +52296,6 @@ icon_state = "plating_striped" }, /area/almayer/squads/req) -"nQw" = ( -/obj/structure/closet, -/obj/item/clothing/glasses/mgoggles/prescription, -/obj/item/clothing/glasses/mbcg, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "nQA" = ( /turf/open/floor/carpet, /area/almayer/command/corporateliaison) @@ -52222,6 +52370,13 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/shipboard/brig/execution) +"nSw" = ( +/obj/structure/pipes/vents/pump, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) "nSG" = ( /obj/structure/machinery/door_control{ id = "tcomms"; @@ -52240,10 +52395,6 @@ }, /turf/open/floor/almayer, /area/almayer/command/computerlab) -"nTc" = ( -/obj/docking_port/stationary/escape_pod/south, -/turf/open/floor/plating, -/area/almayer/maint/upper/u_m_p) "nTl" = ( /turf/open/floor/almayer{ dir = 1; @@ -52423,20 +52574,6 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) -"nVA" = ( -/obj/structure/stairs{ - dir = 8; - icon_state = "ramptop" - }, -/obj/effect/projector{ - name = "Almayer_Down3"; - vector_x = 1; - vector_y = -102 - }, -/turf/open/floor/plating/almayer{ - allow_construction = 0 - }, -/area/almayer/hallways/upper/aft_hallway) "nVB" = ( /turf/open/floor/almayer, /area/almayer/command/securestorage) @@ -52478,6 +52615,16 @@ icon_state = "test_floor4" }, /area/almayer/engineering/upper_engineering/starboard) +"nWf" = ( +/obj/structure/sign/safety/maint{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) "nWN" = ( /obj/structure/surface/table/almayer, /turf/open/floor/wood/ship, @@ -52497,6 +52644,15 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_a_s) +"nXG" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/south2) "nXO" = ( /obj/structure/surface/table/woodentable/fancy, /obj/item/storage/fancy/cigar{ @@ -52534,6 +52690,15 @@ icon_state = "test_floor4" }, /area/almayer/squads/req) +"nXV" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 25 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) "nYc" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -52553,12 +52718,6 @@ }, /turf/open/floor/wood/ship, /area/almayer/shipboard/brig/cells) -"nYf" = ( -/obj/structure/machinery/cm_vending/clothing/intelligence_officer, -/turf/open/floor/almayer{ - icon_state = "silverfull" - }, -/area/almayer/command/securestorage) "nYi" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ @@ -52602,6 +52761,29 @@ icon_state = "plate" }, /area/almayer/hallways/lower/starboard_aft_hallway) +"nZf" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/midship_hallway) +"nZm" = ( +/obj/structure/machinery/door_control{ + id = "OTStore"; + name = "Shutters"; + pixel_y = 24; + access_modified = 1; + req_one_access_txt = "35" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer, +/area/almayer/engineering/lower/workshop/hangar) "nZy" = ( /obj/structure/surface/table/almayer, /obj/structure/disposalpipe/segment{ @@ -52616,6 +52798,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/u_a_p) +"nZK" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "nZR" = ( /obj/structure/machinery/power/apc/almayer{ dir = 8 @@ -52662,6 +52850,18 @@ icon_state = "plating_striped" }, /area/almayer/maint/hull/lower/l_a_p) +"oaP" = ( +/obj/structure/machinery/light/small{ + dir = 8 + }, +/obj/structure/closet, +/obj/item/clothing/under/marine, +/obj/item/clothing/suit/storage/marine, +/obj/item/clothing/head/helmet/marine, +/obj/item/clothing/head/cmcap, +/obj/item/clothing/head/cmcap, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_s) "oaW" = ( /obj/structure/machinery/cryopod/right, /turf/open/floor/almayer{ @@ -52700,14 +52900,6 @@ icon_state = "plate" }, /area/almayer/squads/alpha_bravo_shared) -"obJ" = ( -/obj/structure/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "obQ" = ( /obj/structure/bed/chair{ dir = 8 @@ -52762,22 +52954,14 @@ }, /turf/open/floor/almayer/aicore/glowing/no_build, /area/almayer/command/airoom) -"ocI" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) -"ocX" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" +"ocL" = ( +/obj/structure/machinery/cryopod/right{ + dir = 4 }, -/obj/effect/step_trigger/clone_cleaner, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "green" +/turf/open/floor/almayer/aicore/no_build{ + icon_state = "ai_cargo" }, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/command/airoom) "odb" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -52962,18 +53146,19 @@ icon_state = "red" }, /area/almayer/hallways/upper/port) -"ogd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +"ofY" = ( +/obj/structure/surface/table/reinforced/almayer_B{ + indestructible = 1; + unacidable = 1; + unslashable = 1 }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" +/obj/structure/machinery/computer/working_joe{ + layer = 3.3; + dir = 4; + pixel_y = 6 }, -/area/almayer/hallways/upper/stern_hallway) +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "ogK" = ( /obj/structure/bed/bedroll{ desc = "A bed of cotton fabric, purposely made for a cat to comfortably sleep on."; @@ -52988,6 +53173,19 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/commandbunks) +"ogT" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) +"ohi" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/south2) "ohj" = ( /obj/structure/machinery/cryopod, /turf/open/floor/almayer{ @@ -53083,13 +53281,6 @@ /obj/effect/landmark/yautja_teleport, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_m_s) -"oig" = ( -/obj/structure/machinery/light, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "oih" = ( /obj/structure/bed{ icon_state = "abed" @@ -53154,12 +53345,22 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/warden_office) -"oiB" = ( +"oiz" = ( +/obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 2; + id = "Warden Office Shutters"; + name = "\improper Privacy Shutters" + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + closeOtherId = "brigwarden"; + dir = 1; + name = "\improper Warden's Office" + }, /turf/open/floor/almayer{ - dir = 10; - icon_state = "green" + icon_state = "test_floor4" }, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/shipboard/brig/warden_office) "oiL" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -53233,6 +53434,9 @@ }, /turf/open/floor/wood/ship, /area/almayer/command/corporateliaison) +"ojX" = ( +/turf/open/floor/plating, +/area/almayer/maint/upper/u_f_p) "ojZ" = ( /obj/structure/window/framed/almayer/white, /obj/structure/machinery/door/firedoor/border_only/almayer, @@ -53264,19 +53468,6 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) -"oko" = ( -/obj/structure/largecrate/supply/supplies/tables_racks, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/maint/hull/upper/u_a_p) -"okx" = ( -/turf/open/floor/almayer{ - dir = 9; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "okD" = ( /obj/structure/prop/almayer/name_stencil{ icon_state = "almayer6" @@ -53296,15 +53487,12 @@ /obj/structure/largecrate/random/case/double, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/s_bow) -"olC" = ( -/obj/structure/largecrate/random/barrel/red, -/obj/structure/machinery/light/small{ - dir = 8 - }, +"olF" = ( +/obj/structure/closet/emcloset, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "cargo" }, -/area/almayer/maint/upper/u_m_s) +/area/almayer/hallways/upper/midship_hallway) "olM" = ( /obj/structure/bed/chair{ can_buckle = 0; @@ -53379,18 +53567,6 @@ /obj/structure/window/framed/almayer/white, /turf/open/floor/plating, /area/almayer/medical/lockerroom) -"omp" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/aft_hallway) "omt" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -53428,18 +53604,6 @@ icon_state = "orange" }, /area/almayer/hallways/hangar) -"onh" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "onn" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -53479,6 +53643,20 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/upper_medical) +"onU" = ( +/obj/effect/step_trigger/teleporter_vector{ + name = "Almayer_AresDown"; + vector_x = 96; + vector_y = -65 + }, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/stairs{ + dir = 1 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "onY" = ( /obj/structure/surface/table/almayer, /obj/item/paper_bin/uscm, @@ -53534,6 +53712,12 @@ icon_state = "test_floor5" }, /area/almayer/hallways/lower/port_midship_hallway) +"opu" = ( +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/north2) "opC" = ( /obj/structure/machinery/door/airlock/almayer/command/reinforced{ name = "\improper Combat Information Center" @@ -53565,24 +53749,6 @@ /obj/docking_port/stationary/emergency_response/external/port4, /turf/open/space/basic, /area/space) -"opN" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/sign/safety/bridge{ - pixel_y = 32 - }, -/obj/structure/sign/safety/reception{ - pixel_x = 15; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/aft_hallway) "opV" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -53708,14 +53874,19 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) -"orq" = ( -/obj/item/storage/toolbox/mechanical{ - pixel_y = 13 +"orx" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/obj/structure/machinery/door/airlock/almayer/maint, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "test_floor4" }, -/area/almayer/maint/hull/upper/u_m_s) +/area/almayer/maint/upper/u_a_s) "orH" = ( /turf/open/floor/almayer/uscm/directional{ dir = 10 @@ -53738,23 +53909,15 @@ }, /turf/open/floor/almayer, /area/almayer/squads/alpha_bravo_shared) -"osn" = ( -/obj/item/trash/USCMtray{ - pixel_x = -4; - pixel_y = 10 - }, -/obj/structure/surface/table/almayer, -/obj/item/tool/kitchen/utensil/pfork{ - pixel_x = 9; - pixel_y = 8 - }, -/obj/structure/machinery/light/small{ - dir = 8 +"osr" = ( +/obj/structure/largecrate/random/case/double, +/obj/structure/machinery/light{ + dir = 4 }, /turf/open/floor/almayer{ icon_state = "plate" }, -/area/almayer/maint/upper/u_m_s) +/area/almayer/maint/upper/u_f_p) "osx" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -53767,14 +53930,6 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"osy" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/structure/platform_decoration, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_silver"; - dir = 4 - }, -/area/almayer/command/airoom) "osz" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -53875,18 +54030,6 @@ /obj/structure/machinery/light, /turf/open/floor/almayer, /area/almayer/hallways/lower/starboard_midship_hallway) -"otE" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "otW" = ( /obj/structure/machinery/light/small, /obj/structure/prop/invuln/overhead_pipe{ @@ -54061,15 +54204,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/starboard_aft_hallway) -"oxg" = ( -/obj/structure/machinery/camera/autoname/almayer{ - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "oxi" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -54118,6 +54252,15 @@ /obj/structure/machinery/photocopier, /turf/open/floor/almayer, /area/almayer/command/lifeboat) +"oyB" = ( +/obj/structure/sign/safety/distribution_pipes{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "oyC" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -54255,17 +54398,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_a_p) -"oAY" = ( -/obj/effect/projector{ - name = "Almayer_Down3"; - vector_x = 1; - vector_y = -102 - }, -/turf/open/floor/almayer{ - allow_construction = 0; - icon_state = "plate" - }, -/area/almayer/hallways/upper/aft_hallway) "oBq" = ( /obj/structure/bed, /obj/structure/machinery/flasher{ @@ -54294,6 +54426,16 @@ icon_state = "silver" }, /area/almayer/command/cichallway) +"oBD" = ( +/obj/structure/pipes/vents/pump/no_boom/gas{ + vent_tag = "Access Hall"; + dir = 8 + }, +/turf/open/floor/almayer/aicore/no_build{ + dir = 4; + icon_state = "ai_silver" + }, +/area/almayer/command/airoom) "oCa" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -54349,6 +54491,12 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_m_s) +"oDa" = ( +/obj/effect/landmark/yautja_teleport, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "oDh" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/p_bow) @@ -54366,6 +54514,13 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) +"oDm" = ( +/obj/structure/sign/safety/life_support{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "oDv" = ( /turf/open/floor/almayer{ dir = 9; @@ -54472,6 +54627,18 @@ icon_state = "test_floor4" }, /area/almayer/lifeboat_pumps/north1) +"oEn" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "oEo" = ( /obj/effect/landmark/start/marine/medic/delta, /obj/effect/landmark/late_join/delta, @@ -54501,6 +54668,17 @@ }, /turf/open/floor/almayer, /area/almayer/engineering/lower/workshop/hangar) +"oEA" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/weapon/gun/shotgun/pump{ + starting_attachment_types = list(/obj/item/attachable/stock/shotgun); + pixel_y = 9 + }, +/obj/item/stack/sheet/cardboard/small_stack{ + layer = 3.01 + }, +/turf/open/floor/almayer, +/area/almayer/squads/charlie_delta_shared) "oEE" = ( /obj/structure/machinery/light{ unacidable = 1; @@ -54549,6 +54727,10 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_a_s) +"oFz" = ( +/obj/effect/step_trigger/clone_cleaner, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/fore_hallway) "oFV" = ( /obj/structure/sign/poster{ pixel_x = -32; @@ -54623,6 +54805,14 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/repair_bay) +"oGI" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "blue" + }, +/area/almayer/hallways/upper/fore_hallway) "oGJ" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, @@ -54647,6 +54837,14 @@ icon_state = "orange" }, /area/almayer/living/port_emb) +"oGW" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/hallways/upper/fore_hallway) "oGY" = ( /obj/item/device/flashlight/lamp/green{ pixel_x = 5; @@ -54754,29 +54952,19 @@ icon_state = "red" }, /area/almayer/shipboard/brig/processing) -"oIr" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_x = -1; - pixel_y = 1 - }, -/obj/structure/machinery/door/airlock/almayer/research/reinforced{ - dir = 8; - name = "\improper Containment Airlock"; - closeOtherId = "containment_n" - }, -/obj/structure/machinery/door/poddoor/almayer/biohazard/white{ +"oIn" = ( +/obj/effect/landmark/start/liaison, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_m_p) +"oIp" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/area/almayer/medical/medical_science) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/fore_hallway) "oIt" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -54786,6 +54974,12 @@ "oIB" = ( /turf/closed/wall/almayer, /area/almayer/command/combat_correspondent) +"oIY" = ( +/obj/structure/largecrate/random/barrel, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_p) "oJj" = ( /obj/structure/machinery/light{ dir = 8 @@ -54815,6 +55009,14 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) +"oJK" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "redfull" + }, +/area/almayer/lifeboat_pumps/south2) "oJL" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -54831,27 +55033,6 @@ icon_state = "plate" }, /area/almayer/hallways/lower/port_fore_hallway) -"oJR" = ( -/obj/effect/projector{ - name = "Almayer_AresDown"; - vector_x = 97; - vector_y = -65 - }, -/obj/structure/platform{ - dir = 8 - }, -/obj/structure/stairs{ - dir = 1; - icon_state = "ramptop" - }, -/obj/structure/machinery/door_control{ - id = "ARES StairsUpper"; - name = "ARES Core Access"; - pixel_x = -24; - req_one_access_txt = "90;91;92" - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "oKb" = ( /obj/structure/machinery/status_display{ pixel_y = 30 @@ -54901,24 +55082,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/starboard_fore_hallway) -"oLm" = ( -/obj/structure/machinery/door_control{ - id = "ARES StairsLower"; - name = "ARES Core Lockdown"; - pixel_x = -24; - pixel_y = 8; - req_one_access_txt = "90;91;92" - }, -/obj/structure/machinery/camera/autoname/almayer/containment/ares{ - dir = 4; - pixel_y = -8 - }, -/obj/effect/step_trigger/clone_cleaner, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_silver"; - dir = 8 - }, -/area/almayer/command/airoom) "oLF" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/machinery/door/poddoor/almayer/open{ @@ -54996,10 +55159,6 @@ /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north1) -"oNa" = ( -/obj/structure/machinery/light, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) "oNb" = ( /obj/structure/surface/table/almayer, /obj/structure/flora/pottedplant{ @@ -55036,6 +55195,12 @@ icon_state = "plating" }, /area/almayer/medical/upper_medical) +"oNK" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/hull/upper/u_a_s) "oNM" = ( /obj/structure/largecrate/random/barrel, /turf/open/floor/almayer{ @@ -55052,6 +55217,23 @@ icon_state = "plate" }, /area/almayer/living/briefing) +"oNW" = ( +/obj/structure/pipes/vents/scrubber{ + dir = 4 + }, +/obj/structure/sign/safety/storage{ + pixel_x = -17; + pixel_y = 7 + }, +/obj/structure/sign/safety/commline_connection{ + pixel_x = -17; + pixel_y = -7 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "green" + }, +/area/almayer/squads/req) "oNY" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_18"; @@ -55062,15 +55244,6 @@ }, /turf/open/floor/wood/ship, /area/almayer/command/corporateliaison) -"oOi" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/stern_hallway) "oOp" = ( /obj/structure/surface/table/almayer, /obj/item/tool/wirecutters, @@ -55108,6 +55281,15 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) +"oOZ" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/aft_hallway) "oPf" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 8 @@ -55160,12 +55342,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_a_s) -"oPT" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) "oQn" = ( /turf/open/floor/almayer{ dir = 1; @@ -55196,6 +55372,11 @@ icon_state = "cargo_arrow" }, /area/almayer/living/briefing) +"oQI" = ( +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/hallways/upper/port) "oQJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer, @@ -55242,6 +55423,17 @@ icon_state = "test_floor4" }, /area/almayer/maint/hull/upper/u_f_s) +"oRy" = ( +/obj/structure/sign/safety/autodoc{ + pixel_x = 20; + pixel_y = -32 + }, +/obj/structure/machinery/cm_vending/sorted/medical/bolted, +/obj/structure/medical_supply_link/green, +/turf/open/floor/almayer{ + icon_state = "sterile_green_side" + }, +/area/almayer/medical/lower_medical_medbay) "oRJ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -55365,12 +55557,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_a_p) -"oTc" = ( -/obj/structure/pipes/vents/pump, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "oTe" = ( /obj/item/prop/almayer/box, /obj/item/prop{ @@ -55469,12 +55655,6 @@ icon_state = "silver" }, /area/almayer/command/cichallway) -"oUO" = ( -/obj/structure/machinery/camera/autoname/almayer{ - name = "ship-grade camera" - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/stern_hallway) "oUZ" = ( /obj/structure/surface/rack, /obj/item/tool/crowbar, @@ -55517,6 +55697,11 @@ allow_construction = 0 }, /area/almayer/hallways/lower/port_fore_hallway) +"oVo" = ( +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "oVY" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -55619,18 +55804,6 @@ /obj/effect/decal/cleanable/ash, /turf/open/floor/wood/ship, /area/almayer/shipboard/brig/cells) -"oXt" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/starboard) "oXJ" = ( /obj/structure/machinery/suit_storage_unit/compression_suit/uscm, /turf/open/floor/almayer{ @@ -55645,6 +55818,17 @@ icon_state = "orange" }, /area/almayer/engineering/lower) +"oXP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/midship_hallway) "oXY" = ( /obj/structure/machinery/camera/autoname/almayer{ dir = 8; @@ -55713,12 +55897,6 @@ icon_state = "silver" }, /area/almayer/hallways/lower/repair_bay) -"oZn" = ( -/obj/structure/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_m_p) "oZp" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/light, @@ -55735,6 +55913,17 @@ icon_state = "red" }, /area/almayer/living/offices/flight) +"oZx" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/machinery/door/poddoor/shutters/almayer{ + id = "ARES ReceptStairs2"; + name = "\improper ARES Reception Shutters"; + plane = -7 + }, +/turf/open/floor/almayer/no_build{ + icon_state = "test_floor4" + }, +/area/almayer/command/airoom) "oZy" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -55770,6 +55959,15 @@ icon_state = "plate" }, /area/almayer/living/briefing) +"oZI" = ( +/obj/structure/sign/safety/maint{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/north2) "oZV" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/roller, @@ -55810,6 +56008,17 @@ icon_state = "cargo" }, /area/almayer/shipboard/brig/cryo) +"pax" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/pipes/vents/pump/no_boom/gas{ + vent_tag = "Reception"; + dir = 8 + }, +/turf/open/floor/almayer/aicore/glowing/no_build{ + icon_state = "ai_floor3"; + light_range = 3 + }, +/area/almayer/command/airoom) "paI" = ( /obj/structure/sign/safety/debark_lounge{ pixel_x = 15; @@ -55927,6 +56136,11 @@ icon_state = "cargo" }, /area/almayer/hallways/hangar) +"pcs" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/fore_hallway) "pcv" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 @@ -55973,23 +56187,20 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/upper/mess) +"pdo" = ( +/obj/structure/sign/safety/maint{ + pixel_x = 32 + }, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/north2) "pdp" = ( /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/maint/hull/upper/p_bow) -"pdy" = ( -/obj/structure/machinery/door_control{ - id = "OTStore"; - name = "Shutters"; - pixel_y = 24 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer, -/area/almayer/engineering/lower/workshop/hangar) "pdK" = ( /obj/structure/stairs/perspective{ dir = 8; @@ -56016,19 +56227,9 @@ "pek" = ( /turf/closed/wall/almayer, /area/almayer/maint/hull/upper/s_bow) -"peu" = ( -/obj/structure/disposalpipe/segment{ - dir = 1; - icon_state = "pipe-c" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) +"pep" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_f_p) "peM" = ( /obj/structure/closet/firecloset, /turf/open/floor/almayer{ @@ -56124,6 +56325,15 @@ icon_state = "test_floor4" }, /area/almayer/command/airoom) +"pga" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/firstaid/o2, +/obj/effect/spawner/random/tool, +/obj/effect/spawner/random/technology_scanner, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_p) "pgw" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -56136,21 +56346,6 @@ "pgD" = ( /turf/closed/wall/almayer, /area/almayer/lifeboat_pumps/south1) -"pgH" = ( -/obj/effect/projector{ - name = "Almayer_AresDown"; - vector_x = 97; - vector_y = -65 - }, -/obj/structure/platform{ - dir = 4 - }, -/obj/structure/stairs{ - dir = 1; - icon_state = "ramptop" - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "pgJ" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -56208,10 +56403,10 @@ }, /area/almayer/living/briefing) "phj" = ( -/obj/structure/machinery/photocopier, /obj/structure/machinery/light/small{ dir = 1 }, +/obj/structure/machinery/photocopier/wyphotocopier, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -56257,6 +56452,15 @@ }, /turf/open/floor/plating, /area/almayer/shipboard/brig/perma) +"piQ" = ( +/obj/structure/machinery/status_display{ + pixel_y = 30 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "pje" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -56311,12 +56515,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/starboard_aft_hallway) -"pjQ" = ( -/turf/open/floor/almayer{ - dir = 10; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "pjR" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -56327,15 +56525,6 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/commandbunks) -"pjY" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/hallways/upper/aft_hallway) "pkz" = ( /turf/open/floor/almayer{ icon_state = "redfull" @@ -56351,9 +56540,35 @@ icon_state = "orange" }, /area/almayer/engineering/lower) +"pkS" = ( +/obj/structure/stairs{ + dir = 1; + icon_state = "ramptop" + }, +/obj/effect/projector{ + name = "Almayer_AresUp2"; + vector_x = -102; + vector_y = 61 + }, +/turf/open/floor/almayer/aicore/glowing/no_build{ + icon_state = "ai_floor3" + }, +/area/almayer/command/airoom) +"pld" = ( +/obj/item/book/manual/medical_diagnostics_manual, +/obj/structure/surface/rack, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "red" + }, +/area/almayer/maint/upper/u_a_p) "plv" = ( /turf/open/floor/plating, /area/almayer/maint/hull/lower/l_m_p) +"plK" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/fore_hallway) "pmd" = ( /obj/structure/machinery/light, /obj/structure/disposalpipe/segment{ @@ -56394,14 +56609,14 @@ }, /area/almayer/living/briefing) "pmV" = ( -/obj/structure/prop/server_equipment/yutani_server/broken{ - density = 0; - desc = "A powerful server tower housing various AI functions."; - name = "server tower"; - pixel_y = 16 - }, /obj/structure/pipes/standard/simple/hidden/supply/no_boom, -/turf/open/floor/almayer/aicore/no_build, +/obj/structure/machinery/computer/tech_control{ + pixel_y = 16; + density = 0 + }, +/turf/open/floor/almayer/no_build{ + icon_state = "ai_floors" + }, /area/almayer/command/airoom) "pnh" = ( /obj/structure/ladder{ @@ -56471,6 +56686,15 @@ icon_state = "orange" }, /area/almayer/engineering/lower/workshop/hangar) +"poD" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "ppe" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -56538,13 +56762,6 @@ /obj/structure/window/framed/almayer/hull, /turf/open/floor/plating, /area/almayer/engineering/upper_engineering/port) -"pqv" = ( -/obj/structure/pipes/vents/pump, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orangecorner" - }, -/area/almayer/hallways/upper/stern_hallway) "pqw" = ( /obj/structure/sign/safety/maint{ pixel_x = 32 @@ -56599,6 +56816,10 @@ }, /turf/open/floor/almayer, /area/almayer/living/gym) +"pqY" = ( +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/aft_hallway) "prf" = ( /obj/structure/sign/safety/storage{ pixel_x = -17 @@ -56650,12 +56871,6 @@ }, /turf/open/floor/almayer, /area/almayer/engineering/lower/workshop/hangar) -"prV" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hallways/upper/stern_hallway) "prX" = ( /obj/structure/ladder{ height = 2; @@ -56678,6 +56893,15 @@ icon_state = "bluefull" }, /area/almayer/living/bridgebunks) +"psk" = ( +/obj/structure/machinery/camera/autoname/almayer{ + name = "ship-grade camera" + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "psK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -56786,6 +57010,15 @@ icon_state = "plating" }, /area/almayer/engineering/lower/engine_core) +"pub" = ( +/obj/structure/sign/safety/distribution_pipes{ + pixel_x = 32 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "pum" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -56815,28 +57048,24 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/hangar) -"puJ" = ( -/obj/structure/prop/invuln/pipe_water, -/obj/structure/prop/invuln/overhead_pipe{ - dir = 4; - pixel_x = -12; - pixel_y = 13 - }, -/obj/structure/prop/invuln/overhead_pipe{ - dir = 4; - pixel_x = -12; - pixel_y = 13 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/upper/u_m_s) "puO" = ( /obj/structure/sign/safety/maint{ pixel_x = 32 }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/north2) +"puP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/almayer/hallways/upper/midship_hallway) "puT" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -56858,15 +57087,6 @@ icon_state = "red" }, /area/almayer/hallways/upper/aft_hallway) -"pvE" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orangecorner" - }, -/area/almayer/hallways/upper/stern_hallway) "pvI" = ( /obj/structure/sign/safety/rad_haz{ pixel_x = 8; @@ -56916,14 +57136,19 @@ icon_state = "redcorner" }, /area/almayer/shipboard/starboard_missiles) -"pwd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"pwl" = ( +/obj/structure/sign/safety/bridge{ + pixel_x = 15; + pixel_y = -32 + }, +/obj/structure/sign/safety/west{ + pixel_y = -32 }, /turf/open/floor/almayer{ - icon_state = "mono" + dir = 6; + icon_state = "blue" }, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/hallways/upper/fore_hallway) "pwx" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = -17 @@ -57022,12 +57247,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/bravo) -"pym" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/hallways/upper/stern_hallway) "pyx" = ( /obj/structure/machinery/door_display/research_cell{ dir = 4; @@ -57113,6 +57332,16 @@ icon_state = "redfull" }, /area/almayer/hallways/lower/starboard_midship_hallway) +"pzw" = ( +/obj/structure/sign/safety/maint{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "pzG" = ( /obj/docking_port/stationary/emergency_response/port1, /turf/open/floor/almayer{ @@ -57151,14 +57380,6 @@ /obj/item/tool/mop, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/u_a_p) -"pBg" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/stern_hallway) "pBG" = ( /turf/closed/wall/almayer, /area/almayer/command/corporateliaison) @@ -57179,17 +57400,6 @@ icon_state = "plate" }, /area/almayer/squads/req) -"pCQ" = ( -/obj/structure/surface/table/almayer, -/obj/item/attachable/lasersight, -/obj/item/reagent_container/food/drinks/cans/souto/vanilla{ - pixel_x = 10; - pixel_y = 11 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_s) "pDh" = ( /obj/structure/machinery/power/monitor{ name = "Core Power Monitoring" @@ -57268,12 +57478,6 @@ icon_state = "red" }, /area/almayer/shipboard/brig/chief_mp_office) -"pEd" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orangecorner" - }, -/area/almayer/hallways/upper/stern_hallway) "pEl" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -57325,18 +57529,6 @@ icon_state = "test_floor4" }, /area/almayer/lifeboat_pumps/south1) -"pFf" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "pFq" = ( /obj/structure/surface/table/almayer, /obj/item/device/binoculars, @@ -57366,6 +57558,25 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_a_s) +"pGE" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/tool/hand_labeler{ + pixel_x = 7 + }, +/obj/item/paper_bin/uscm{ + pixel_y = 5 + }, +/obj/item/tool/pen, +/obj/structure/machinery/computer/working_joe{ + dir = 8; + pixel_x = 17 + }, +/obj/item/device/megaphone, +/obj/item/book/manual/medical_diagnostics_manual, +/turf/open/floor/almayer{ + icon_state = "sterile_green_side" + }, +/area/almayer/medical/lower_medical_medbay) "pGG" = ( /obj/effect/landmark/start/doctor, /obj/structure/sign/safety/maint{ @@ -57453,21 +57664,6 @@ /obj/structure/surface/table/almayer, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/armory) -"pIf" = ( -/obj/structure/mirror{ - pixel_x = 28 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/maint/hull/upper/u_a_s) "pIo" = ( /obj/structure/machinery/door/airlock/almayer/maint{ dir = 1 @@ -57547,19 +57743,13 @@ icon_state = "dark_sterile" }, /area/almayer/living/port_emb) -"pJR" = ( -/obj/effect/step_trigger/teleporter_vector{ - name = "Almayer_AresUp"; - vector_x = -97; - vector_y = 65 - }, -/obj/structure/stairs{ - dir = 1 - }, -/turf/open/floor/almayer/aicore/glowing/no_build{ - icon_state = "ai_floor3" +"pJS" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/sign/safety/distribution_pipes{ + pixel_x = 32 }, -/area/almayer/command/airoom) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_s) "pKh" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -57577,6 +57767,26 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/s_stern) +"pKH" = ( +/obj/structure/pipes/vents/pump{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) +"pKL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light/small{ + dir = 1 + }, +/obj/structure/largecrate/random/secure{ + pixel_x = -5 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "pKU" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -57631,6 +57841,15 @@ icon_state = "plating" }, /area/almayer/engineering/lower/engine_core) +"pLE" = ( +/obj/structure/machinery/firealarm{ + pixel_y = 28 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "pLO" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ dir = 4; @@ -57751,18 +57970,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/s_bow) -"pOC" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" - }, -/obj/structure/sign/safety/distribution_pipes{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/hallways/upper/aft_hallway) "pOD" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment{ @@ -57894,12 +58101,6 @@ icon_state = "plating" }, /area/almayer/hallways/lower/vehiclehangar) -"pPU" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "pQr" = ( /obj/structure/bed, /turf/open/floor/almayer{ @@ -58033,13 +58234,6 @@ icon_state = "plate" }, /area/almayer/hallways/lower/starboard_fore_hallway) -"pSN" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - pixel_x = -1 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) "pSQ" = ( /obj/structure/reagent_dispensers/fueltank{ anchored = 1 @@ -58063,16 +58257,21 @@ icon_state = "silvercorner" }, /area/almayer/command/computerlab) -"pTt" = ( -/obj/structure/machinery/door/poddoor/shutters/almayer{ - id = "ARES JoeCryo"; - name = "\improper ARES Core Shutters"; - plane = -7 +"pTI" = ( +/obj/structure/sign/safety/storage{ + pixel_x = 8; + pixel_y = -32 }, -/turf/open/floor/almayer/no_build{ - icon_state = "test_floor4" +/turf/open/floor/almayer{ + icon_state = "plate" }, -/area/almayer/command/airoom) +/area/almayer/maint/upper/u_a_s) +"pTS" = ( +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/hallways/upper/fore_hallway) "pTX" = ( /obj/structure/largecrate/random/barrel/red, /obj/structure/sign/safety/fire_haz{ @@ -58083,6 +58282,21 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_f_p) +"pTY" = ( +/obj/structure/mirror{ + pixel_x = 28 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/maint/upper/u_a_s) "pUd" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/almayer{ @@ -58104,6 +58318,16 @@ icon_state = "bluecorner" }, /area/almayer/squads/delta) +"pUg" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/machinery/door_control{ + id = "ARES ReceptStairs2"; + name = "ARES Reception Stairway Shutters"; + pixel_x = 24; + req_one_access_txt = "91;92" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "pUj" = ( /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/almayer, @@ -58151,13 +58375,13 @@ icon_state = "redfull" }, /area/almayer/shipboard/brig/processing) -"pUL" = ( -/obj/structure/surface/table/almayer, -/obj/item/weapon/gun/rifle/m41a, -/turf/open/floor/almayer{ - icon_state = "plate" +"pVh" = ( +/obj/structure/machinery/light/small{ + dir = 1 }, -/area/almayer/maint/hull/upper/u_m_s) +/obj/structure/largecrate/random/barrel/red, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_s) "pVr" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 1 @@ -58322,15 +58546,6 @@ icon_state = "red" }, /area/almayer/hallways/lower/starboard_midship_hallway) -"pYi" = ( -/obj/structure/pipes/vents/pump/no_boom{ - dir = 8 - }, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_silver"; - dir = 4 - }, -/area/almayer/command/airoom) "pYo" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -58383,18 +58598,6 @@ icon_state = "silvercorner" }, /area/almayer/shipboard/brig/cic_hallway) -"pZq" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/stern_hallway) "pZH" = ( /obj/structure/machinery/shower{ dir = 8 @@ -58472,6 +58675,9 @@ icon_state = "red" }, /area/almayer/living/briefing) +"qbw" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_s) "qbx" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 6 @@ -58506,6 +58712,22 @@ icon_state = "blue" }, /area/almayer/living/pilotbunks) +"qbP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 4; + pixel_y = -3 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) +"qbU" = ( +/obj/structure/largecrate/random/case/double, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "qbZ" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor/glass{ dir = 1; @@ -58531,13 +58753,6 @@ icon_state = "plate" }, /area/almayer/living/auxiliary_officer_office) -"qcL" = ( -/obj/structure/sign/safety/intercom{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/stern_hallway) "qdk" = ( /obj/structure/surface/table/almayer, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -58605,6 +58820,15 @@ icon_state = "kitchen" }, /area/almayer/living/captain_mess) +"qdJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "qdQ" = ( /obj/structure/bed/sofa/vert/grey/top{ pixel_y = 11 @@ -58769,6 +58993,13 @@ icon_state = "test_floor4" }, /area/almayer/living/starboard_garden) +"qgn" = ( +/obj/item/stool, +/obj/effect/landmark/yautja_teleport, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_s) "qgr" = ( /obj/item/trash/plate{ pixel_x = 9; @@ -58825,6 +59056,12 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"qhg" = ( +/obj/structure/largecrate/random/barrel/yellow, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_s) "qhx" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22" @@ -58879,6 +59116,11 @@ }, /turf/open/floor/plating, /area/almayer/maint/lower/constr) +"qhT" = ( +/turf/open/floor/almayer{ + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) "qhU" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -58975,16 +59217,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_lobby) -"qjT" = ( -/obj/structure/surface/table/almayer, -/obj/item/weapon/gun/rifle/l42a{ - pixel_y = 6 - }, -/obj/item/weapon/gun/rifle/l42a, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_s) "qjV" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -58993,6 +59225,27 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) +"qjY" = ( +/obj/structure/machinery/door/window/eastleft{ + req_one_access_txt = "2;21" + }, +/obj/structure/machinery/door/window/westright, +/obj/structure/machinery/door/poddoor/shutters/almayer{ + dir = 4; + id = "ROlobby1"; + name = "\improper RO Line 1" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/surface/table/reinforced/almayer_blend/north, +/obj/item/desk_bell{ + pixel_x = -6; + pixel_y = -8; + anchored = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/squads/req) "qjZ" = ( /turf/closed/wall/almayer, /area/almayer/shipboard/stern_point_defense) @@ -59169,6 +59422,15 @@ icon_state = "dark_sterile" }, /area/almayer/medical/medical_science) +"qmK" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" + }, +/area/almayer/hallways/upper/fore_hallway) "qmM" = ( /obj/structure/bed/chair{ dir = 8 @@ -59206,6 +59468,12 @@ /obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m39_submachinegun, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/armory) +"qmW" = ( +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "qmY" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -59219,15 +59487,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) -"qnf" = ( -/obj/structure/sign/safety/hvac_old{ - pixel_x = 15; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/hallways/upper/stern_hallway) "qnh" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -59275,6 +59534,18 @@ icon_state = "test_floor4" }, /area/almayer/living/pilotbunks) +"qnH" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "orange" + }, +/area/almayer/hallways/upper/midship_hallway) +"qnX" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/south2) "qom" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/machinery/chem_dispenser/soda{ @@ -59320,6 +59591,14 @@ icon_state = "orange" }, /area/almayer/engineering/lower/workshop/hangar) +"qoM" = ( +/obj/structure/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_p) "qoN" = ( /turf/open/floor/almayer{ icon_state = "test_floor4" @@ -59351,13 +59630,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/chemistry) -"qpH" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/stern_hallway) "qpQ" = ( /obj/item/reagent_container/glass/beaker/bluespace, /obj/structure/machinery/chem_dispenser/medbay, @@ -59375,15 +59647,22 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_f_p) -"qqb" = ( -/obj/structure/machinery/light{ - dir = 8 +"qpY" = ( +/obj/structure/machinery/cryopod/right{ + layer = 3.1; + pixel_y = 13; + dir = 4 }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "blue" +/turf/open/floor/almayer/aicore/no_build{ + icon_state = "ai_cargo" }, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/command/airoom) +"qqa" = ( +/obj/effect/step_trigger/clone_cleaner, +/turf/open/floor/plating/almayer{ + allow_construction = 0 + }, +/area/almayer/hallways/upper/fore_hallway) "qqf" = ( /obj/structure/machinery/light, /turf/open/floor/almayer, @@ -59480,21 +59759,6 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/engineering/ce_room) -"qtj" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/port) "qtv" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer{ @@ -59528,20 +59792,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/cryo_tubes) -"quy" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/sign/safety/maint{ - pixel_x = 8; - pixel_y = -32 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - pixel_x = -1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/lifeboat) "quJ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 6 @@ -59580,6 +59830,16 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) +"qvh" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "silvercorner" + }, +/area/almayer/hallways/upper/midship_hallway) "qvC" = ( /obj/structure/machinery/power/apc/almayer{ dir = 4 @@ -59604,6 +59864,18 @@ icon_state = "red" }, /area/almayer/shipboard/brig/starboard_hallway) +"qvF" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/maint/upper/u_a_s) "qvI" = ( /obj/structure/sign/safety/maint{ pixel_x = -17 @@ -59625,13 +59897,6 @@ icon_state = "test_floor4" }, /area/almayer/command/corporateliaison) -"qwf" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "qwo" = ( /obj/structure/machinery/washing_machine, /obj/structure/machinery/washing_machine{ @@ -59666,18 +59931,32 @@ }, /area/almayer/living/offices) "qwJ" = ( -/obj/structure/machinery/door_control{ - id = "ARES Operations Left"; - name = "ARES Operations Shutter"; - pixel_x = -24; - pixel_y = -8; - req_one_access_txt = "90;91;92" +/obj/effect/projector{ + name = "Almayer_AresDown"; + vector_x = 96; + vector_y = -65 }, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_silver"; +/obj/structure/platform{ dir = 8 }, +/obj/structure/stairs{ + dir = 1; + icon_state = "ramptop" + }, +/turf/open/floor/almayer/aicore/no_build, /area/almayer/command/airoom) +"qwU" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/obj/structure/sign/safety/distribution_pipes{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "qwY" = ( /obj/structure/machinery/vending/coffee, /turf/open/floor/almayer{ @@ -59773,12 +60052,6 @@ /obj/structure/largecrate/random/case/double, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_m_s) -"qxK" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "qxL" = ( /obj/structure/machinery/medical_pod/autodoc, /turf/open/floor/almayer{ @@ -59798,6 +60071,13 @@ dir = 4 }, /area/almayer/medical/containment/cell) +"qxS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_f_s) "qyi" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -59822,6 +60102,16 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"qyA" = ( +/obj/structure/machinery/cm_vending/clothing/intelligence_officer{ + density = 0; + pixel_x = -32 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "silver" + }, +/area/almayer/command/computerlab) "qyD" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/recharger, @@ -59966,6 +60256,9 @@ /area/almayer/maint/hull/upper/u_a_p) "qAT" = ( /obj/structure/machinery/light, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, /obj/structure/surface/table/almayer, /obj/structure/machinery/reagentgrinder{ pixel_y = 8 @@ -59979,9 +60272,6 @@ pixel_x = -16; pixel_y = 5 }, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" - }, /turf/open/floor/almayer{ icon_state = "sterile_green_side" }, @@ -60114,15 +60404,6 @@ icon_state = "test_floor4" }, /area/almayer/maint/hull/upper/u_a_p) -"qDN" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/structure/machinery/cm_vending/sorted/medical/marinemed, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/command/cic) "qDP" = ( /obj/structure/machinery/light{ dir = 4 @@ -60141,10 +60422,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_a_p) -"qEc" = ( -/obj/effect/step_trigger/clone_cleaner, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) "qEk" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -60241,18 +60518,6 @@ icon_state = "test_floor4" }, /area/almayer/hallways/lower/port_fore_hallway) -"qEZ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - pixel_y = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer{ - icon_state = "dark_sterile" - }, -/area/almayer/maint/hull/upper/u_a_s) "qFi" = ( /obj/structure/bed/chair/comfy/black{ dir = 4 @@ -60344,27 +60609,12 @@ icon_state = "dark_sterile" }, /area/almayer/medical/operating_room_two) -"qGP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/stern_hallway) "qGU" = ( /obj/structure/closet/firecloset, /turf/open/floor/almayer{ icon_state = "cargo" }, /area/almayer/lifeboat_pumps/south2) -"qGZ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) "qHg" = ( /turf/open/floor/almayer{ dir = 1; @@ -60381,12 +60631,13 @@ icon_state = "test_floor4" }, /area/almayer/powered) -"qHu" = ( -/obj/structure/machinery/light{ - dir = 1 +"qHD" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, /turf/open/floor/almayer, -/area/almayer/hallways/upper/stern_hallway) +/area/almayer/hallways/upper/aft_hallway) "qHG" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -60405,6 +60656,13 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering) +"qHT" = ( +/obj/structure/sign/safety/hvac_old{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_m_p) "qIa" = ( /obj/structure/platform{ dir = 4 @@ -60433,6 +60691,16 @@ icon_state = "test_floor4" }, /area/almayer/command/corporateliaison) +"qIF" = ( +/obj/structure/sign/safety/rewire{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/fore_hallway) "qIL" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/camera/autoname/almayer{ @@ -60605,6 +60873,19 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) +"qKZ" = ( +/obj/effect/step_trigger/teleporter_vector{ + name = "Almayer_AresUp"; + vector_x = -96; + vector_y = 65 + }, +/obj/structure/stairs{ + dir = 1 + }, +/turf/open/floor/almayer/aicore/glowing/no_build{ + icon_state = "ai_floor3" + }, +/area/almayer/command/airoom) "qLg" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer{ @@ -60627,6 +60908,15 @@ icon_state = "dark_sterile" }, /area/almayer/medical/containment) +"qLk" = ( +/obj/structure/machinery/door/airlock/almayer/maint, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/upper/u_a_p) "qLs" = ( /obj/effect/landmark/start/maint, /turf/open/floor/plating/plating_catwalk, @@ -60713,6 +61003,20 @@ }, /turf/open/floor/almayer, /area/almayer/living/briefing) +"qNc" = ( +/obj/structure/machinery/door_control{ + id = "ARES StairsLower"; + name = "ARES Core Lockdown"; + pixel_x = 24; + pixel_y = 8; + req_one_access_txt = "90;91;92" + }, +/obj/effect/step_trigger/clone_cleaner, +/turf/open/floor/almayer/aicore/no_build{ + dir = 4; + icon_state = "ai_silver" + }, +/area/almayer/command/airoom) "qNd" = ( /obj/structure/machinery/cryopod, /obj/structure/machinery/light{ @@ -60800,6 +61104,14 @@ icon_state = "test_floor4" }, /area/almayer/maint/hull/upper/u_f_p) +"qOZ" = ( +/obj/structure/machinery/cm_vending/sorted/medical/marinemed, +/obj/structure/medical_supply_link, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "sterile_green_side" + }, +/area/almayer/medical/lower_medical_lobby) "qPk" = ( /turf/open/floor/almayer, /area/almayer/hallways/lower/starboard_fore_hallway) @@ -60809,13 +61121,6 @@ icon_state = "test_floor4" }, /area/almayer/maint/hull/lower/l_a_s) -"qPv" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hallways/upper/aft_hallway) "qPD" = ( /turf/open/floor/almayer, /area/almayer/shipboard/brig/perma) @@ -60871,6 +61176,9 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south1) +"qQu" = ( +/turf/open/floor/almayer, +/area/almayer/hallways/upper/fore_hallway) "qQy" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -60878,13 +61186,19 @@ /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/lower) -"qQG" = ( -/obj/structure/largecrate/supply/floodlights, +"qQD" = ( +/obj/structure/sign/safety/distribution_pipes{ + pixel_x = 15; + pixel_y = 32 + }, +/obj/structure/sign/safety/intercom{ + pixel_y = 32 + }, /turf/open/floor/almayer{ - dir = 6; - icon_state = "red" + dir = 1; + icon_state = "blue" }, -/area/almayer/maint/hull/upper/u_a_p) +/area/almayer/hallways/upper/midship_hallway) "qQS" = ( /turf/open/floor/almayer/aicore/no_build, /area/almayer/command/airoom) @@ -60930,24 +61244,29 @@ icon_state = "test_floor4" }, /area/almayer/command/corporateliaison) -"qRx" = ( -/obj/structure/sign/safety/stairs{ - pixel_x = -15 +"qRX" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "green" +/turf/open/floor/almayer/aicore/glowing/no_build{ + icon_state = "ai_floor3" }, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/command/airoom) "qSm" = ( /obj/structure/pipes/vents/pump{ dir = 4 }, /turf/open/floor/almayer, /area/almayer/shipboard/port_point_defense) -"qSw" = ( -/turf/open/floor/plating, -/area/almayer/maint/hull/upper/u_m_p) +"qSp" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/turf/open/floor/almayer{ + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) "qSE" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/food/condiment/hotsauce/cholula, @@ -60984,6 +61303,14 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"qTi" = ( +/obj/structure/closet/crate, +/obj/item/ammo_box/magazine/l42a, +/obj/item/ammo_box/magazine/l42a, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "qTu" = ( /obj/structure/machinery/power/apc/almayer{ dir = 1 @@ -60992,6 +61319,12 @@ icon_state = "plate" }, /area/almayer/hallways/lower/port_umbilical) +"qTA" = ( +/obj/structure/largecrate/random/case, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_p) "qTQ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -61000,6 +61333,13 @@ icon_state = "red" }, /area/almayer/shipboard/brig/chief_mp_office) +"qTS" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + pixel_x = -1 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "qTY" = ( /obj/structure/machinery/gibber, /turf/open/floor/plating/plating_catwalk, @@ -61031,6 +61371,12 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/charlie_delta_shared) +"qUu" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/hallways/upper/fore_hallway) "qUx" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out"; @@ -61051,26 +61397,11 @@ icon_state = "red" }, /area/almayer/shipboard/brig/processing) -"qUG" = ( -/obj/structure/surface/table/almayer, -/obj/item/clothing/mask/cigarette/pipe{ - pixel_x = 8 - }, -/obj/structure/transmitter/rotary{ - name = "Reporter Telephone"; - phone_category = "Almayer"; - phone_id = "Reporter"; - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/device/toner{ - pixel_y = -11; - pixel_x = -2 - }, +"qUK" = ( /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "blue" }, -/area/almayer/command/combat_correspondent) +/area/almayer/hallways/upper/fore_hallway) "qUL" = ( /obj/structure/machinery/landinglight/ds1/delaythree{ dir = 4 @@ -61194,38 +61525,18 @@ dir = 4 }, /area/almayer/medical/containment/cell/cl) -"qWS" = ( -/obj/structure/surface/table/almayer, -/obj/item/reagent_container/pill/happy{ - pixel_x = 6; - pixel_y = -4 - }, -/obj/item/prop/helmetgarb/prescription_bottle{ - pixel_x = 9 - }, -/obj/item/tool/surgery/bonegel/empty{ - pixel_y = 15; - pixel_x = 4 - }, -/obj/item/tool/surgery/bonegel/empty{ - pixel_y = 13; - pixel_x = -8 - }, -/obj/item/tool/surgery/bonegel/empty{ - pixel_y = 19; - pixel_x = -5; - layer = 3.01 +"qXh" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/item/storage/box/gloves{ - layer = 3.2; - pixel_x = -5; - pixel_y = 2 +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, /turf/open/floor/almayer{ - dir = 1; - icon_state = "sterile_green_corner" + dir = 6; + icon_state = "orange" }, -/area/almayer/medical/lower_medical_medbay) +/area/almayer/hallways/upper/midship_hallway) "qXk" = ( /turf/open/floor/almayer{ icon_state = "plate" @@ -61304,6 +61615,12 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) +"qYd" = ( +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/south2) "qYq" = ( /turf/open/floor/almayer{ dir = 5; @@ -61332,6 +61649,14 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) +"qYz" = ( +/obj/structure/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "qYC" = ( /obj/structure/disposalpipe/down/almayer{ dir = 4; @@ -61600,18 +61925,6 @@ }, /turf/open/floor/almayer, /area/almayer/command/lifeboat) -"rdo" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 9 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "rdt" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -61621,6 +61934,25 @@ }, /turf/open/floor/almayer/research/containment/corner4, /area/almayer/medical/containment/cell) +"rdz" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/command/reinforced{ + closeOtherId = "ciclobby_s"; + id_tag = "cic_exterior"; + name = "\improper Combat Information Center" + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + dir = 4; + id = "CIC Lockdown"; + name = "\improper Combat Information Center Blast Door" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/command/cic) "rdA" = ( /obj/structure/sign/safety/maint{ pixel_x = -17; @@ -61677,6 +62009,9 @@ icon_state = "plate" }, /area/almayer/hallways/lower/port_fore_hallway) +"rdZ" = ( +/turf/open/floor/plating, +/area/almayer/command/corporateliaison) "rec" = ( /obj/structure/bed/chair/comfy/bravo{ dir = 1 @@ -61773,10 +62108,6 @@ icon_state = "plate" }, /area/almayer/shipboard/port_point_defense) -"rfQ" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/stern_hallway) "rfT" = ( /obj/item/frame/camera{ desc = "The Staff Officer insisted he needed to monitor everyone at all times."; @@ -61846,6 +62177,13 @@ "rgL" = ( /turf/open/floor/plating, /area/almayer/maint/upper/u_m_p) +"rgO" = ( +/obj/structure/disposalpipe/junction, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/midship_hallway) "rgW" = ( /turf/open/floor/almayer{ icon_state = "emeraldcorner" @@ -61857,6 +62195,13 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/u_f_s) +"rho" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/hallways/upper/midship_hallway) "rht" = ( /obj/structure/machinery/vending/cola, /turf/open/floor/almayer{ @@ -61897,16 +62242,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/port_emb) -"rhX" = ( -/obj/structure/sign/safety/maint{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orangecorner" - }, -/area/almayer/hallways/upper/stern_hallway) "rib" = ( /obj/structure/sink{ dir = 8; @@ -61970,12 +62305,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) -"riK" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "silvercorner" - }, -/area/almayer/hallways/upper/aft_hallway) "riP" = ( /obj/structure/machinery/light, /obj/structure/sign/safety/rewire{ @@ -62001,6 +62330,11 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) +"rjr" = ( +/turf/open/floor/almayer{ + icon_state = "silvercorner" + }, +/area/almayer/hallways/upper/midship_hallway) "rjF" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -62030,7 +62364,7 @@ /area/almayer/engineering/lower/engine_core) "rjV" = ( /obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/cameras/wooden_tv/prop{ +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{ dir = 8; layer = 3.2; pixel_x = -3; @@ -62066,6 +62400,15 @@ icon_state = "blue" }, /area/almayer/living/port_emb) +"rjX" = ( +/obj/structure/sign/safety/hvac_old{ + pixel_x = 15; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/north2) "rka" = ( /obj/structure/surface/table/almayer, /obj/item/paper_bin/uscm, @@ -62184,6 +62527,18 @@ icon_state = "red" }, /area/almayer/shipboard/brig/starboard_hallway) +"rmo" = ( +/obj/structure/pipes/standard/cap/hidden{ + dir = 4 + }, +/obj/structure/sign/safety/hvac_old{ + pixel_x = 15; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/south2) "rmx" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/recharger, @@ -62199,11 +62554,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/starboard_fore_hallway) -"rmB" = ( -/turf/open/floor/almayer{ - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "rmD" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -62221,24 +62571,16 @@ icon_state = "dark_sterile" }, /area/almayer/engineering/upper_engineering/port) +"rmG" = ( +/obj/structure/blocker/fuelpump, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/north2) "rna" = ( /obj/structure/machinery/status_display{ pixel_y = 30 }, /turf/open/floor/almayer/aicore/no_build, /area/almayer/command/airoom) -"rnd" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "rnF" = ( /obj/structure/machinery/door/airlock/almayer/engineering{ dir = 2; @@ -62263,6 +62605,15 @@ }, /turf/open/floor/almayer/aicore/glowing/no_build, /area/almayer/command/airoom) +"rnM" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 25 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "rnN" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/sign/nosmoking_2{ @@ -62273,15 +62624,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/upper_medical) -"rnO" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/stern_hallway) "rob" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, @@ -62332,15 +62674,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/grunt_rnr) -"roY" = ( -/obj/structure/sign/safety/maint{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/hallways/upper/stern_hallway) "rpp" = ( /obj/effect/landmark/start/executive, /turf/open/floor/plating/plating_catwalk, @@ -62362,6 +62695,15 @@ icon_state = "plate" }, /area/almayer/command/cichallway) +"rpV" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "rqb" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = 32 @@ -62482,13 +62824,6 @@ icon_state = "test_floor4" }, /area/almayer/living/bridgebunks) -"rrG" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "red" - }, -/area/almayer/hallways/upper/stern_hallway) "rrK" = ( /obj/structure/bed/chair{ can_buckle = 0; @@ -62722,19 +63057,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/p_bow) -"rwf" = ( -/obj/structure/sign/safety/analysis_lab{ - pixel_y = 26 - }, -/obj/structure/sign/safety/terminal{ - pixel_x = 15; - pixel_y = 26 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "rwj" = ( /turf/open/floor/almayer{ dir = 4; @@ -62787,6 +63109,28 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_m_p) +"rxl" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/machinery/disposal/delivery{ + density = 0; + desc = "A pneumatic delivery unit."; + icon_state = "delivery_engi"; + name = "Security Vault"; + pixel_y = 28; + pixel_x = -24 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/machinery/door_control{ + id = "ARES StairsUpper"; + name = "ARES Core Access"; + pixel_x = -32; + pixel_y = 40; + req_one_access_txt = "90;91;92" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "rxq" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -62800,12 +63144,16 @@ /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/navigation) -"rxO" = ( -/obj/structure/machinery/cm_vending/clothing/intelligence_officer, -/turf/open/floor/almayer{ - icon_state = "silverfull" +"rxQ" = ( +/obj/structure/pipes/standard/manifold/hidden/supply, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/area/almayer/command/computerlab) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/fore_hallway) +"ryn" = ( +/turf/closed/wall/almayer/outer, +/area/almayer/command/securestorage) "ryt" = ( /obj/structure/pipes/standard/manifold/visible, /turf/open/floor/almayer{ @@ -62818,6 +63166,14 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/north1) +"ryJ" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/upper/u_a_p) "ryR" = ( /obj/structure/machinery/cm_vending/clothing/staff_officer_armory, /turf/open/floor/almayer{ @@ -62920,6 +63276,10 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) +"rAS" = ( +/obj/structure/largecrate/random/case/double, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_s) "rBa" = ( /obj/structure/machinery/cm_vending/clothing/synth, /obj/structure/prop/invuln/overhead_pipe{ @@ -62966,14 +63326,13 @@ icon_state = "test_floor4" }, /area/almayer/maint/upper/u_m_p) -"rBH" = ( -/obj/structure/machinery/constructable_frame{ - icon_state = "box_2" - }, -/turf/open/floor/almayer{ - icon_state = "mono" +"rBY" = ( +/obj/structure/machinery/shower{ + pixel_y = 16 }, -/area/almayer/lifeboat_pumps/south1) +/obj/item/tool/soap, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_s) "rCh" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -62983,12 +63342,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_m_p) -"rCi" = ( -/obj/structure/machinery/camera/autoname/almayer/containment/ares{ - dir = 8 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "rCl" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -62999,20 +63352,6 @@ icon_state = "red" }, /area/almayer/hallways/upper/port) -"rCw" = ( -/obj/effect/step_trigger/teleporter_vector{ - name = "Almayer_AresDown"; - vector_x = 97; - vector_y = -65 - }, -/obj/structure/platform{ - dir = 8 - }, -/obj/structure/stairs{ - dir = 1 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "rCD" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -63035,6 +63374,10 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/briefing) +"rCZ" = ( +/obj/docking_port/stationary/escape_pod/east, +/turf/open/floor/plating, +/area/almayer/maint/upper/u_m_s) "rDb" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 6 @@ -63071,11 +63414,6 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/starboard_umbilical) -"rDm" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) "rDr" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/almayer{ @@ -63182,11 +63520,6 @@ icon_state = "outerhull_dir" }, /area/space) -"rEs" = ( -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/maint/hull/upper/u_a_s) "rEt" = ( /obj/structure/largecrate/random/secure, /turf/open/floor/almayer{ @@ -63219,12 +63552,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_f_p) -"rEL" = ( -/obj/structure/machinery/cm_vending/gear/intelligence_officer, -/turf/open/floor/almayer{ - icon_state = "silverfull" - }, -/area/almayer/command/computerlab) "rEY" = ( /obj/structure/machinery/disposal, /obj/structure/disposalpipe/trunk{ @@ -63274,15 +63601,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"rGc" = ( -/obj/structure/sign/safety/maint{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "red" - }, -/area/almayer/hallways/upper/stern_hallway) "rGj" = ( /turf/open/floor/almayer{ icon_state = "red" @@ -63350,13 +63668,6 @@ icon_state = "plate" }, /area/almayer/squads/alpha_bravo_shared) -"rHn" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer{ - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "rHo" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ layer = 1.9 @@ -63453,17 +63764,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) -"rIE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/secure_closet/guncabinet, -/obj/item/weapon/gun/rifle/l42a, -/obj/item/weapon/gun/rifle/l42a{ - pixel_y = 6 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_s) "rIH" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -63573,14 +63873,6 @@ /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, /area/almayer/living/briefing) -"rJY" = ( -/obj/item/book/manual/medical_diagnostics_manual, -/obj/structure/surface/rack, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/maint/hull/upper/u_a_p) "rKd" = ( /turf/open/floor/almayer/uscm/directional{ dir = 5 @@ -63599,6 +63891,16 @@ icon_state = "rasputin15" }, /area/almayer/powered/agent) +"rKt" = ( +/obj/structure/sign/safety/rewire{ + pixel_x = 32 + }, +/obj/structure/machinery/power/apc/almayer, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/almayer/hallways/lower/port_aft_hallway) "rKA" = ( /obj/structure/bed{ can_buckle = 0 @@ -63683,6 +63985,13 @@ dir = 8 }, /area/almayer/medical/containment/cell/cl) +"rMh" = ( +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + dir = 10; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/north1) "rMj" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/almayer{ @@ -63752,13 +64061,6 @@ icon_state = "dark_sterile" }, /area/almayer/living/port_emb) -"rNF" = ( -/obj/structure/machinery/light{ - unacidable = 1; - unslashable = 1 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "rNK" = ( /obj/structure/surface/table/almayer, /turf/open/floor/almayer{ @@ -63928,21 +64230,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"rRb" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_s) -"rRf" = ( -/obj/structure/sign/safety/maint{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/hallways/upper/aft_hallway) "rRq" = ( /turf/closed/wall/almayer, /area/almayer/lifeboat_pumps/south2) @@ -63953,6 +64240,11 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) +"rRT" = ( +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hallways/upper/midship_hallway) "rRU" = ( /obj/structure/machinery/light{ dir = 8 @@ -64029,6 +64321,13 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/port_emb) +"rSH" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 + }, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/south1) "rSR" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/sign/safety/cryo{ @@ -64036,16 +64335,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/lower/cryo_cells) -"rTe" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/janitorialcart, -/obj/item/tool/mop, +"rSW" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "test_floor4" }, -/area/almayer/maint/upper/u_m_p) +/area/almayer/hallways/upper/fore_hallway) "rTk" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -64188,12 +64483,6 @@ icon_state = "cargo" }, /area/almayer/living/cryo_cells) -"rWP" = ( -/obj/effect/step_trigger/clone_cleaner, -/turf/open/floor/almayer{ - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "rWT" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/manifold/hidden/supply{ @@ -64224,6 +64513,12 @@ icon_state = "cargo" }, /area/almayer/living/cryo_cells) +"rXq" = ( +/obj/structure/machinery/door/airlock/almayer/maint, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/upper/u_a_p) "rXv" = ( /obj/structure/machinery/door/airlock/almayer/maint, /obj/structure/disposalpipe/segment{ @@ -64294,15 +64589,6 @@ icon_state = "cargo" }, /area/almayer/maint/hull/lower/l_f_s) -"rXV" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - icon_state = "orangecorner" - }, -/area/almayer/hallways/upper/stern_hallway) "rYh" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -64337,15 +64623,6 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/starboard) -"rYG" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "rYI" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -64364,6 +64641,12 @@ icon_state = "plate" }, /area/almayer/living/offices/flight) +"rYU" = ( +/obj/structure/machinery/light/small, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "rZt" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -64391,15 +64674,6 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_medbay) -"rZC" = ( -/obj/structure/sign/safety/ladder{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "rZP" = ( /obj/structure/surface/table/almayer, /obj/item/tool/weldpack, @@ -64408,6 +64682,17 @@ icon_state = "plate" }, /area/almayer/shipboard/starboard_point_defense) +"rZZ" = ( +/obj/structure/sign/poster{ + desc = "It says DRUG."; + icon_state = "poster2"; + pixel_y = 30 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_p) "sab" = ( /obj/effect/landmark/start/doctor, /obj/effect/landmark/late_join/doctor, @@ -64428,13 +64713,6 @@ icon_state = "test_floor4" }, /area/almayer/command/corporateliaison) -"saT" = ( -/obj/structure/disposalpipe/junction, -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) "sbq" = ( /obj/structure/machinery/door/poddoor/almayer/locked{ icon_state = "almayer_pdoor"; @@ -64476,6 +64754,26 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/cryo) +"sbZ" = ( +/obj/structure/machinery/camera/autoname/almayer{ + name = "ship-grade camera" + }, +/obj/structure/machinery/suit_storage_unit/compression_suit/uscm, +/obj/structure/sign/safety/hazard{ + pixel_y = 32 + }, +/obj/structure/sign/safety/airlock{ + pixel_x = 15; + pixel_y = 32 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hallways/lower/starboard_umbilical) "sco" = ( /obj/structure/sign/prop1{ layer = 3.1 @@ -64563,6 +64861,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_m_s) +"sdd" = ( +/obj/item/tool/wirecutters/clippers, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "sdf" = ( /obj/effect/step_trigger/clone_cleaner, /obj/effect/decal/warning_stripes{ @@ -64573,16 +64877,6 @@ icon_state = "red" }, /area/almayer/hallways/upper/starboard) -"sdl" = ( -/obj/structure/surface/rack{ - density = 0; - pixel_y = 16 - }, -/obj/item/tool/wet_sign, -/obj/item/tool/wet_sign, -/obj/item/tool/wet_sign, -/turf/open/floor/plating, -/area/almayer/command/airoom) "sdn" = ( /obj/structure/sink{ dir = 4; @@ -64636,6 +64930,16 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/port_fore_hallway) +"sfz" = ( +/turf/open/floor/almayer{ + dir = 1; + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) +"sfA" = ( +/obj/structure/machinery/fuelpump, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/south1) "sfT" = ( /turf/open/floor/almayer, /area/almayer/hallways/upper/port) @@ -64742,6 +65046,12 @@ icon_state = "red" }, /area/almayer/shipboard/brig/cells) +"sgH" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = 25 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "sgL" = ( /obj/structure/machinery/door/poddoor/shutters/almayer/open{ dir = 4; @@ -64813,6 +65123,12 @@ "sht" = ( /turf/open/floor/almayer, /area/almayer/living/pilotbunks) +"shC" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/hallways/upper/midship_hallway) "shL" = ( /obj/structure/surface/table/almayer, /obj/item/storage/toolbox/electrical, @@ -64824,6 +65140,11 @@ icon_state = "cargo" }, /area/almayer/engineering/lower/engine_core) +"sin" = ( +/turf/open/floor/almayer{ + icon_state = "bluecorner" + }, +/area/almayer/hallways/upper/midship_hallway) "sir" = ( /obj/structure/machinery/door/airlock/almayer/maint{ req_access = null; @@ -64891,15 +65212,6 @@ icon_state = "plate" }, /area/almayer/engineering/lower) -"siS" = ( -/obj/structure/sign/safety/maint{ - pixel_x = 32 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "red" - }, -/area/almayer/hallways/upper/stern_hallway) "siT" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -64952,16 +65264,6 @@ icon_state = "test_floor4" }, /area/almayer/command/lifeboat) -"sjw" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - pixel_x = -1 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "silver" - }, -/area/almayer/maint/hull/upper/u_m_p) "sjz" = ( /obj/effect/decal/warning_stripes{ icon_state = "SW-out"; @@ -64971,6 +65273,20 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/north2) +"sjG" = ( +/obj/structure/sign/safety/distribution_pipes{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) +"sjM" = ( +/obj/effect/landmark/start/reporter, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_m_p) "skj" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -65366,18 +65682,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_m_s) -"spW" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "sqa" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -65413,16 +65717,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering) -"sqP" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/emails{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/upper/u_m_s) "sqW" = ( /obj/structure/machinery/portable_atmospherics/hydroponics, /obj/item/seeds/tomatoseed, @@ -65497,20 +65791,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_m_p) -"ssF" = ( -/obj/structure/sign/safety/distribution_pipes{ - pixel_x = 32; - pixel_y = 6 - }, -/obj/structure/sign/safety/reduction{ - pixel_x = 32; - pixel_y = -8 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/hallways/upper/aft_hallway) "ssU" = ( /obj/structure/machinery/constructable_frame, /turf/open/floor/almayer{ @@ -65542,15 +65822,6 @@ /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, /area/almayer/shipboard/navigation) -"stk" = ( -/obj/structure/sign/safety/distribution_pipes{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "str" = ( /obj/effect/step_trigger/teleporter_vector{ name = "Almayer_Down3"; @@ -65570,12 +65841,6 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/north1) -"stA" = ( -/obj/structure/machinery/portable_atmospherics/hydroponics, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "stO" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/faxmachine/uscm/brig, @@ -65669,6 +65934,12 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) +"svq" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_m_s) "svt" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -65695,22 +65966,31 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_m_p) -"svV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/secure_closet/guncabinet, -/obj/item/weapon/gun/rifle/l42a{ - pixel_y = 6 +"swn" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_y = -25 }, -/obj/item/weapon/gun/rifle/l42a, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "orangecorner" }, -/area/almayer/maint/hull/upper/u_m_s) +/area/almayer/hallways/upper/aft_hallway) "swt" = ( /turf/open/floor/almayer{ icon_state = "greencorner" }, /area/almayer/living/grunt_rnr) +"swx" = ( +/obj/effect/projector{ + name = "Almayer_AresUp"; + vector_x = -96; + vector_y = 65 + }, +/obj/structure/stairs{ + dir = 1; + icon_state = "ramptop" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "swE" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/alarm/almayer{ @@ -65799,12 +66079,37 @@ icon_state = "silver" }, /area/almayer/command/cichallway) +"syg" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/airlock/almayer/security/reinforced{ + access_modified = 1; + closeOtherId = "astroladder_n"; + name = "\improper Astronavigational Deck"; + req_access = null; + req_one_access_txt = "3;19" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/navigation) "syj" = ( /obj/structure/sign/safety/escapepod{ pixel_y = 32 }, /turf/open/floor/almayer, /area/almayer/hallways/lower/starboard_fore_hallway) +"syp" = ( +/turf/open/floor/almayer{ + dir = 6; + icon_state = "silver" + }, +/area/almayer/maint/upper/u_m_p) "syH" = ( /obj/structure/machinery/firealarm{ pixel_y = -28 @@ -65814,13 +66119,10 @@ }, /turf/open/floor/almayer, /area/almayer/squads/delta) -"szb" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) +"syO" = ( +/obj/structure/machinery/light, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "szf" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -65927,14 +66229,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/general_equipment) -"sBK" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 8 - }, -/turf/open/floor/almayer{ - icon_state = "redfull" - }, -/area/almayer/hallways/upper/stern_hallway) "sBL" = ( /obj/structure/machinery/portable_atmospherics/hydroponics, /obj/structure/machinery/light, @@ -65942,6 +66236,18 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) +"sBQ" = ( +/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ + closeOtherId = "briglobby"; + name = "\improper Brig Cells" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/processing) "sBY" = ( /obj/item/tool/wet_sign, /obj/structure/disposalpipe/segment, @@ -66017,33 +66323,6 @@ /obj/structure/surface/table/almayer, /turf/open/floor/plating, /area/almayer/maint/lower/constr) -"sDe" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 4 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - layer = 3.33; - pixel_x = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "N"; - layer = 3.33; - pixel_y = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - layer = 3.3 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S"; - layer = 3.3 - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "plating" - }, -/area/almayer/hallways/upper/stern_hallway) "sDu" = ( /obj/item/clothing/under/marine/dress, /turf/open/floor/almayer{ @@ -66301,6 +66580,21 @@ icon_state = "orange" }, /area/almayer/engineering/lower/workshop) +"sHC" = ( +/obj/structure/machinery/alarm/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) +"sHI" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) "sHM" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ @@ -66315,17 +66609,6 @@ icon_state = "red" }, /area/almayer/squads/alpha) -"sIf" = ( -/obj/effect/step_trigger/teleporter_vector{ - name = "Almayer_AresDown"; - vector_x = 97; - vector_y = -65 - }, -/obj/structure/stairs{ - dir = 1 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "sIr" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -66354,6 +66637,17 @@ icon_state = "silver" }, /area/almayer/engineering/port_atmos) +"sII" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/machinery/door/poddoor/shutters/almayer{ + id = "ARES ReceptStairs2"; + name = "\improper ARES Reception Stairway Shutters"; + plane = -7 + }, +/turf/open/floor/almayer/no_build{ + icon_state = "test_floor4" + }, +/area/almayer/command/airoom) "sIR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -66411,6 +66705,12 @@ icon_state = "cargo" }, /area/almayer/engineering/lower/workshop/hangar) +"sJN" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/aft_hallway) "sJY" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -66426,6 +66726,15 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/morgue) +"sKf" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "sKM" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -66625,6 +66934,14 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_a_p) +"sOK" = ( +/obj/structure/disposalpipe/down/almayer{ + dir = 2; + id = "ares_vault_out"; + name = "wycomms" + }, +/turf/closed/wall/almayer/outer, +/area/almayer/command/airoom) "sOL" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -66644,6 +66961,26 @@ icon_state = "redfull" }, /area/almayer/medical/upper_medical) +"sPa" = ( +/obj/structure/surface/rack, +/obj/item/stack/cable_coil, +/obj/item/attachable/flashlight/grip, +/obj/item/ammo_box/magazine/l42a{ + pixel_y = 14 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) +"sPb" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/hallways/upper/starboard) "sPc" = ( /obj/structure/machinery/light{ dir = 1 @@ -66682,14 +67019,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/port_fore_hallway) -"sQu" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" - }, -/turf/open/floor/almayer{ - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "sQF" = ( /turf/open/floor/almayer{ icon_state = "red" @@ -66701,6 +67030,15 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) +"sRC" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/aft_hallway) "sRM" = ( /obj/structure/machinery/power/apc/almayer{ dir = 1 @@ -66709,12 +67047,17 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_a_s) -"sRP" = ( +"sRZ" = ( +/obj/effect/projector{ + name = "Almayer_Down2"; + vector_x = 1; + vector_y = -100 + }, /turf/open/floor/almayer{ - dir = 8; - icon_state = "red" + allow_construction = 0; + icon_state = "plate" }, -/area/almayer/maint/hull/upper/u_a_p) +/area/almayer/hallways/upper/fore_hallway) "sSa" = ( /obj/structure/machinery/door/airlock/almayer/marine/requisitions{ dir = 2; @@ -66736,6 +67079,15 @@ icon_state = "tcomms" }, /area/almayer/shipboard/weapon_room) +"sSj" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "red" + }, +/area/almayer/lifeboat_pumps/north1) "sSl" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -66877,6 +67229,14 @@ icon_state = "blue" }, /area/almayer/squads/delta) +"sUS" = ( +/obj/structure/disposalpipe/junction{ + dir = 4; + icon_state = "pipe-j2" + }, +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/fore_hallway) "sVc" = ( /obj/structure/machinery/portable_atmospherics/hydroponics, /obj/item/seeds/orangeseed, @@ -66885,13 +67245,11 @@ icon_state = "green" }, /area/almayer/shipboard/brig/cells) -"sVA" = ( -/obj/structure/sign/safety/maint{ - pixel_x = -17 - }, +"sVv" = ( +/obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ - dir = 8; - icon_state = "green" + dir = 1; + icon_state = "red" }, /area/almayer/hallways/upper/aft_hallway) "sVT" = ( @@ -66914,6 +67272,16 @@ "sVV" = ( /turf/open/floor/almayer, /area/almayer/hallways/upper/starboard) +"sWb" = ( +/obj/effect/projector{ + name = "Almayer_Down2"; + vector_x = 1; + vector_y = -100 + }, +/turf/open/floor/almayer{ + allow_construction = 0 + }, +/area/almayer/hallways/upper/fore_hallway) "sWp" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -67038,16 +67406,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) -"sYj" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/obj/effect/step_trigger/clone_cleaner, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "sYl" = ( /obj/structure/machinery/body_scanconsole{ dir = 8 @@ -67111,6 +67469,18 @@ /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/plating, /area/almayer/medical/upper_medical) +"sYU" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "sZc" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -67183,6 +67553,10 @@ icon_state = "blue" }, /area/almayer/living/port_emb) +"sZY" = ( +/obj/structure/blocker/fuelpump, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/south2) "tab" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/storage/box/flashbangs{ @@ -67275,17 +67649,6 @@ icon_state = "plate" }, /area/almayer/hallways/upper/starboard) -"tbD" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/stern_hallway) -"tbF" = ( -/turf/open/floor/almayer{ - icon_state = "silvercorner" - }, -/area/almayer/hallways/upper/aft_hallway) "tcd" = ( /obj/structure/surface/table/almayer, /obj/item/device/radio{ @@ -67442,17 +67805,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/port_midship_hallway) -"teu" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/weapon/gun/shotgun/pump{ - starting_attachment_types = list(/obj/item/attachable/stock/shotgun) - }, -/turf/open/floor/almayer, -/area/almayer/squads/charlie_delta_shared) -"tey" = ( -/obj/item/tool/wet_sign, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/upper/u_m_s) "tez" = ( /obj/effect/landmark/ert_spawns/distress_cryo, /obj/effect/landmark/late_join, @@ -67476,6 +67828,19 @@ icon_state = "plate" }, /area/almayer/command/cic) +"teZ" = ( +/obj/structure/machinery/door_control{ + id = "ARES StairsLower"; + name = "ARES Core Lockdown"; + pixel_x = -24; + pixel_y = -8; + req_one_access_txt = "90;91;92" + }, +/turf/open/floor/almayer/aicore/no_build{ + dir = 8; + icon_state = "ai_silver" + }, +/area/almayer/command/airoom) "tfb" = ( /turf/open/floor/almayer{ dir = 8; @@ -67499,6 +67864,12 @@ icon_state = "plate" }, /area/almayer/shipboard/brig/execution_storage) +"tfF" = ( +/turf/open/floor/almayer{ + dir = 6; + icon_state = "orange" + }, +/area/almayer/hallways/upper/midship_hallway) "tfH" = ( /obj/structure/machinery/light/containment, /obj/effect/decal/warning_stripes{ @@ -67656,6 +68027,13 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) +"tie" = ( +/obj/structure/largecrate/supply/floodlights, +/turf/open/floor/almayer{ + dir = 6; + icon_state = "red" + }, +/area/almayer/maint/upper/u_a_p) "tig" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/food/condiment/hotsauce/tabasco{ @@ -67664,12 +68042,6 @@ }, /turf/open/floor/almayer, /area/almayer/squads/alpha) -"tih" = ( -/obj/structure/largecrate/random/case/double, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_p) "tii" = ( /obj/structure/machinery/firealarm{ pixel_x = 6; @@ -67773,10 +68145,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_a_p) -"tiZ" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) "tjj" = ( /turf/open/floor/almayer{ dir = 5; @@ -67801,16 +68169,6 @@ }, /turf/open/floor/almayer, /area/almayer/living/tankerbunks) -"tjz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 4; - pixel_y = -3 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_s) "tjH" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/device/radio/headset/almayer/mt, @@ -67825,6 +68183,16 @@ icon_state = "orange" }, /area/almayer/maint/hull/lower/l_m_s) +"tkd" = ( +/obj/structure/sign/safety/escapepod{ + pixel_y = -32 + }, +/obj/structure/sign/safety/south{ + pixel_x = 15; + pixel_y = -32 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "tkg" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_x = 8; @@ -67852,6 +68220,15 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/weapon_room) +"tkF" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "tkN" = ( /obj/structure/machinery/cm_vending/sorted/cargo_ammo/squad{ req_access = null; @@ -67926,6 +68303,11 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_lobby) +"tlM" = ( +/turf/open/floor/almayer{ + icon_state = "orangecorner" + }, +/area/almayer/maint/upper/u_a_s) "tmg" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/hypospray, @@ -67965,33 +68347,20 @@ icon_state = "redcorner" }, /area/almayer/shipboard/brig/execution) -"tmI" = ( -/obj/structure/machinery/light, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - pixel_x = -1 - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/lifeboat_pumps/south1) -"tmK" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - dir = 1; - req_one_access = null; - req_one_access_txt = "91;92" - }, -/turf/open/floor/almayer/no_build{ - icon_state = "test_floor4" - }, -/area/almayer/command/airoom) "tmQ" = ( /obj/structure/machinery/light/small{ dir = 1 }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/stern) +"tmV" = ( +/obj/structure/machinery/camera/autoname/almayer/containment/ares{ + dir = 8; + autoname = 0; + c_tag = "AI - SecVault" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "tmX" = ( /obj/effect/landmark/start/professor, /obj/effect/landmark/late_join/cmo, @@ -68032,6 +68401,12 @@ "tob" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/u_m_s) +"tof" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/aft_hallway) "tos" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -68109,6 +68484,24 @@ icon_state = "test_floor4" }, /area/almayer/hallways/lower/starboard_fore_hallway) +"toS" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/structure/machinery/door/window/eastright{ + dir = 8; + req_access_txt = "8" + }, +/obj/structure/machinery/door/window/eastleft{ + req_access_txt = "8" + }, +/obj/item/desk_bell{ + pixel_x = -6; + pixel_y = 10; + anchored = 1 + }, +/turf/open/floor/almayer{ + icon_state = "sterile_green" + }, +/area/almayer/medical/lower_medical_medbay) "tpa" = ( /obj/structure/machinery/portable_atmospherics/hydroponics, /obj/structure/window/reinforced{ @@ -68125,20 +68518,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering/port) -"tpj" = ( -/obj/structure/stairs{ - dir = 8; - icon_state = "ramptop" - }, -/obj/effect/projector{ - name = "Almayer_Down2"; - vector_x = 1; - vector_y = -100 - }, -/turf/open/floor/plating/almayer{ - allow_construction = 0 - }, -/area/almayer/hallways/upper/aft_hallway) "tpn" = ( /turf/closed/wall/almayer, /area/almayer/shipboard/brig/evidence_storage) @@ -68189,6 +68568,16 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/vehiclehangar) +"tqu" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/machinery/door_control{ + id = "ARES ReceptStairs1"; + name = "ARES Reception Shutters"; + pixel_y = -24; + req_one_access_txt = "91;92" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "tqE" = ( /obj/structure/machinery/light{ dir = 8 @@ -68262,6 +68651,20 @@ icon_state = "orangecorner" }, /area/almayer/engineering/lower) +"tru" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) +"trx" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/hallways/upper/midship_hallway) "trB" = ( /turf/open/floor/almayer{ dir = 10; @@ -68276,7 +68679,6 @@ icon_state = "W"; pixel_x = -1 }, -/obj/structure/surface/table/almayer, /obj/item/storage/firstaid/o2{ pixel_x = -6; pixel_y = 6 @@ -68293,6 +68695,7 @@ pixel_x = 8; pixel_y = -2 }, +/obj/structure/surface/table/almayer, /turf/open/floor/almayer{ dir = 8; icon_state = "sterile_green_corner" @@ -68328,6 +68731,9 @@ /obj/item/clothing/suit/chef/classic, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/grunt_rnr) +"tsn" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/midship_hallway) "tsr" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/maint/upper/mess) @@ -68407,14 +68813,6 @@ }, /turf/open/floor/plating, /area/almayer/powered/agent) -"tty" = ( -/obj/structure/surface/table/almayer, -/obj/item/clipboard, -/obj/item/paper, -/obj/item/clothing/glasses/mgoggles, -/obj/item/clothing/glasses/mgoggles, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_s) "ttB" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/plating/plating_catwalk, @@ -68535,6 +68933,10 @@ icon_state = "orange" }, /area/almayer/hallways/hangar) +"tuX" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/fore_hallway) "tuZ" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ @@ -68549,15 +68951,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/starboard_midship_hallway) -"tvr" = ( -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "tvt" = ( /obj/structure/window/framed/almayer/hull, /turf/open/floor/plating, @@ -68618,10 +69011,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"tvS" = ( -/obj/docking_port/stationary/escape_pod/south, -/turf/open/floor/plating, -/area/almayer/maint/hull/upper/u_m_s) "twp" = ( /obj/structure/ladder{ height = 1; @@ -68633,23 +69022,6 @@ }, /turf/open/floor/plating/almayer, /area/almayer/maint/hull/lower/l_a_s) -"twq" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/tool/hand_labeler{ - pixel_x = 7 - }, -/obj/item/paper_bin/uscm{ - pixel_y = 5 - }, -/obj/item/tool/pen, -/obj/structure/machinery/computer/working_joe{ - dir = 8; - pixel_x = 17 - }, -/turf/open/floor/almayer{ - icon_state = "sterile_green_side" - }, -/area/almayer/medical/lower_medical_medbay) "twB" = ( /obj/structure/prop/almayer/name_stencil{ icon_state = "almayer2" @@ -68698,19 +69070,13 @@ }, /turf/open/floor/almayer, /area/almayer/living/port_emb) -"txd" = ( +"txf" = ( /obj/structure/disposalpipe/segment{ - dir = 1; + dir = 2; icon_state = "pipe-c" }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_s) "txp" = ( /obj/structure/largecrate/random/barrel/white, /turf/open/floor/plating/plating_catwalk, @@ -68773,6 +69139,15 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/port_emb) +"tyC" = ( +/obj/structure/sign/safety/medical{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "tyD" = ( /turf/open/floor/almayer/research/containment/corner_var1{ dir = 4 @@ -68827,6 +69202,13 @@ icon_state = "test_floor5" }, /area/almayer/medical/hydroponics) +"tzO" = ( +/obj/structure/machinery/cm_vending/sorted/medical/chemistry, +/obj/structure/medical_supply_link, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/almayer/medical/chemistry) "tzP" = ( /obj/structure/barricade/handrail/medical, /turf/open/floor/almayer{ @@ -68855,6 +69237,30 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering/port) +"tAt" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/structure/machinery/door/poddoor/almayer/open{ + dir = 4; + id = "ARES StairsLock"; + name = "ARES Exterior Lockdown" + }, +/obj/effect/step_trigger/ares_alert/access_control, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/disposaloutlet{ + density = 0; + desc = "An outlet for the pneumatic delivery system."; + icon_state = "delivery_outlet"; + name = "returns outlet"; + pixel_y = 28; + range = 0; + pixel_x = -7 + }, +/turf/open/floor/almayer/no_build{ + icon_state = "test_floor4" + }, +/area/almayer/command/airoom) "tAL" = ( /obj/structure/machinery/cryopod, /turf/open/floor/almayer{ @@ -68969,24 +69375,32 @@ }, /area/almayer/hallways/upper/port) "tCC" = ( +/obj/structure/machinery/camera/autoname/almayer/containment/ares{ + dir = 1; + c_tag = "AI - Reception Interior"; + autoname = 0 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) +"tCH" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "orange" +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/area/almayer/maint/hull/upper/u_a_s) -"tCD" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 +/obj/structure/machinery/door/airlock/multi_tile/almayer/secdoor/glass/reinforced{ + closeOtherId = "brignorth"; + dir = 2; + name = "\improper Brig Armoury"; + req_access = null; + req_one_access_txt = "1;3" }, /turf/open/floor/almayer{ - dir = 8; - icon_state = "cargo_arrow" + icon_state = "test_floor4" }, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/shipboard/brig/starboard_hallway) "tCT" = ( /obj/structure/bed/chair/comfy/blue{ dir = 8 @@ -69078,11 +69492,20 @@ icon_state = "test_floor4" }, /area/almayer/command/airoom) -"tFQ" = ( +"tFJ" = ( +/obj/structure/largecrate/supply/supplies/mre, /turf/open/floor/almayer{ - icon_state = "orange" + dir = 1; + icon_state = "red" + }, +/area/almayer/maint/upper/u_a_p) +"tFO" = ( +/obj/structure/largecrate/supply/supplies/flares, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "red" }, -/area/almayer/hallways/upper/stern_hallway) +/area/almayer/maint/upper/u_a_p) "tFS" = ( /obj/structure/machinery/computer/supplycomp, /obj/structure/sign/safety/terminal{ @@ -69166,20 +69589,12 @@ /obj/structure/machinery/light{ dir = 1 }, -/obj/structure/machinery/photocopier{ - anchored = 0 - }, /obj/structure/sign/poster/art{ pixel_y = 32 }, +/obj/structure/machinery/photocopier/wyphotocopier, /turf/open/floor/wood/ship, /area/almayer/command/corporateliaison) -"tGW" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/hallways/upper/stern_hallway) "tHk" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/toolbox, @@ -69271,6 +69686,15 @@ icon_state = "test_floor4" }, /area/almayer/living/port_emb) +"tIu" = ( +/obj/structure/bed/chair/office/dark{ + dir = 8 + }, +/turf/open/floor/almayer/aicore/glowing/no_build{ + icon_state = "ai_floor3"; + light_range = 3 + }, +/area/almayer/command/airoom) "tIF" = ( /obj/structure/largecrate/random/barrel/green, /turf/open/floor/almayer{ @@ -69330,6 +69754,11 @@ icon_state = "plate" }, /area/almayer/living/bridgebunks) +"tJm" = ( +/turf/open/floor/almayer{ + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "tJq" = ( /obj/structure/machinery/light/small{ dir = 1 @@ -69342,21 +69771,6 @@ }, /turf/open/floor/almayer, /area/almayer/squads/charlie_delta_shared) -"tJH" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/hallways/upper/stern_hallway) -"tJN" = ( -/obj/structure/machinery/cryopod/right{ - layer = 3.1; - pixel_y = 13 - }, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_cargo" - }, -/area/almayer/command/airoom) "tJR" = ( /obj/structure/machinery/vending/cigarette, /obj/structure/sign/safety/medical{ @@ -69374,15 +69788,6 @@ icon_state = "green" }, /area/almayer/living/grunt_rnr) -"tKf" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/lifeboat) "tKr" = ( /obj/structure/machinery/cryopod/right{ dir = 2 @@ -69456,13 +69861,16 @@ icon_state = "orange" }, /area/almayer/engineering/lower/workshop/hangar) -"tMT" = ( -/obj/item/tool/weldingtool, -/obj/structure/surface/rack, +"tMi" = ( +/obj/effect/step_trigger/clone_cleaner, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, /turf/open/floor/almayer{ - icon_state = "red" + dir = 8; + icon_state = "green" }, -/area/almayer/maint/hull/upper/u_a_p) +/area/almayer/hallways/upper/fore_hallway) "tMU" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -69512,6 +69920,12 @@ }, /turf/open/floor/almayer, /area/almayer/squads/alpha) +"tNY" = ( +/obj/structure/largecrate/random/case/small, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "tOr" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -69599,20 +70013,6 @@ icon_state = "bluefull" }, /area/almayer/living/briefing) -"tPz" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/aft_hallway) -"tPB" = ( -/obj/effect/projector{ - name = "Almayer_Down2"; - vector_x = 1; - vector_y = -100 - }, -/turf/open/floor/almayer{ - allow_construction = 0 - }, -/area/almayer/hallways/upper/aft_hallway) "tPI" = ( /obj/structure/bed/chair{ dir = 4 @@ -69646,27 +70046,11 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/cryo) -"tQA" = ( -/obj/structure/machinery/door/airlock/almayer/maint/reinforced{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/maint/upper/u_m_s) "tQL" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/machinery/light, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) -"tQO" = ( -/obj/structure/sign/safety/restrictedarea{ - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "tQV" = ( /turf/closed/wall/almayer/outer, /area/almayer/lifeboat_pumps/south1) @@ -69720,15 +70104,16 @@ icon_state = "plate" }, /area/almayer/living/briefing) -"tSY" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 +"tSX" = ( +/obj/structure/surface/table/almayer, +/obj/item/weapon/gun/rifle/l42a{ + pixel_y = 6 }, -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/item/weapon/gun/rifle/l42a, +/turf/open/floor/almayer{ + icon_state = "plate" }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/stern_hallway) +/area/almayer/maint/upper/u_m_s) "tTk" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -69781,6 +70166,11 @@ icon_state = "red" }, /area/almayer/shipboard/brig/starboard_hallway) +"tTZ" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/fore_hallway) "tUh" = ( /obj/structure/disposalpipe/segment{ dir = 8; @@ -69859,12 +70249,6 @@ icon_state = "cargo_arrow" }, /area/almayer/squads/alpha) -"tVs" = ( -/obj/structure/closet, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/upper/u_m_s) "tVx" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -69880,15 +70264,6 @@ /obj/structure/largecrate/random/case, /turf/open/floor/plating, /area/almayer/maint/lower/constr) -"tWf" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "tWi" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 8 @@ -69933,10 +70308,6 @@ icon_state = "silver" }, /area/almayer/hallways/lower/repair_bay) -"tWM" = ( -/obj/docking_port/stationary/escape_pod/north, -/turf/open/floor/plating, -/area/almayer/maint/upper/u_m_s) "tWY" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -69957,6 +70328,17 @@ icon_state = "test_floor4" }, /area/almayer/medical/upper_medical) +"tXa" = ( +/obj/item/storage/toolbox/mechanical{ + pixel_y = 13 + }, +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "tXb" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/bed/chair/comfy/charlie{ @@ -70116,12 +70498,6 @@ icon_state = "test_floor4" }, /area/almayer/hallways/upper/port) -"tZM" = ( -/obj/structure/sink{ - pixel_y = 24 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_s) "tZZ" = ( /obj/structure/machinery/cryopod, /obj/effect/decal/warning_stripes{ @@ -70218,6 +70594,14 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, /area/almayer/command/computerlab) +"ubv" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/fore_hallway) "ubA" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -70247,18 +70631,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/starboard_aft_hallway) -"uch" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/aft_hallway) "ucp" = ( /obj/structure/window/framed/almayer, /turf/open/floor/plating, @@ -70333,6 +70705,15 @@ icon_state = "dark_sterile" }, /area/almayer/medical/lower_medical_lobby) +"udv" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "udx" = ( /obj/structure/machinery/vending/snack, /turf/open/floor/almayer{ @@ -70410,6 +70791,13 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/u_f_p) +"uey" = ( +/obj/structure/machinery/cm_vending/sorted/medical/bolted, +/obj/structure/medical_supply_link/green, +/turf/open/floor/almayer{ + icon_state = "sterile_green_side" + }, +/area/almayer/medical/lockerroom) "ueG" = ( /obj/item/bedsheet/orange, /obj/structure/bed{ @@ -70434,6 +70822,10 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) +"ueY" = ( +/obj/structure/machinery/light, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_s) "ueZ" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /obj/structure/machinery/door/airlock/multi_tile/almayer/marine/alpha{ @@ -70480,6 +70872,16 @@ icon_state = "orange" }, /area/almayer/maint/hull/lower/l_m_s) +"ugo" = ( +/obj/item/tool/weldpack{ + pixel_y = 15 + }, +/obj/structure/surface/table/almayer, +/obj/item/clothing/head/welding, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "ugu" = ( /obj/structure/machinery/cm_vending/sorted/marine_food, /turf/open/floor/almayer, @@ -70571,6 +70973,12 @@ icon_state = "cargo_arrow" }, /area/almayer/living/offices) +"uig" = ( +/obj/structure/largecrate/supply/floodlights, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_p) "uiC" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -70620,12 +71028,6 @@ icon_state = "test_floor4" }, /area/almayer/command/cichallway) -"ujf" = ( -/obj/structure/largecrate/random/barrel/yellow, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/upper/u_m_s) "ujz" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/simple/hidden/supply, @@ -70753,16 +71155,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) -"umD" = ( -/obj/structure/sign/safety/storage{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "umI" = ( /obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer{ @@ -70839,16 +71231,6 @@ icon_state = "plate" }, /area/almayer/living/pilotbunks) -"unU" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/structure/machinery/cm_vending/sorted/medical/bolted, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "sterile_green_side" - }, -/area/almayer/medical/lower_medical_medbay) "unZ" = ( /obj/structure/platform{ dir = 1 @@ -70929,6 +71311,13 @@ /obj/structure/largecrate/random/case/double, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/u_m_p) +"upW" = ( +/obj/structure/sign/safety/intercom{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "uqd" = ( /obj/structure/surface/table/almayer, /obj/effect/decal/warning_stripes{ @@ -70978,6 +71367,17 @@ "uqo" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/armory) +"uqs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/secure_closet/guncabinet, +/obj/item/weapon/gun/rifle/m41a{ + pixel_y = 6 + }, +/obj/item/weapon/gun/rifle/m41a, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "uqA" = ( /obj/structure/machinery/firealarm{ dir = 8; @@ -70994,15 +71394,6 @@ }, /turf/open/floor/almayer, /area/almayer/command/lifeboat) -"uqJ" = ( -/turf/open/floor/almayer{ - icon_state = "orangecorner" - }, -/area/almayer/maint/hull/upper/u_a_s) -"urg" = ( -/obj/docking_port/stationary/escape_pod/east, -/turf/open/floor/plating, -/area/almayer/maint/hull/upper/u_m_p) "urk" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -71013,12 +71404,6 @@ icon_state = "orangecorner" }, /area/almayer/hallways/lower/starboard_umbilical) -"urs" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "ury" = ( /obj/structure/bed/chair{ dir = 8 @@ -71031,23 +71416,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_f_p) -"urL" = ( -/obj/structure/prop/invuln/overhead_pipe{ - dir = 4; - pixel_y = 13 - }, -/obj/structure/prop/invuln/overhead_pipe{ - dir = 4; - pixel_x = -16; - pixel_y = 13 - }, -/obj/structure/prop/invuln/overhead_pipe{ - dir = 4; - pixel_x = 12; - pixel_y = 13 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/upper/u_m_s) "urM" = ( /obj/structure/machinery/light{ dir = 8 @@ -71085,6 +71453,15 @@ icon_state = "redfull" }, /area/almayer/shipboard/panic) +"usu" = ( +/obj/structure/surface/rack, +/obj/item/roller, +/obj/item/roller, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_s) "usy" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -71096,15 +71473,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/medical_science) -"usL" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/port) "usX" = ( /obj/structure/disposalpipe/segment{ dir = 1; @@ -71146,15 +71514,9 @@ icon_state = "cargo" }, /area/almayer/engineering/upper_engineering) -"utC" = ( -/obj/structure/machinery/portable_atmospherics/canister/air, -/obj/structure/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/almayer{ - icon_state = "cargo" - }, -/area/almayer/maint/hull/upper/u_a_s) +"utp" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_f_s) "utK" = ( /obj/structure/machinery/light{ dir = 4 @@ -71185,6 +71547,18 @@ }, /turf/open/floor/almayer, /area/almayer/squads/bravo) +"uul" = ( +/obj/structure/pipes/standard/cap/hidden{ + dir = 4 + }, +/obj/structure/sign/safety/life_support{ + pixel_x = 14; + pixel_y = -25 + }, +/turf/open/floor/almayer{ + icon_state = "mono" + }, +/area/almayer/lifeboat_pumps/south2) "uun" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -71294,18 +71668,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/s_bow) -"uvq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "uvt" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -71358,10 +71720,6 @@ icon_state = "red" }, /area/almayer/shipboard/brig/cells) -"uwf" = ( -/obj/structure/machinery/light, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_s) "uws" = ( /obj/structure/machinery/light{ dir = 4 @@ -71436,12 +71794,6 @@ icon_state = "emerald" }, /area/almayer/squads/charlie) -"uxs" = ( -/obj/structure/machinery/pipedispenser/orderable, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "uxC" = ( /obj/structure/machinery/light{ dir = 4 @@ -71498,12 +71850,14 @@ "uyH" = ( /turf/closed/wall/almayer/research/containment/wall/divide, /area/almayer/medical/containment/cell) -"uyJ" = ( -/obj/structure/machinery/cm_vending/sorted/medical/chemistry, +"uyQ" = ( +/obj/structure/largecrate/random/case{ + layer = 2.98 + }, /turf/open/floor/almayer{ - icon_state = "dark_sterile" + icon_state = "plate" }, -/area/almayer/medical/chemistry) +/area/almayer/maint/upper/u_a_s) "uzv" = ( /obj/structure/bed/chair{ dir = 8; @@ -71525,37 +71879,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/ce_room) -"uzH" = ( -/obj/structure/machinery/door/airlock/almayer/medical/glass{ - name = "\improper Brig Medbay"; - req_access = null; - req_one_access = null; - req_one_access_txt = "20;3"; - closeOtherId = "brigmed" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/medical) "uAb" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out" }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/hangar) -"uAi" = ( -/obj/structure/sign/safety/maint{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "uAj" = ( /obj/structure/bed/chair, /obj/effect/decal/cleanable/dirt, @@ -71618,6 +71947,20 @@ /obj/item/toy/plush/farwa, /turf/open/floor/wood/ship, /area/almayer/shipboard/brig/cells) +"uAP" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/obj/structure/sign/safety/autoopenclose{ + pixel_x = 7; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "uAW" = ( /obj/structure/machinery/cryopod{ layer = 3.1; @@ -71667,6 +72010,13 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/u_m_p) +"uBG" = ( +/obj/item/tool/weldingtool, +/obj/structure/surface/rack, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/maint/upper/u_a_p) "uBM" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 5 @@ -71897,6 +72247,15 @@ icon_state = "green" }, /area/almayer/hallways/lower/port_midship_hallway) +"uGi" = ( +/obj/structure/machinery/suit_storage_unit/compression_suit/uscm, +/obj/structure/machinery/alarm/almayer{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hallways/lower/starboard_umbilical) "uGN" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, @@ -71939,11 +72298,6 @@ icon_state = "plate" }, /area/almayer/maint/lower/s_bow) -"uIa" = ( -/turf/open/floor/almayer{ - icon_state = "greencorner" - }, -/area/almayer/hallways/upper/aft_hallway) "uIv" = ( /turf/open/floor/almayer{ icon_state = "orange" @@ -72042,16 +72396,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_a_s) -"uKv" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/device/multitool{ - desc = "A large handheld tool used to override various machine functions. Primarily used to pulse Airlock and APC wires on a shortwave frequency. It contains a small data buffer as well. This one is comically oversized. Made in Texas."; - icon_state = "multitool_big"; - name = "\improper Oversized Security Access Tuner"; - pixel_y = 8 - }, -/turf/open/floor/almayer, -/area/almayer/squads/alpha_bravo_shared) "uKH" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -72130,6 +72474,27 @@ icon_state = "emerald" }, /area/almayer/living/port_emb) +"uMO" = ( +/obj/effect/projector{ + name = "Almayer_AresDown"; + vector_x = 96; + vector_y = -65 + }, +/obj/structure/platform{ + dir = 4 + }, +/obj/structure/stairs{ + dir = 1; + icon_state = "ramptop" + }, +/obj/structure/machinery/door_control{ + id = "ARES StairsUpper"; + name = "ARES Core Access"; + pixel_x = 24; + req_one_access_txt = "90;91;92" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "uMS" = ( /turf/open/floor/almayer{ dir = 5; @@ -72210,17 +72575,17 @@ }, /turf/open/floor/almayer, /area/almayer/command/lifeboat) -"uOi" = ( -/turf/closed/wall/almayer/outer, -/area/almayer/lifeboat_pumps/south2) -"uOE" = ( -/obj/structure/pipes/vents/pump{ - dir = 1 +"uOh" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "test_floor4" }, -/area/almayer/maint/hull/upper/u_a_p) +/area/almayer/hallways/upper/fore_hallway) +"uOi" = ( +/turf/closed/wall/almayer/outer, +/area/almayer/lifeboat_pumps/south2) "uOJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer{ @@ -72236,12 +72601,22 @@ "uPE" = ( /turf/open/floor/almayer, /area/almayer/hallways/lower/port_aft_hallway) -"uPN" = ( -/obj/item/tool/wirecutters/clippers, -/turf/open/floor/almayer{ - icon_state = "plate" +"uPI" = ( +/obj/structure/surface/table/reinforced/almayer_B{ + indestructible = 1; + unacidable = 1; + unslashable = 1 }, -/area/almayer/maint/hull/upper/u_a_s) +/obj/structure/transmitter/rotary{ + name = "AI Reception Telephone"; + phone_category = "ARES"; + phone_color = "blue"; + phone_id = "AI Reception" + }, +/turf/open/floor/almayer/no_build{ + icon_state = "ai_floors" + }, +/area/almayer/command/airoom) "uPP" = ( /obj/structure/machinery/door/airlock/almayer/engineering{ dir = 2; @@ -72273,11 +72648,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/starboard_aft_hallway) -"uQi" = ( -/turf/open/floor/almayer{ - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "uQm" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -72382,6 +72752,15 @@ icon_state = "red" }, /area/almayer/hallways/upper/port) +"uSk" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) "uSH" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/reagent_dispensers/water_cooler{ @@ -72417,20 +72796,17 @@ icon_state = "plating" }, /area/almayer/engineering/lower/engine_core) -"uSZ" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) "uTk" = ( /obj/structure/largecrate/random/secure, /turf/open/floor/plating, /area/almayer/maint/lower/constr) +"uTl" = ( +/obj/structure/surface/table/almayer, +/obj/item/weapon/gun/rifle/m41a, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "uTs" = ( /obj/structure/machinery/door/poddoor/almayer/open{ dir = 4; @@ -72594,6 +72970,18 @@ }, /turf/open/floor/plating, /area/almayer/engineering/upper_engineering/port) +"uUB" = ( +/obj/structure/surface/table/reinforced/almayer_B{ + indestructible = 1; + unacidable = 1; + unslashable = 1 + }, +/obj/item/paper_bin/uscm{ + pixel_y = 6 + }, +/obj/item/tool/pen, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "uVc" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 1 @@ -72608,15 +72996,6 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) -"uVg" = ( -/obj/structure/sign/safety/maint{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - dir = 10; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "uVh" = ( /obj/structure/filingcabinet/seeds, /turf/open/floor/almayer{ @@ -72669,18 +73048,27 @@ icon_state = "plate" }, /area/almayer/living/pilotbunks) -"uVZ" = ( +"uVY" = ( +/obj/structure/largecrate/random/case/small, /turf/open/floor/almayer{ - dir = 5; - icon_state = "green" + icon_state = "plate" }, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/maint/upper/u_m_p) "uWc" = ( /obj/structure/surface/table/almayer, /turf/open/floor/almayer{ icon_state = "emeraldfull" }, /area/almayer/living/briefing) +"uWk" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer{ + dir = 9; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "uWm" = ( /obj/effect/projector{ name = "Almayer_Up4"; @@ -72767,6 +73155,13 @@ icon_state = "test_floor4" }, /area/almayer/shipboard/brig/interrogation) +"uXE" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/hallways/upper/midship_hallway) "uXL" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -72856,12 +73251,6 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) -"uZI" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "bluecorner" - }, -/area/almayer/hallways/upper/aft_hallway) "uZV" = ( /obj/structure/reagent_dispensers/fueltank/gas/methane{ anchored = 1 @@ -72893,25 +73282,6 @@ /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/starboard_fore_hallway) -"vaM" = ( -/obj/structure/machinery/power/apc/almayer{ - dir = 1 - }, -/obj/structure/sign/safety/hazard{ - pixel_y = 32 - }, -/obj/structure/sign/safety/airlock{ - pixel_x = 15; - pixel_y = 32 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hallways/lower/starboard_umbilical) "vaQ" = ( /obj/structure/machinery/door/airlock/almayer/medical{ dir = 1; @@ -72952,16 +73322,29 @@ icon_state = "plate" }, /area/almayer/hallways/hangar) -"vbu" = ( -/obj/structure/surface/table/almayer, -/obj/item/tool/weldpack, -/obj/item/storage/toolbox/mechanical, -/obj/item/reagent_container/spray/cleaner, -/turf/open/floor/almayer{ +"vbo" = ( +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + closeOtherId = "brigcells"; + name = "\improper Brig Prisoner Yard" + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 8 + }, +/obj/structure/machinery/door/poddoor/almayer/open{ dir = 4; - icon_state = "orange" + id = "courtyard_cells"; + name = "\improper Courtyard Lockdown Shutter" }, -/area/almayer/maint/hull/upper/u_a_s) +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/processing) "vbB" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/lifeboat_pumps/south1) @@ -73014,6 +73397,15 @@ icon_state = "plate" }, /area/almayer/medical/morgue) +"vbU" = ( +/obj/structure/sign/safety/maint{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "vbV" = ( /obj/structure/bed/chair/wheelchair{ dir = 1 @@ -73066,6 +73458,14 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/south2) +"vcG" = ( +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_y = 28 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "vcI" = ( /obj/effect/decal/cleanable/blood/oil/streak, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -73073,15 +73473,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/u_f_s) -"vcO" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "red" - }, -/area/almayer/hallways/upper/aft_hallway) "vdl" = ( /obj/structure/window/reinforced/ultra{ pixel_y = -12 @@ -73129,14 +73520,15 @@ icon_state = "mono" }, /area/almayer/medical/medical_science) -"vdT" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 +"vdR" = ( +/obj/structure/sign/safety/maint{ + pixel_x = -17 }, /turf/open/floor/almayer{ - icon_state = "plate" + dir = 9; + icon_state = "red" }, -/area/almayer/maint/upper/u_m_s) +/area/almayer/lifeboat_pumps/south2) "ven" = ( /obj/structure/bed/chair, /turf/open/floor/almayer{ @@ -73159,27 +73551,6 @@ icon_state = "emeraldfull" }, /area/almayer/living/briefing) -"veO" = ( -/obj/structure/closet/secure_closet/guncabinet, -/obj/item/weapon/gun/rifle/l42a{ - pixel_y = 6 - }, -/obj/item/weapon/gun/rifle/l42a, -/obj/item/weapon/gun/rifle/l42a{ - pixel_y = -6 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_s) -"veW" = ( -/obj/structure/machinery/door/airlock/almayer/generic/glass{ - name = "\improper Passenger Cryogenics Bay" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/maint/hull/upper/u_m_p) "vfa" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -73317,6 +73688,12 @@ "vgO" = ( /turf/closed/wall/almayer/research/containment/wall/east, /area/almayer/medical/containment/cell) +"vhb" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "red" + }, +/area/almayer/maint/upper/u_a_p) "vhe" = ( /obj/structure/filingcabinet{ density = 0; @@ -73426,6 +73803,15 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/port_emb) +"viv" = ( +/obj/structure/bed/sofa/south/white/right{ + pixel_y = 16 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "silver" + }, +/area/almayer/maint/upper/u_m_p) "viB" = ( /obj/structure/pipes/standard/manifold/hidden/supply/no_boom{ dir = 1 @@ -73463,16 +73849,6 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south1) -"vjd" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/command/lifeboat) "vjg" = ( /obj/structure/prop/almayer/missile_tube{ icon_state = "missiletubesouth" @@ -73483,29 +73859,6 @@ icon_state = "plating" }, /area/almayer/shipboard/port_missiles) -"vjk" = ( -/obj/structure/machinery/camera/autoname/almayer{ - name = "ship-grade camera" - }, -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, -/obj/structure/machinery/suit_storage_unit/compression_suit/uscm, -/obj/structure/sign/safety/hazard{ - pixel_y = 32 - }, -/obj/structure/sign/safety/airlock{ - pixel_x = 15; - pixel_y = 32 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/hallways/lower/starboard_umbilical) "vjv" = ( /obj/effect/decal/cleanable/blood/oil, /obj/structure/pipes/standard/simple/hidden/supply{ @@ -73656,12 +74009,6 @@ icon_state = "plate" }, /area/almayer/maint/lower/s_bow) -"vkQ" = ( -/turf/open/floor/almayer{ - dir = 5; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "vkR" = ( /obj/structure/machinery/power/apc/almayer{ dir = 1 @@ -73672,10 +74019,6 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) -"vkV" = ( -/obj/effect/landmark/start/liaison, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_m_p) "vlk" = ( /obj/structure/closet/emcloset, /obj/item/clothing/mask/gas, @@ -73744,13 +74087,6 @@ icon_state = "plate" }, /area/almayer/living/port_emb) -"vlR" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "vlX" = ( /obj/structure/machinery/cm_vending/sorted/cargo_guns/squad_prep, /turf/open/floor/almayer{ @@ -73776,12 +74112,6 @@ "vmq" = ( /turf/open/floor/almayer, /area/almayer/maint/hull/lower/l_m_s) -"vmu" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_p) "vmE" = ( /turf/open/floor/almayer{ icon_state = "orangecorner" @@ -73838,16 +74168,13 @@ "vnY" = ( /turf/open/floor/almayer, /area/almayer/hallways/lower/repair_bay) -"vnZ" = ( -/obj/structure/machinery/light, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/manifold/hidden/supply, +"voj" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer{ - icon_state = "orange" + icon_state = "mono" }, -/area/almayer/hallways/upper/stern_hallway) +/area/almayer/hallways/upper/fore_hallway) "vop" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -73864,6 +74191,77 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_m_p) +"vou" = ( +/obj/structure/surface/rack{ + desc = "A bunch of metal shelves stacked on top of eachother. Excellent for storage purposes, less so as cover. One of the shelf legs is damaged, resulting in the rack being propped up by what appears to be circuit boards." + }, +/obj/structure/machinery/light/small{ + dir = 4; + icon_state = "bulb-burned"; + status = 3 + }, +/obj/effect/decal/cleanable/blood, +/obj/item/prop{ + desc = "A blood bag with a hole in it. The rats must have gotten to it first."; + icon = 'icons/obj/items/bloodpack.dmi'; + icon_state = "bloodpack"; + name = "blood bag" + }, +/obj/item/prop{ + desc = "A blood bag with a hole in it. The rats must have gotten to it first."; + icon = 'icons/obj/items/bloodpack.dmi'; + icon_state = "bloodpack"; + name = "blood bag" + }, +/obj/item/prop{ + desc = "A blood bag with a hole in it. The rats must have gotten to it first."; + icon = 'icons/obj/items/bloodpack.dmi'; + icon_state = "bloodpack"; + name = "blood bag" + }, +/obj/item/prop{ + desc = "The words \"Cloning Pod\" are scrawled onto it. It appears to be heavily damaged."; + icon = 'icons/obj/items/circuitboards.dmi'; + icon_state = "id_mod"; + layer = 2.78; + name = "circuit board"; + pixel_x = 8; + pixel_y = 10 + }, +/obj/item/prop{ + desc = "The words \"Cloning Scanner\" are scrawled onto it. It appears to be heavily damaged."; + icon = 'icons/obj/items/circuitboards.dmi'; + icon_state = "id_mod"; + layer = 2.79; + name = "circuit board"; + pixel_x = 8; + pixel_y = 7 + }, +/turf/open/floor/almayer{ + icon_state = "sterile_green_corner" + }, +/area/almayer/medical/lower_medical_medbay) +"voV" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + pixel_x = -1 + }, +/obj/structure/machinery/door/airlock/almayer/research/reinforced{ + closeOtherId = "containment_n"; + dir = 8; + name = "\improper Containment Airlock" + }, +/obj/structure/machinery/door/poddoor/almayer/biohazard/white{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/medical/containment) "vpe" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/machinery/door/airlock/almayer/engineering/reinforced/OT{ @@ -73896,6 +74294,23 @@ /obj/item/clothing/mask/cigarette/weed, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering/port) +"vpH" = ( +/obj/structure/surface/table/reinforced/almayer_B{ + indestructible = 1; + unacidable = 1; + unslashable = 1 + }, +/obj/item/desk_bell{ + pixel_y = 14; + pixel_x = -5; + anchored = 1 + }, +/obj/structure/machinery/computer/working_joe{ + layer = 3.3; + dir = 8 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "vpI" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -73964,6 +74379,20 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) +"vqI" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/item/device/camera_film{ + pixel_x = 4; + pixel_y = 1; + layer = 3.03 + }, +/obj/item/stack/sheet/cardboard/small_stack{ + pixel_x = -5; + pixel_y = 3; + layer = 3.02 + }, +/turf/open/floor/almayer, +/area/almayer/squads/charlie_delta_shared) "vqK" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/almayer{ @@ -74213,16 +74642,6 @@ icon_state = "plate" }, /area/almayer/engineering/lower/workshop) -"vuE" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/hallways/upper/aft_hallway) "vuF" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ access_modified = 1; @@ -74363,6 +74782,12 @@ icon_state = "dark_sterile" }, /area/almayer/living/port_emb) +"vwj" = ( +/obj/structure/machinery/power/apc/almayer, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_p) "vwC" = ( /obj/effect/step_trigger/clone_cleaner, /obj/effect/decal/warning_stripes{ @@ -74392,13 +74817,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/grunt_rnr) -"vwJ" = ( -/obj/structure/largecrate/random/case/double, -/obj/structure/machinery/light/small, +"vwT" = ( /turf/open/floor/almayer{ - icon_state = "plate" + dir = 4; + icon_state = "blue" }, -/area/almayer/maint/hull/upper/u_m_p) +/area/almayer/hallways/upper/midship_hallway) "vwU" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, @@ -74420,22 +74844,6 @@ /obj/structure/machinery/light, /turf/open/floor/almayer, /area/almayer/hallways/hangar) -"vxh" = ( -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - dir = 2; - id = "Warden Office Shutters"; - name = "\improper Privacy Shutters" - }, -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - dir = 1; - name = "\improper Warden's Office"; - closeOtherId = "brigwarden" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/warden_office) "vxu" = ( /obj/structure/machinery/meter, /obj/structure/pipes/standard/simple/visible{ @@ -74544,6 +74952,15 @@ "vyB" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/vehiclehangar) +"vyE" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/almayer/aicore/no_build{ + dir = 4; + icon_state = "ai_arrow" + }, +/area/almayer/command/airoom) "vyH" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -74611,15 +75028,6 @@ "vzK" = ( /turf/open/floor/almayer, /area/almayer/engineering/ce_room) -"vzO" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - req_one_access = null; - req_one_access_txt = "2;30;34" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/maint/upper/u_m_s) "vzP" = ( /obj/structure/surface/table/almayer, /obj/item/storage/box/cups, @@ -74715,15 +75123,6 @@ icon_state = "mono" }, /area/almayer/medical/medical_science) -"vAU" = ( -/obj/structure/pipes/vents/scrubber/no_boom{ - dir = 4 - }, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_silver"; - dir = 8 - }, -/area/almayer/command/airoom) "vBp" = ( /obj/structure/bed/chair/comfy{ dir = 1 @@ -74781,6 +75180,18 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/hydroponics) +"vCt" = ( +/obj/structure/sign/safety/storage{ + pixel_x = 8; + pixel_y = -32 + }, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/north1) +"vCv" = ( +/turf/open/floor/almayer{ + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/midship_hallway) "vCx" = ( /obj/structure/machinery/status_display{ pixel_y = -30 @@ -74804,6 +75215,22 @@ /obj/structure/largecrate/random/barrel/yellow, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/s_bow) +"vCH" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + layer = 3.3 + }, +/obj/structure/machinery/camera/autoname/almayer/containment/ares{ + dir = 4; + c_tag = "AI - Primary Processors"; + autoname = 0 + }, +/turf/open/floor/almayer/aicore/glowing/no_build, +/area/almayer/command/airoom) "vCO" = ( /obj/effect/landmark/start/bridge, /turf/open/floor/plating/plating_catwalk, @@ -74835,13 +75262,6 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/port_aft_hallway) -"vDt" = ( -/obj/item/stool, -/obj/effect/landmark/yautja_teleport, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/upper/u_m_s) "vDz" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 9 @@ -74855,14 +75275,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_m_p) -"vDR" = ( -/obj/structure/surface/rack, -/obj/item/tool/wet_sign, -/obj/item/tool/wet_sign, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_p) "vEf" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -74925,6 +75337,12 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_f_s) +"vER" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "red" + }, +/area/almayer/hallways/upper/aft_hallway) "vEV" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -74966,19 +75384,6 @@ icon_state = "mono" }, /area/almayer/lifeboat_pumps/north1) -"vFy" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out" - }, -/obj/effect/step_trigger/clone_cleaner, -/obj/structure/sign/safety/stairs{ - pixel_x = -17 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "vFH" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -74998,6 +75403,16 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_f_p) +"vGi" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/aft_hallway) "vGn" = ( /turf/open/floor/almayer{ dir = 1; @@ -75026,6 +75441,15 @@ icon_state = "dark_sterile" }, /area/almayer/living/numbertwobunks) +"vGQ" = ( +/obj/structure/machinery/light{ + dir = 4 + }, +/obj/structure/bed/chair{ + dir = 8 + }, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/north1) "vHa" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/structure/machinery/computer/ares_console{ @@ -75133,22 +75557,6 @@ icon_state = "plate" }, /area/almayer/command/cic) -"vHA" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/starboard) "vHO" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -75161,6 +75569,16 @@ icon_state = "containment_corner_variant_2" }, /area/almayer/medical/containment/cell) +"vHP" = ( +/obj/structure/surface/table/almayer, +/obj/item/paper_bin{ + pixel_x = -6; + pixel_y = 7 + }, +/obj/item/tool/pen, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_f_s) "vHW" = ( /obj/structure/surface/rack, /obj/item/tool/extinguisher, @@ -75187,20 +75605,22 @@ icon_state = "test_floor4" }, /area/almayer/maint/hull/lower/l_a_s) -"vIr" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/aft_hallway) +"vIo" = ( +/turf/closed/wall/almayer, +/area/almayer/maint/upper/u_f_p) "vIu" = ( /obj/structure/machinery/light{ dir = 4 }, /turf/open/floor/almayer, /area/almayer/command/cichallway) +"vIZ" = ( +/obj/structure/pipes/standard/manifold/hidden/supply, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "vJc" = ( /turf/open/floor/almayer{ dir = 4; @@ -75270,6 +75690,23 @@ icon_state = "plate" }, /area/almayer/living/briefing) +"vKr" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 1 + }, +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + closeOtherId = "brigcells"; + dir = 1; + name = "\improper Brig Prison Yard And Offices" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/processing) "vKB" = ( /obj/structure/closet/secure_closet/guncabinet/red/mp_armory_m4ra_rifle, /obj/structure/machinery/light/small{ @@ -75277,13 +75714,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/armory) -"vKF" = ( -/obj/structure/machinery/cm_vending/sorted/medical, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "sterile_green_side" - }, -/area/almayer/shipboard/brig/medical) "vKI" = ( /obj/structure/machinery/light{ dir = 1 @@ -75321,6 +75751,16 @@ icon_state = "silver" }, /area/almayer/hallways/lower/repair_bay) +"vLz" = ( +/obj/structure/machinery/door_control{ + id = "ARES Mainframe Right"; + name = "ARES Mainframe Lockdown"; + pixel_x = -24; + pixel_y = -24; + req_one_access_txt = "200;91;92" + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "vLA" = ( /obj/effect/decal/warning_stripes{ icon_state = "W"; @@ -75349,6 +75789,12 @@ /obj/effect/landmark/start/otech, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/offices) +"vMt" = ( +/turf/open/floor/almayer/aicore/no_build{ + dir = 8; + icon_state = "ai_silver" + }, +/area/almayer/command/airoom) "vMA" = ( /obj/structure/machinery/firealarm{ pixel_y = 28 @@ -75411,10 +75857,6 @@ icon_state = "plate" }, /area/almayer/living/briefing) -"vMQ" = ( -/obj/docking_port/stationary/escape_pod/north, -/turf/open/floor/plating, -/area/almayer/maint/hull/upper/u_m_p) "vMU" = ( /obj/effect/decal/warning_stripes{ icon_state = "NE-out"; @@ -75425,6 +75867,13 @@ icon_state = "redcorner" }, /area/almayer/hallways/lower/port_fore_hallway) +"vNo" = ( +/obj/structure/largecrate/random/case/double, +/obj/structure/machinery/light/small, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_p) "vNp" = ( /obj/structure/sign/safety/three{ pixel_x = -17 @@ -75619,6 +76068,12 @@ icon_state = "redfull" }, /area/almayer/engineering/lower/workshop/hangar) +"vPT" = ( +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_s) "vPW" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -75652,6 +76107,14 @@ /obj/item/device/camera, /turf/open/floor/almayer, /area/almayer/command/computerlab) +"vQN" = ( +/obj/structure/sign/safety/restrictedarea{ + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "vQR" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/wood/ship, @@ -75697,16 +76160,17 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/starboard) -"vRJ" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - dir = 1; - name = "\improper Emergency Air Storage" +"vRA" = ( +/obj/effect/step_trigger/teleporter_vector{ + name = "Almayer_AresDown"; + vector_x = 96; + vector_y = -65 }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer{ - icon_state = "test_floor4" +/obj/structure/stairs{ + dir = 1 }, -/area/almayer/maint/hull/upper/u_a_s) +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "vRR" = ( /obj/effect/step_trigger/clone_cleaner, /obj/effect/decal/warning_stripes{ @@ -75835,6 +76299,14 @@ icon_state = "plate" }, /area/almayer/engineering/upper_engineering) +"vTE" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/upper/u_a_s) "vTM" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/toolbox, @@ -75857,21 +76329,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/lower) -"vTV" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" - }, -/obj/structure/machinery/door_control{ - id = "OTStore"; - name = "Shutters"; - pixel_y = -24 - }, -/obj/structure/surface/rack, -/obj/item/reagent_container/glass/bucket/janibucket, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/engineering/lower/workshop/hangar) "vTX" = ( /obj/structure/sign/safety/distribution_pipes{ pixel_y = -32 @@ -75901,6 +76358,20 @@ /obj/structure/machinery/light, /turf/open/floor/almayer, /area/almayer/command/lifeboat) +"vUn" = ( +/obj/structure/machinery/camera/autoname/almayer{ + dir = 8; + name = "ship-grade camera" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + dir = 8; + icon_state = "red" + }, +/area/almayer/hallways/upper/port) "vUI" = ( /obj/structure/bed/chair/comfy/orange{ dir = 8 @@ -75922,15 +76393,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_a_p) -"vUO" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "vUP" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/shipboard/brig/cic_hallway) @@ -75952,6 +76414,13 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/living/briefing) +"vVk" = ( +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/turf/closed/wall/almayer/aicore/hull, +/area/almayer/command/airoom) "vVs" = ( /turf/open/floor/almayer{ icon_state = "sterile_green" @@ -75996,9 +76465,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_lobby) -"vVY" = ( -/turf/open/floor/plating, -/area/almayer/maint/hull/upper/u_m_s) "vVZ" = ( /obj/structure/machinery/door/airlock/almayer/maint, /obj/structure/disposalpipe/segment{ @@ -76153,12 +76619,6 @@ }, /turf/open/floor/almayer/aicore/glowing/no_build, /area/almayer/command/airoom) -"vXk" = ( -/turf/open/floor/almayer{ - dir = 8; - icon_state = "red" - }, -/area/almayer/hallways/upper/stern_hallway) "vXo" = ( /obj/structure/disposalpipe/segment{ dir = 4; @@ -76196,6 +76656,28 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/vehiclehangar) +"vYi" = ( +/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ + closeOtherId = "brigwarden"; + name = "\improper Warden's Office" + }, +/obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; + id = "Warden Office Shutters"; + name = "\improper Privacy Shutters" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 8 + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + dir = 4; + id = "courtyard_cells"; + name = "\improper Courtyard Lockdown Shutter" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/warden_office) "vYm" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, @@ -76281,25 +76763,24 @@ "vZw" = ( /turf/open/floor/almayer/research/containment/floor2, /area/almayer/medical/containment/cell/cl) -"vZU" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/power/apc/almayer{ +"vZI" = ( +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/machinery/cell_charger, -/obj/structure/sign/safety/high_rad{ - pixel_x = 32; - pixel_y = -8 - }, -/obj/structure/sign/safety/hazard{ - pixel_x = 32; - pixel_y = 7 +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, /turf/open/floor/almayer{ dir = 4; - icon_state = "orange" + icon_state = "blue" }, -/area/almayer/engineering/lower) +/area/almayer/hallways/upper/midship_hallway) +"vZJ" = ( +/turf/open/floor/almayer{ + dir = 6; + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "wac" = ( /obj/structure/window/reinforced{ dir = 8; @@ -76331,17 +76812,12 @@ icon_state = "red" }, /area/almayer/hallways/upper/port) -"waV" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1; - pixel_y = 1 - }, +"waP" = ( +/obj/structure/closet/firecloset, /turf/open/floor/almayer{ - dir = 8; - icon_state = "red" + icon_state = "cargo" }, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/hallways/upper/fore_hallway) "wbu" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/machinery/camera/autoname/almayer{ @@ -76506,25 +76982,6 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) -"wdo" = ( -/obj/structure/machinery/door/airlock/almayer/research/reinforced{ - dir = 8; - name = "\improper Containment Airlock"; - closeOtherId = "containment_s" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/obj/structure/machinery/door/poddoor/almayer/biohazard/white{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/medical/medical_science) "wdv" = ( /obj/structure/machinery/door/airlock/almayer/maint{ name = "\improper Core Hatch" @@ -76545,6 +77002,14 @@ /obj/effect/landmark/late_join/charlie, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/charlie) +"wdE" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/midship_hallway) "wdF" = ( /turf/open/floor/almayer{ allow_construction = 0 @@ -76618,16 +77083,6 @@ icon_state = "plate" }, /area/almayer/hallways/lower/repair_bay) -"wes" = ( -/obj/structure/machinery/cm_vending/sorted/medical/marinemed, -/obj/structure/sign/safety/medical{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/shipboard/panic) "wex" = ( /obj/structure/sign/safety/bathunisex{ pixel_x = 8; @@ -76739,6 +77194,16 @@ icon_state = "plate" }, /area/almayer/shipboard/port_point_defense) +"whc" = ( +/obj/structure/sign/safety/medical{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "whm" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12 @@ -76765,6 +77230,10 @@ icon_state = "silver" }, /area/almayer/command/cichallway) +"whO" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_s) "whQ" = ( /obj/structure/closet/secure_closet/personal/cabinet{ req_access = null @@ -76777,6 +77246,12 @@ "wid" = ( /turf/closed/wall/almayer/outer, /area/almayer/maint/hull/lower/p_bow) +"wiu" = ( +/obj/structure/pipes/standard/simple/hidden/supply/no_boom, +/turf/open/floor/almayer/aicore/glowing/no_build{ + icon_state = "ai_floor3" + }, +/area/almayer/command/airoom) "wiz" = ( /obj/structure/bed/chair{ dir = 4 @@ -76880,35 +77355,11 @@ icon_state = "plate" }, /area/almayer/shipboard/port_point_defense) -"wjE" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out"; - pixel_y = 1 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/starboard) "wjL" = ( /turf/open/floor/almayer{ icon_state = "plate" }, /area/almayer/hallways/lower/repair_bay) -"wjP" = ( -/obj/structure/sign/safety/storage{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_a_s) "wjQ" = ( /obj/structure/disposalpipe/segment, /obj/structure/prop/invuln/overhead_pipe{ @@ -76954,6 +77405,15 @@ icon_state = "sterile_green" }, /area/almayer/medical/lockerroom) +"wks" = ( +/obj/structure/bed/chair{ + dir = 8; + pixel_y = 3 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "wky" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -77059,12 +77519,12 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/req) -"wlB" = ( -/obj/structure/largecrate/random/case/small, +"wlr" = ( /turf/open/floor/almayer{ - icon_state = "plate" + dir = 5; + icon_state = "silver" }, -/area/almayer/maint/hull/upper/u_m_p) +/area/almayer/hallways/upper/midship_hallway) "wlD" = ( /obj/structure/machinery/suit_storage_unit/compression_suit/uscm, /obj/effect/decal/warning_stripes{ @@ -77110,6 +77570,19 @@ icon_state = "red" }, /area/almayer/shipboard/starboard_missiles) +"wmo" = ( +/obj/structure/sign/safety/bridge{ + pixel_x = 15; + pixel_y = 32 + }, +/obj/structure/sign/safety/west{ + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 5; + icon_state = "blue" + }, +/area/almayer/hallways/upper/fore_hallway) "wmz" = ( /obj/structure/bed/chair/comfy/bravo{ dir = 1 @@ -77118,12 +77591,6 @@ icon_state = "orangefull" }, /area/almayer/living/briefing) -"wmH" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer{ - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "wmK" = ( /obj/structure/surface/table/almayer, /obj/item/clipboard, @@ -77157,6 +77624,18 @@ icon_state = "cargo" }, /area/almayer/living/bridgebunks) +"wnb" = ( +/obj/structure/closet/secure_closet/guncabinet, +/obj/item/weapon/gun/smg/m39{ + pixel_y = 6 + }, +/obj/item/weapon/gun/smg/m39{ + pixel_y = -6 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "wnh" = ( /obj/structure/window/framed/almayer/aicore/hull, /turf/open/floor/plating, @@ -77227,16 +77706,24 @@ icon_state = "rasputin3" }, /area/almayer/powered/agent) -"wph" = ( -/obj/item/paper_bin/wy, -/obj/structure/surface/table/woodentable/fancy, -/obj/item/tool/pen/clicky, -/obj/item/tool/pen/clicky, -/obj/structure/machinery/status_display{ - pixel_x = -32 +"wpt" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/poddoor/almayer/open{ + dir = 4; + id = "CIC Lockdown"; + name = "\improper Combat Information Center Blast Door" }, -/turf/open/floor/carpet, -/area/almayer/command/corporateliaison) +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/airlock/almayer/command/reinforced{ + closeOtherId = "ciclobby_s"; + name = "\improper Combat Information Center" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/command/cic) "wpu" = ( /obj/structure/surface/table/reinforced/almayer_B, /obj/item/device/flashlight/lamp{ @@ -77251,29 +77738,6 @@ icon_state = "mono" }, /area/almayer/medical/upper_medical) -"wpw" = ( -/obj/structure/bed/chair/comfy/ares{ - dir = 1 - }, -/obj/structure/pipes/vents/pump/no_boom{ - desc = "Has a valve and pump attached to it, connected to multiple gas tanks."; - name = "Security Vent" - }, -/turf/open/floor/almayer/no_build{ - icon_state = "plating" - }, -/area/almayer/command/airoom) -"wpz" = ( -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 - }, -/obj/structure/closet, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/port_emb) "wpI" = ( /turf/open/floor/almayer{ dir = 4; @@ -77290,12 +77754,6 @@ icon_state = "orange" }, /area/almayer/engineering/lower) -"wpT" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_s) "wqc" = ( /obj/structure/sign/poster{ pixel_y = 32 @@ -77377,6 +77835,11 @@ }, /turf/open/floor/almayer, /area/almayer/living/gym) +"wrI" = ( +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_p) "wrN" = ( /obj/effect/step_trigger/clone_cleaner, /obj/structure/machinery/camera/autoname/almayer{ @@ -77392,13 +77855,6 @@ allow_construction = 0 }, /area/almayer/hallways/lower/port_fore_hallway) -"wrQ" = ( -/obj/structure/sign/safety/storage{ - pixel_x = 8; - pixel_y = -32 - }, -/turf/open/floor/almayer, -/area/almayer/living/starboard_garden) "wrT" = ( /obj/structure/surface/table/almayer, /obj/item/device/radio/marine, @@ -77586,6 +78042,28 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_f_p) +"wui" = ( +/obj/structure/machinery/cryopod{ + pixel_y = 6 + }, +/obj/structure/sign/safety/cryo{ + pixel_x = -17 + }, +/turf/open/floor/almayer{ + icon_state = "cargo" + }, +/area/almayer/maint/upper/u_m_p) +"wuk" = ( +/obj/structure/sign/safety/maint{ + pixel_x = 8; + pixel_y = -32 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + pixel_x = -1 + }, +/turf/open/floor/almayer, +/area/almayer/command/lifeboat) "wup" = ( /obj/structure/supply_drop/echo, /turf/open/floor/almayer, @@ -77608,6 +78086,15 @@ icon_state = "orange" }, /area/almayer/engineering/lower/workshop) +"wuS" = ( +/obj/structure/machinery/door/airlock/almayer/maint{ + dir = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/upper/u_a_s) "wuT" = ( /obj/structure/machinery/light/small{ dir = 8 @@ -77675,6 +78162,19 @@ icon_state = "cargo" }, /area/almayer/living/synthcloset) +"wvX" = ( +/obj/structure/sign/safety/analysis_lab{ + pixel_y = 26 + }, +/obj/structure/sign/safety/terminal{ + pixel_x = 15; + pixel_y = 26 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "wwr" = ( /obj/structure/machinery/cryopod{ layer = 3.1; @@ -77819,16 +78319,6 @@ }, /turf/open/floor/plating, /area/almayer/maint/lower/constr) -"wyE" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_x = 1 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "silvercorner" - }, -/area/almayer/hallways/upper/aft_hallway) "wyG" = ( /obj/structure/disposalpipe/segment, /obj/structure/machinery/door/airlock/almayer/maint{ @@ -77860,18 +78350,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/almayer, /area/almayer/hallways/lower/port_aft_hallway) -"wzL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "wzZ" = ( /obj/structure/machinery/door/airlock/almayer/medical/glass{ dir = 1; @@ -77885,26 +78363,20 @@ icon_state = "test_floor4" }, /area/almayer/medical/lower_medical_medbay) +"wAE" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/fore_hallway) "wAK" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" }, /turf/open/floor/almayer, /area/almayer/hallways/lower/port_umbilical) -"wBd" = ( -/obj/structure/machinery/status_display{ - pixel_x = 32 - }, -/obj/structure/surface/table/almayer, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - dir = 6; - icon_state = "red" - }, -/area/almayer/shipboard/brig/lobby) "wBw" = ( /obj/structure/pipes/vents/pump, /obj/structure/machinery/status_display{ @@ -77922,6 +78394,12 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/upper/starboard) +"wCe" = ( +/obj/structure/machinery/light, +/turf/open/floor/almayer{ + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) "wCk" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/cameras/wooden_tv/ot{ @@ -77929,6 +78407,14 @@ }, /turf/open/floor/almayer, /area/almayer/engineering/lower/workshop/hangar) +"wCn" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/turf/open/floor/almayer{ + icon_state = "blue" + }, +/area/almayer/hallways/upper/fore_hallway) "wCs" = ( /obj/structure/machinery/vending/security, /obj/structure/machinery/power/apc/almayer{ @@ -77944,20 +78430,6 @@ icon_state = "redcorner" }, /area/almayer/living/briefing) -"wCT" = ( -/obj/effect/step_trigger/teleporter_vector{ - name = "Almayer_AresDown"; - vector_x = 97; - vector_y = -65 - }, -/obj/structure/machinery/light{ - dir = 1 - }, -/obj/structure/stairs{ - dir = 1 - }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) "wDg" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -78085,6 +78557,10 @@ icon_state = "rasputin3" }, /area/almayer/powered/agent) +"wEw" = ( +/obj/effect/landmark/start/pilot/dropship_pilot, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/living/pilotbunks) "wEI" = ( /obj/structure/surface/table/reinforced/black, /obj/item/tool/pen, @@ -78113,12 +78589,34 @@ icon_state = "red" }, /area/almayer/lifeboat_pumps/south2) +"wET" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/secure_closet/guncabinet, +/obj/item/weapon/gun/rifle/l42a{ + pixel_y = 6 + }, +/obj/item/weapon/gun/rifle/l42a, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "wFb" = ( /turf/open/floor/almayer{ dir = 4; icon_state = "sterile_green_corner" }, /area/almayer/medical/lower_medical_medbay) +"wFi" = ( +/obj/structure/machinery/cm_vending/sorted/medical/marinemed, +/obj/structure/sign/safety/medical{ + pixel_x = 8; + pixel_y = 32 + }, +/obj/structure/medical_supply_link, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/shipboard/panic) "wFn" = ( /obj/structure/surface/rack, /obj/item/clothing/suit/storage/marine/light/vest, @@ -78255,6 +78753,12 @@ }, /turf/open/floor/almayer, /area/almayer/lifeboat_pumps/south1) +"wHr" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/aft_hallway) "wIr" = ( /obj/structure/machinery/cm_vending/clothing/senior_officer{ req_access = list(); @@ -78321,12 +78825,6 @@ "wJb" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/medical/lower_medical_medbay) -"wJd" = ( -/turf/open/floor/almayer{ - dir = 10; - icon_state = "orange" - }, -/area/almayer/hallways/upper/stern_hallway) "wJh" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -78346,12 +78844,6 @@ icon_state = "test_floor4" }, /area/almayer/medical/upper_medical) -"wJB" = ( -/obj/structure/machinery/cryopod/right, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_cargo" - }, -/area/almayer/command/airoom) "wJC" = ( /obj/structure/largecrate/random/barrel/yellow, /turf/open/floor/plating/plating_catwalk, @@ -78421,6 +78913,25 @@ }, /turf/open/floor/almayer, /area/almayer/shipboard/brig/cells) +"wKL" = ( +/obj/structure/machinery/door/airlock/almayer/research/reinforced{ + closeOtherId = "containment_s"; + dir = 8; + name = "\improper Containment Airlock" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/machinery/door/poddoor/almayer/biohazard/white{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply/no_boom{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/medical/medical_science) "wKN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -78479,6 +78990,40 @@ dir = 1 }, /area/almayer/medical/containment/cell) +"wLC" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/sign/safety/bridge{ + pixel_y = 32 + }, +/obj/structure/sign/safety/reception{ + pixel_x = 15; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/fore_hallway) +"wLF" = ( +/obj/structure/machinery/door/airlock/almayer/medical/glass{ + closeOtherId = "brigmed"; + name = "\improper Brig Medbay"; + req_access = null; + req_one_access = null; + req_one_access_txt = "20;3" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/shipboard/brig/medical) "wLG" = ( /obj/item/bedsheet/blue{ layer = 3.2 @@ -78654,6 +79199,14 @@ allow_construction = 0 }, /area/almayer/hallways/lower/starboard_midship_hallway) +"wNC" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/hallways/upper/midship_hallway) "wNG" = ( /obj/effect/projector{ name = "Almayer_Up2"; @@ -78727,18 +79280,6 @@ icon_state = "cargo_arrow" }, /area/almayer/hallways/lower/port_midship_hallway) -"wPm" = ( -/obj/structure/pipes/standard/cap/hidden{ - dir = 4 - }, -/obj/structure/sign/safety/life_support{ - pixel_x = 8; - pixel_y = -25 - }, -/turf/open/floor/almayer{ - icon_state = "mono" - }, -/area/almayer/hallways/upper/stern_hallway) "wPz" = ( /turf/open/floor/almayer{ icon_state = "mono" @@ -78765,15 +79306,6 @@ icon_state = "bluefull" }, /area/almayer/command/cichallway) -"wPR" = ( -/obj/structure/closet, -/obj/item/clothing/under/marine, -/obj/item/clothing/suit/storage/marine, -/obj/item/clothing/head/helmet/marine, -/obj/item/clothing/head/beret/cm, -/obj/item/clothing/head/beret/cm, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_s) "wQu" = ( /obj/effect/projector{ name = "Almayer_Up3"; @@ -78798,6 +79330,16 @@ icon_state = "orange" }, /area/almayer/engineering/lower/engine_core) +"wQI" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/emails{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_f_s) "wRf" = ( /obj/structure/machinery/light/small, /obj/structure/sign/safety/nonpress_0g{ @@ -78811,6 +79353,13 @@ icon_state = "test_floor4" }, /area/almayer/hallways/lower/port_umbilical) +"wRk" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/turf/open/floor/almayer, +/area/almayer/command/lifeboat) "wRN" = ( /obj/structure/machinery/portable_atmospherics/hydroponics, /obj/item/seeds/goldappleseed, @@ -78883,6 +79432,9 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_a_p) +"wSB" = ( +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_p) "wSQ" = ( /turf/open/floor/almayer{ dir = 1; @@ -78973,12 +79525,6 @@ icon_state = "plate" }, /area/almayer/squads/charlie_delta_shared) -"wTy" = ( -/obj/structure/machinery/door/firedoor/border_only/almayer, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/lifeboat_pumps/south1) "wTB" = ( /obj/structure/surface/table/almayer, /obj/item/fuel_cell, @@ -79294,30 +79840,6 @@ }, /turf/open/floor/plating, /area/almayer/engineering/ce_room) -"wZk" = ( -/obj/structure/stairs{ - dir = 8; - icon_state = "ramptop" - }, -/obj/effect/projector{ - name = "Almayer_Down3"; - vector_x = 1; - vector_y = -102 - }, -/obj/structure/machinery/light, -/turf/open/floor/plating/almayer{ - allow_construction = 0 - }, -/area/almayer/hallways/upper/aft_hallway) -"wZp" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/stern_hallway) "wZv" = ( /obj/structure/prop/invuln{ desc = "An inflated membrane. This one is puncture proof. Wow!"; @@ -79352,6 +79874,16 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/command/lifeboat) +"xac" = ( +/obj/structure/sign/safety/ladder{ + pixel_x = 8; + pixel_y = 32 + }, +/turf/open/floor/almayer{ + dir = 1; + icon_state = "blue" + }, +/area/almayer/hallways/upper/midship_hallway) "xad" = ( /obj/item/device/radio/intercom{ freerange = 1; @@ -79452,34 +79984,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_m_s) -"xbN" = ( -/obj/structure/surface/rack{ - density = 0; - pixel_y = 16 - }, -/obj/structure/janitorialcart, -/obj/item/tool/mop, -/turf/open/floor/plating, -/area/almayer/command/airoom) -"xci" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/starboard) -"xcs" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "NE-out"; - pixel_y = 1 - }, -/obj/structure/machinery/door/airlock/almayer/maint, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/maint/hull/upper/u_a_s) "xcI" = ( /obj/structure/sign/safety/water{ pixel_x = 8; @@ -79499,16 +80003,6 @@ icon_state = "plate" }, /area/almayer/shipboard/panic) -"xcY" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 8; - name = "ship-grade camera" - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "xdf" = ( /obj/structure/pipes/standard/manifold/fourway/hidden/supply, /obj/structure/disposalpipe/segment{ @@ -79516,11 +80010,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/port_midship_hallway) -"xdl" = ( -/turf/open/floor/almayer{ - icon_state = "red" - }, -/area/almayer/hallways/upper/aft_hallway) "xdx" = ( /obj/structure/surface/rack, /obj/item/storage/firstaid/regular/empty, @@ -79535,6 +80024,18 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_medbay) +"xdA" = ( +/obj/structure/surface/rack{ + density = 0; + pixel_y = 16 + }, +/obj/structure/machinery/faxmachine/uscm/command{ + density = 0; + department = "AI Core"; + pixel_y = 32 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "xdJ" = ( /obj/structure/machinery/light{ dir = 4; @@ -79590,38 +80091,25 @@ icon_state = "plate" }, /area/almayer/engineering/lower/workshop) -"xeq" = ( -/obj/structure/sign/safety/distribution_pipes{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "orangecorner" - }, -/area/almayer/hallways/upper/stern_hallway) "xer" = ( /obj/structure/machinery/power/apc/almayer, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_f_s) -"xew" = ( -/obj/structure/surface/rack, -/obj/item/facepaint/sniper, +"xeU" = ( +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Laundry Room"; + req_one_access = list(19,7); + req_access = list() + }, /turf/open/floor/almayer{ - icon_state = "plate" + icon_state = "test_floor4" }, -/area/almayer/maint/hull/upper/u_m_s) +/area/almayer/engineering/laundry) "xfm" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/window/framed/almayer, /turf/open/floor/plating, /area/almayer/living/cafeteria_officer) -"xfo" = ( -/turf/open/floor/almayer{ - dir = 10; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "xfq" = ( /obj/structure/sign/safety/hvac_old{ pixel_x = 8; @@ -79677,17 +80165,9 @@ icon_state = "sterile_green_corner" }, /area/almayer/medical/operating_room_one) -"xfW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/secure_closet/guncabinet, -/obj/item/weapon/gun/rifle/m41a{ - pixel_y = 6 - }, -/obj/item/weapon/gun/rifle/m41a, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/maint/hull/upper/u_m_s) +"xga" = ( +/turf/closed/wall/almayer, +/area/almayer/hallways/upper/aft_hallway) "xgh" = ( /obj/structure/pipes/vents/scrubber{ dir = 4 @@ -79720,16 +80200,6 @@ }, /turf/open/floor/plating/almayer, /area/almayer/maint/hull/lower/l_a_p) -"xgE" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 9 - }, -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" - }, -/turf/open/floor/almayer, -/area/almayer/hallways/upper/aft_hallway) "xgJ" = ( /obj/structure/machinery/light{ dir = 1 @@ -79780,11 +80250,6 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_m_p) -"xhi" = ( -/turf/open/floor/almayer{ - icon_state = "orangecorner" - }, -/area/almayer/hallways/upper/stern_hallway) "xhn" = ( /obj/structure/largecrate/random/case/double, /turf/open/floor/almayer{ @@ -79863,6 +80328,12 @@ "xiV" = ( /turf/closed/wall/almayer/outer, /area/almayer/maint/hull/upper/p_bow) +"xiW" = ( +/obj/structure/machinery/power/apc/almayer{ + dir = 1 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_a_p) "xjb" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ access_modified = 1; @@ -79915,12 +80386,6 @@ icon_state = "red" }, /area/almayer/shipboard/brig/processing) -"xjI" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/hallways/upper/stern_hallway) "xjK" = ( /obj/structure/sign/safety/hazard{ pixel_y = 32 @@ -79962,16 +80427,6 @@ "xkd" = ( /turf/closed/wall/almayer/reinforced, /area/almayer/shipboard/brig/cells) -"xky" = ( -/obj/structure/sign/safety/maint{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "xkB" = ( /obj/structure/bed/chair/comfy/charlie{ dir = 1 @@ -80056,6 +80511,15 @@ icon_state = "plate" }, /area/almayer/living/port_emb) +"xmP" = ( +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, +/turf/open/floor/almayer{ + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) "xmT" = ( /obj/structure/machinery/cryopod{ pixel_y = 6 @@ -80067,18 +80531,14 @@ icon_state = "cargo" }, /area/almayer/medical/lower_medical_medbay) -"xns" = ( -/obj/structure/machinery/door_control{ - id = "ARES JoeCryo"; - name = "Working Joe Cryogenics Lockdown"; - pixel_x = -24; - pixel_y = -8; - req_one_access_txt = "91;92" +"xnh" = ( +/obj/structure/closet, +/obj/item/clothing/ears/earmuffs, +/obj/item/clothing/glasses/regular/hipster, +/turf/open/floor/almayer{ + icon_state = "plate" }, -/obj/effect/landmark/late_join/working_joe, -/obj/effect/landmark/start/working_joe, -/turf/open/floor/plating/plating_catwalk/aicore, -/area/almayer/command/airoom) +/area/almayer/maint/upper/u_a_s) "xnz" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -80093,18 +80553,14 @@ /obj/effect/landmark/start/requisition, /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/req) -"xnR" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - dir = 1; - name = "\improper Engineering Storage" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ +"xnX" = ( +/obj/structure/machinery/power/apc/almayer{ dir = 1 }, /turf/open/floor/almayer{ - icon_state = "test_floor4" + icon_state = "plate" }, -/area/almayer/engineering/upper_engineering) +/area/almayer/maint/upper/u_a_s) "xoe" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -80120,16 +80576,6 @@ icon_state = "bluecorner" }, /area/almayer/squads/delta) -"xog" = ( -/obj/effect/step_trigger/clone_cleaner, -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer{ - dir = 8; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "xoj" = ( /turf/open/floor/almayer, /area/almayer/engineering/lower/workshop) @@ -80234,6 +80680,11 @@ icon_state = "plating" }, /area/almayer/engineering/lower/engine_core) +"xqh" = ( +/obj/structure/surface/table/almayer, +/obj/item/tool/weldingtool, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_m_s) "xqp" = ( /obj/structure/machinery/body_scanconsole{ dir = 8; @@ -80363,6 +80814,17 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/repair_bay) +"xsi" = ( +/obj/structure/stairs{ + dir = 1 + }, +/obj/effect/step_trigger/teleporter_vector{ + name = "Almayer_AresUp2"; + vector_x = -102; + vector_y = 61 + }, +/turf/open/floor/almayer/aicore/no_build, +/area/almayer/command/airoom) "xsl" = ( /obj/structure/machinery/alarm/almayer{ dir = 1 @@ -80417,13 +80879,6 @@ /obj/item/weapon/dart/green, /turf/open/floor/plating, /area/almayer/maint/lower/constr) -"xsX" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/machinery/light, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/hallways/upper/stern_hallway) "xtM" = ( /obj/structure/machinery/light, /turf/open/floor/almayer{ @@ -80431,17 +80886,6 @@ icon_state = "sterile_green_side" }, /area/almayer/medical/lower_medical_lobby) -"xtO" = ( -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 - }, -/turf/open/floor/almayer{ - dir = 1; - icon_state = "green" - }, -/area/almayer/hallways/upper/aft_hallway) "xub" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -80530,30 +80974,6 @@ icon_state = "test_floor4" }, /area/almayer/squads/charlie) -"xvM" = ( -/obj/structure/machinery/door_control{ - id = "ARES StairsLower"; - name = "ARES Core Lockdown"; - pixel_x = 24; - pixel_y = 8; - req_one_access_txt = "90;91;92" - }, -/obj/effect/step_trigger/clone_cleaner, -/turf/open/floor/almayer/aicore/no_build{ - icon_state = "ai_silver"; - dir = 4 - }, -/area/almayer/command/airoom) -"xvO" = ( -/obj/structure/disposalpipe/segment{ - dir = 2; - icon_state = "pipe-c" - }, -/turf/open/floor/almayer{ - dir = 5; - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "xvQ" = ( /obj/structure/surface/table/almayer, /obj/structure/machinery/computer/sentencing{ @@ -80635,14 +81055,14 @@ }, /area/almayer/living/briefing) "xwU" = ( -/obj/structure/sign/safety/medical{ - pixel_x = 8; - pixel_y = -32 +/obj/structure/pipes/vents/pump/no_boom/gas{ + vent_tag = "Comms"; + dir = 1 }, -/turf/open/floor/almayer{ - icon_state = "green" +/turf/open/floor/almayer/aicore/no_build{ + icon_state = "ai_plates" }, -/area/almayer/hallways/upper/aft_hallway) +/area/almayer/command/airoom) "xwX" = ( /turf/open/floor/almayer{ dir = 9; @@ -80724,6 +81144,10 @@ }, /turf/open/floor/plating, /area/almayer/living/port_emb) +"xxB" = ( +/obj/structure/machinery/fuelpump, +/turf/open/floor/almayer, +/area/almayer/lifeboat_pumps/north1) "xxG" = ( /obj/structure/prop/holidays/string_lights{ pixel_y = 27 @@ -80788,6 +81212,18 @@ /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/carpet, /area/almayer/living/commandbunks) +"xyp" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "xyt" = ( /obj/structure/surface/table/almayer, /obj/item/storage/toolbox/mechanical{ @@ -80870,6 +81306,14 @@ "xzh" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/upper/u_m_p) +"xzx" = ( +/obj/structure/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "xzB" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_f_s) @@ -80971,6 +81415,23 @@ icon_state = "plate" }, /area/almayer/squads/req) +"xBW" = ( +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_y = 13 + }, +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = -16; + pixel_y = 13 + }, +/obj/structure/prop/invuln/overhead_pipe{ + dir = 4; + pixel_x = 12; + pixel_y = 13 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/maint/upper/u_f_s) "xBY" = ( /turf/open/floor/almayer, /area/almayer/engineering/laundry) @@ -80994,6 +81455,12 @@ }, /turf/open/floor/carpet, /area/almayer/command/corporateliaison) +"xCs" = ( +/turf/open/floor/almayer{ + dir = 10; + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "xCy" = ( /obj/structure/sign/safety/maint{ pixel_x = -19; @@ -81005,6 +81472,15 @@ }, /turf/open/floor/almayer, /area/almayer/maint/hull/upper/u_f_p) +"xCB" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/fore_hallway) "xDe" = ( /obj/effect/projector{ name = "Almayer_Down4"; @@ -81021,6 +81497,12 @@ icon_state = "silver" }, /area/almayer/shipboard/brig/cic_hallway) +"xDy" = ( +/obj/structure/machinery/door/airlock/almayer/maint, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/almayer/maint/upper/u_f_p) "xDC" = ( /obj/structure/pipes/standard/simple/hidden/supply/no_boom, /turf/open/floor/almayer/aicore/no_build, @@ -81032,15 +81514,6 @@ icon_state = "orange" }, /area/almayer/engineering/lower/workshop/hangar) -"xDG" = ( -/obj/structure/machinery/door/airlock/almayer/maint{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/maint/hull/upper/u_a_s) "xDV" = ( /obj/effect/step_trigger/clone_cleaner, /obj/effect/decal/warning_stripes{ @@ -81084,18 +81557,19 @@ "xFt" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/l_f_p) +"xFx" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "xFP" = ( /turf/open/floor/almayer{ dir = 5; icon_state = "red" }, /area/almayer/shipboard/starboard_missiles) -"xFW" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/almayer{ - icon_state = "silver" - }, -/area/almayer/hallways/upper/aft_hallway) "xFZ" = ( /obj/structure/disposalpipe/segment, /obj/structure/pipes/standard/manifold/hidden/supply{ @@ -81155,6 +81629,19 @@ icon_state = "plate" }, /area/almayer/maint/hull/upper/u_f_p) +"xGI" = ( +/obj/structure/closet/secure_closet/guncabinet, +/obj/item/weapon/gun/rifle/l42a{ + pixel_y = 6 + }, +/obj/item/weapon/gun/rifle/l42a, +/obj/item/weapon/gun/rifle/l42a{ + pixel_y = -6 + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_m_s) "xGJ" = ( /obj/structure/flora/pottedplant{ icon_state = "pottedplant_22"; @@ -81205,17 +81692,21 @@ icon_state = "orange" }, /area/almayer/squads/alpha_bravo_shared) -"xHD" = ( -/obj/structure/machinery/light, -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - pixel_x = -1 +"xHt" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, +/obj/structure/machinery/door/airlock/almayer/maint{ + access_modified = 1; + dir = 1; + name = "\improper Engineering Storage"; + req_one_access = null; + req_one_access_txt = "2;7" }, /turf/open/floor/almayer{ - dir = 10; - icon_state = "silver" + icon_state = "test_floor4" }, -/area/almayer/maint/hull/upper/u_m_p) +/area/almayer/engineering/upper_engineering) "xHS" = ( /obj/structure/reagent_dispensers/fueltank/oxygentank{ anchored = 1 @@ -81245,6 +81736,9 @@ icon_state = "cargo" }, /area/almayer/squads/req) +"xIj" = ( +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "xIk" = ( /obj/structure/machinery/cryopod/right{ pixel_y = 6 @@ -81347,6 +81841,22 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/cells) +"xJV" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/cell_charger, +/obj/structure/sign/safety/high_rad{ + pixel_x = 32; + pixel_y = -8 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 32; + pixel_y = 7 + }, +/turf/open/floor/almayer{ + dir = 4; + icon_state = "orange" + }, +/area/almayer/engineering/lower) "xKG" = ( /obj/effect/decal/warning_stripes{ icon_state = "N"; @@ -81415,6 +81925,11 @@ /obj/structure/largecrate/random/barrel/red, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/u_m_s) +"xLw" = ( +/turf/open/floor/almayer{ + icon_state = "silver" + }, +/area/almayer/hallways/upper/midship_hallway) "xLX" = ( /obj/structure/disposalpipe/junction{ dir = 4; @@ -81513,7 +82028,7 @@ }, /area/almayer/shipboard/panic) "xML" = ( -/obj/structure/machinery/computer/cameras/wooden_tv/prop{ +/obj/structure/machinery/computer/cameras/wooden_tv/broadcast{ pixel_x = -4; pixel_y = 2 }, @@ -81579,12 +82094,6 @@ icon_state = "cargo" }, /area/almayer/hallways/hangar) -"xNl" = ( -/turf/open/floor/almayer{ - dir = 4; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "xNu" = ( /obj/structure/toilet{ dir = 1 @@ -81693,12 +82202,6 @@ icon_state = "orange" }, /area/almayer/engineering/lower/workshop/hangar) -"xPu" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_p) "xPZ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 10 @@ -81806,12 +82309,6 @@ icon_state = "silver" }, /area/almayer/command/computerlab) -"xRn" = ( -/turf/open/floor/almayer{ - dir = 1; - icon_state = "greencorner" - }, -/area/almayer/hallways/upper/aft_hallway) "xRw" = ( /turf/open/floor/almayer/uscm/directional{ dir = 1 @@ -81837,16 +82334,6 @@ icon_state = "orangefull" }, /area/almayer/living/briefing) -"xSl" = ( -/obj/structure/machinery/firealarm{ - dir = 4; - pixel_x = 24 - }, -/turf/open/floor/almayer{ - dir = 4; - icon_state = "red" - }, -/area/almayer/hallways/upper/stern_hallway) "xSw" = ( /obj/structure/machinery/door/firedoor/border_only/almayer{ dir = 2 @@ -81927,18 +82414,6 @@ icon_state = "red" }, /area/almayer/shipboard/brig/processing) -"xTL" = ( -/obj/structure/machinery/cm_vending/gear/executive_officer{ - pixel_y = 30; - density = 0 - }, -/obj/structure/machinery/power/apc/almayer{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "plate" - }, -/area/almayer/living/numbertwobunks) "xTR" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/poddoor/almayer/open{ @@ -82141,6 +82616,12 @@ icon_state = "orange" }, /area/almayer/engineering/upper_engineering/port) +"xXd" = ( +/turf/open/floor/almayer{ + dir = 4; + icon_state = "silvercorner" + }, +/area/almayer/hallways/upper/midship_hallway) "xXh" = ( /turf/closed/wall/almayer/research/containment/wall/west, /area/almayer/medical/containment/cell) @@ -82234,12 +82715,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering) -"xZf" = ( -/turf/open/floor/almayer{ - dir = 6; - icon_state = "blue" - }, -/area/almayer/hallways/upper/aft_hallway) "xZk" = ( /obj/item/prop/helmetgarb/gunoil{ layer = 4.2; @@ -82267,10 +82742,22 @@ icon_state = "plate" }, /area/almayer/living/briefing) -"xZz" = ( -/obj/item/paper/almayer_storage, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_a_p) +"xZt" = ( +/obj/structure/sign/safety/refridgeration{ + pixel_y = -32 + }, +/obj/structure/sign/safety/medical{ + pixel_x = 15; + pixel_y = -32 + }, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, +/turf/open/floor/almayer{ + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) "xZG" = ( /obj/structure/machinery/light{ dir = 4 @@ -82333,6 +82820,9 @@ icon_state = "plate" }, /area/almayer/hallways/lower/starboard_fore_hallway) +"yat" = ( +/turf/closed/wall/almayer, +/area/almayer/maint/upper/u_a_p) "yaz" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/comdoor{ name = "\improper Officer's Study" @@ -82365,18 +82855,6 @@ }, /turf/open/floor/almayer/aicore/no_build, /area/almayer/command/airoom) -"yaR" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/door/firedoor/border_only/almayer, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/hallways/upper/stern_hallway) "yaX" = ( /obj/structure/machinery/door/poddoor/railing{ dir = 2; @@ -82397,9 +82875,6 @@ }, /turf/open/floor/almayer/aicore/no_build, /area/almayer/command/airoom) -"ybk" = ( -/turf/closed/wall/almayer, -/area/almayer/hallways/upper/stern_hallway) "ybm" = ( /obj/structure/surface/table/almayer, /obj/item/clothing/head/hardhat{ @@ -82484,6 +82959,18 @@ icon_state = "plate" }, /area/almayer/living/briefing) +"ycA" = ( +/obj/structure/disposalpipe/junction{ + dir = 8; + icon_state = "pipe-j2" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/turf/open/floor/almayer{ + icon_state = "orangecorner" + }, +/area/almayer/hallways/upper/aft_hallway) "ycH" = ( /obj/structure/surface/table/almayer, /obj/item/pizzabox/margherita{ @@ -82598,6 +83085,28 @@ icon_state = "plate" }, /area/almayer/command/lifeboat) +"yeg" = ( +/obj/structure/sign/safety/escapepod{ + pixel_y = -32 + }, +/obj/structure/sign/safety/east{ + pixel_x = 15; + pixel_y = -32 + }, +/turf/open/floor/almayer{ + icon_state = "green" + }, +/area/almayer/hallways/upper/fore_hallway) +"yei" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 9 + }, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/turf/open/floor/almayer, +/area/almayer/hallways/upper/midship_hallway) "yeH" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer, @@ -82666,6 +83175,12 @@ icon_state = "plate" }, /area/almayer/squads/delta) +"yfn" = ( +/obj/structure/machinery/pipedispenser/orderable, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/almayer/maint/upper/u_a_s) "yfy" = ( /obj/structure/barricade/handrail{ dir = 1; @@ -82685,41 +83200,6 @@ }, /turf/open/floor/wood/ship, /area/almayer/living/commandbunks) -"yfL" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - pixel_x = -1 - }, -/obj/structure/bed/sofa/south/white/left{ - pixel_y = 16 - }, -/turf/open/floor/almayer{ - dir = 9; - icon_state = "silver" - }, -/area/almayer/maint/hull/upper/u_m_p) -"yfO" = ( -/obj/structure/machinery/door/airlock/almayer/security/glass/reinforced{ - name = "\improper Warden's Office"; - closeOtherId = "brigwarden" - }, -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - dir = 4; - id = "Warden Office Shutters"; - name = "\improper Privacy Shutters" - }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 8 - }, -/obj/structure/machinery/door/poddoor/almayer/open{ - dir = 4; - id = "courtyard_cells"; - name = "\improper Courtyard Lockdown Shutter" - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/shipboard/brig/warden_office) "yfS" = ( /obj/structure/window/framed/almayer, /obj/structure/machinery/door/firedoor/border_only/almayer{ @@ -82827,12 +83307,15 @@ icon_state = "plate" }, /area/almayer/maint/hull/lower/l_m_s) -"yit" = ( -/obj/structure/pipes/vents/pump/no_boom{ - dir = 1 +"yiu" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/turf/open/floor/almayer/aicore/no_build, -/area/almayer/command/airoom) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/hallways/upper/midship_hallway) "yiW" = ( /obj/structure/machinery/cryopod/right{ layer = 3.1; @@ -82873,6 +83356,10 @@ icon_state = "test_floor4" }, /area/almayer/engineering/upper_engineering/notunnel) +"yjr" = ( +/obj/docking_port/stationary/escape_pod/north, +/turf/open/floor/plating, +/area/almayer/maint/upper/u_f_s) "yjE" = ( /obj/structure/sign/safety/water{ pixel_x = 8; @@ -82943,82 +83430,6 @@ }, /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/lower) -"ykY" = ( -/obj/structure/machinery/light/small{ - dir = 1 - }, -/obj/structure/closet/crate, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/obj/item/ammo_magazine/rifle/l42a/ap{ - current_rounds = 0 - }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/maint/hull/upper/u_m_s) -"ylc" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E"; - pixel_x = 1 - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - pixel_x = -1 - }, -/obj/structure/machinery/door/airlock/almayer/research/reinforced{ - dir = 8; - name = "\improper Containment Airlock"; - closeOtherId = "containment_s" - }, -/obj/structure/machinery/door/poddoor/almayer/biohazard/white{ - dir = 4 - }, -/turf/open/floor/almayer{ - icon_state = "test_floor4" - }, -/area/almayer/medical/containment) "yle" = ( /obj/effect/landmark/start/marine/engineer/delta, /obj/effect/landmark/late_join/delta, @@ -91410,7 +91821,7 @@ cth gkr xkc oGj -hSj +iVD xkc mph nlh @@ -91427,9 +91838,9 @@ qPD qPD quJ rdA -alF +jyY sql -alF +jyY rwe pdp hZw @@ -91819,7 +92230,7 @@ hvd hvd hvd hvd -mze +bLF eyD naB kry @@ -93661,7 +94072,7 @@ kuJ sLA jSw xkd -cJh +qFu xkd xkd icM @@ -94270,7 +94681,7 @@ wdF kQu cqM xkd -cJh +qFu xkd xkd pns @@ -95072,7 +95483,7 @@ ksm bxE cmM oeZ -uzH +wLF oeZ oeZ ptq @@ -95483,7 +95894,7 @@ aIY oeZ cFC oIh -lUm +sBQ skj tXc cqM @@ -95583,9 +95994,9 @@ bIy alU alU alU -cmI +syg alU -cmJ +noo alU alU alU @@ -95680,7 +96091,7 @@ cQv kYU tUK kTp -vKF +krO nWS glG oeZ @@ -95881,14 +96292,14 @@ cQv tlk cQv uhA -bKN +tCH oeZ oeZ -uzH +wLF oeZ oeZ mFc -eKa +fbr emp lze wSm @@ -95904,7 +96315,7 @@ cHk rkV rkV cHk -yfO +vYi cHk pRs pdp @@ -96100,7 +96511,7 @@ emp emp emp emp -lFJ +vbo emp emp cHk @@ -96192,9 +96603,9 @@ kcp alU alU alU -mBp +iTW alU -cmJ +noo alU alU alU @@ -96491,7 +96902,7 @@ oJm cQG cQG hzG -asC +nzT tff cDN oFY @@ -96502,14 +96913,14 @@ jcf bju cMW qEy -iis +vKr rQc oDy oDy wsq vxK gwj -vxh +oiz csy csy bWQ @@ -96700,7 +97111,7 @@ uFq wsl wSu xIW -wBd +nah emp gbw oRk @@ -98406,12 +98817,12 @@ aaa fwK elY uaG -vjk +sbZ lxd dPk nBV dyq -lxd +uGi uaG lYN byr @@ -99421,7 +99832,7 @@ aaa fwK jru uaG -vaM +aEf lxd cif jaz @@ -101045,7 +101456,7 @@ aaa sGw xzB bfs -wes +wFi qxI dKO ykv @@ -103609,7 +104020,7 @@ wlE gvq wVW lrW -qDN +mqh vHW wVW ccg @@ -104819,11 +105230,11 @@ wVW wVW wVW aCf -ayt +kcx aCf wVW aCf -hzL +wpt aCf wVW wVW @@ -105835,13 +106246,13 @@ awX wVW wVW wVW -aAl +lMF jnX -dum +rdz wVW wVW wVW -jOc +cbF aGZ awF cST @@ -106033,14 +106444,14 @@ aiX wbO avU avU -awY -awY +mKN +wEw kOB awZ aiX -opN -bDi -vIr +wLC +mGb +uOh awF aEM aGV @@ -106241,9 +106652,9 @@ pXx jrm evg aiX -dCb -dDc -rdo +iiU +eAx +cmS awF aFg aGY @@ -106444,9 +106855,9 @@ wWC auZ aiX aiX -mJp -bNT -cbK +qmK +oIp +pTS awF hRk aGY @@ -106647,11 +107058,11 @@ pQV apq ana aiX -glc -bNT -rmB +gwh +oIp +qUK awF -xTL +gyh lmA rvA aqm @@ -106828,7 +107239,7 @@ add fsU aHU aTm -awW +xxB aTm jgF fsU @@ -106850,9 +107261,9 @@ xQg wWC szO aiX -nLM -bNT -iPU +jkT +oIp +fNX awF awF aEW @@ -106874,7 +107285,7 @@ aJU gBW ouQ iun -baw +sfA vPm qys gBW @@ -107031,7 +107442,7 @@ awW auK aIr aTm -bvd +cpP aTm juX scu @@ -107053,10 +107464,10 @@ yjM qbO aqw hnI -kGS -bNT -gFN -bMi +dME +oIp +oGI +waP awF nvG vGI @@ -107077,7 +107488,7 @@ baw lRE tuf vbB -rBH +aqB vbB mlz sOy @@ -107234,7 +107645,7 @@ awW avc aIv aTm -kJL +cpP cbM jzZ sLo @@ -107256,10 +107667,10 @@ aqy nBE pOD bZa -nIF -duR -gFN -mqd +voj +sUS +oGI +qUu awF aHn szU @@ -107280,7 +107691,7 @@ baw hJk yac vbB -kUQ +aqB vbB fDS iLd @@ -107437,7 +107848,7 @@ add fsU aHU aTm -awW +fnk aTm jgF fsU @@ -107459,9 +107870,9 @@ aiX aiX aiX aiX -eFI -bNT -sQu +diw +oIp +wCn tsr tsr tsr @@ -107483,7 +107894,7 @@ aJU gBW ouQ vbB -baw +aqB tBq qys gBW @@ -107662,9 +108073,9 @@ aiX aKG amb aiX -eWN -bNT -rmB +hOd +oIp +qUK tsr sOL jIC @@ -107865,9 +108276,9 @@ aqz aKH and aiX -umD -bNT -kGS +aaE +oIp +dME fyT xIV xIV @@ -108068,9 +108479,9 @@ aiX aiX aiX aiX -cwi -bNT -fBA +qIF +oIp +aPV tsr iPN dbX @@ -108271,9 +108682,9 @@ aqz mBe atT aiX -fXf -bNT -hCF +bhR +oIp +mYA tsr tsr vOY @@ -108474,9 +108885,9 @@ aiX asf atT aiX -cKW -mqR -xZf +hOd +lSN +qUK lIj tBY gkE @@ -108573,7 +108984,7 @@ arX vSG iag nvM -bek +qOZ qjN gGJ ham @@ -108677,9 +109088,9 @@ aiX aiX aiX aiX -dRo -fsu -enz +wmo +icQ +pwl lIj lIj dvZ @@ -108772,11 +109183,11 @@ kLE bkA bcC bej -uyJ +tzO fVG qpQ nvM -bek +qOZ qjN sld ham @@ -108784,11 +109195,11 @@ ham qjN oDY omo -fvJ +eTC fdZ ixj fdZ -bET +uey gfW kSA tpB @@ -108855,12 +109266,12 @@ adq aei aka aWn -njn -njn -njn -njn -njn -njn +gLl +gLl +gLl +gLl +gLl +gLl oGC awW acW @@ -108869,31 +109280,31 @@ awW awW fSm hiy -ddp -fCP -fCP -stk -fCP -kGS -kGS -sVA -fCP -vUO -fCP -fCP -wzL -fCP -fCP -vUO -pwd -sVA -fCP -fCP -fCP -fCP -stk -fCP -uVg +esQ +iKy +iKy +oyB +iKy +dME +dME +gJC +iKy +udv +iKy +iKy +gji +iKy +iKy +udv +oGW +gJC +iKy +iKy +iKy +iKy +oyB +iKy +kmT pEY jsP baw @@ -108902,15 +109313,15 @@ baw sgU baw baw -nIN -nIN -nIN -nIN -nIN -nIN -hXV +vIo +vIo +vIo +vIo +vIo +vIo +gnv yhI -rRz +tTu pgD tQV aaa @@ -108979,7 +109390,7 @@ qpx bet bgu nvM -bek +qOZ qjN gGJ ham @@ -109055,15 +109466,15 @@ aaa aaa abs adq -apr -apr -aoV -njn -rWz -rWz -rWz -tWM -njn +afr +akc +apg +gLl +mis +mis +mis +yjr +gLl aea oGC xjD @@ -109072,31 +109483,31 @@ ajf ajf oAO pIZ -qwf -jRm -gDQ -gDQ -gDQ -rUN -gDQ -gDQ -dFd -rDm -rDm -gDQ -saT -gDQ -rUN -rUN -bxt -tPz -tPz -tiZ -tPz -tPz -tPz -jRm -rHn +nsr +fSx +tTZ +tTZ +tTZ +dNj +tTZ +tTZ +pcs +fCW +fCW +tTZ +bjv +tTZ +dNj +dNj +ubv +plK +plK +tuX +plK +plK +plK +fSx +xFx tFW dGC aZz @@ -109105,15 +109516,15 @@ aZz nsc baw cxk -nIN -rgL -rgL -rgL -nTc -nIN -wTy -wTy -wTy +vIo +ojX +ojX +ojX +mxo +vIo +crh +csI +qhb pgD tQV aaa @@ -109258,15 +109669,15 @@ aaa aaa abs adq -aub -akc -euO -njn -rWz -rWz -rWz -rWz -njn +nfC +akt +awW +gLl +mis +mis +mis +mis +gLl oGC sHp oGC @@ -109275,31 +109686,31 @@ awW awW aSJ isI -dgP -jao -uIa -qxK -rYG -qxK -qxK -iRi -qxK -qxK -qxK -qxK -xcY -qxK -iRi -qxK -qxK -qxK -qxK -qxK -rYG -qxK -bTD -jao -uQi +gvu +xCB +nyK +llo +epT +llo +llo +pub +llo +llo +llo +llo +aVK +llo +pub +llo +llo +llo +llo +llo +epT +llo +aWM +xCB +tJm dCD aXe baw @@ -109308,15 +109719,15 @@ baw mnA baw baw -nIN -rgL -rgL -rgL -rgL -nIN -crh -csI -nqG +vIo +ojX +ojX +ojX +ojX +vIo +baw +sMM +rSH pgD tQV aaa @@ -109465,22 +109876,22 @@ avd akt awW qHq -rWz -rWz -rWz -rWz -njn -vzO -njn -njn -njn -njn -njn -njn -njn -dgP -jao -uQi +mis +mis +mis +mis +gLl +eHX +gLl +gLl +gLl +gLl +gLl +gLl +gLl +gvu +xCB +tJm aoe aoe aoe @@ -109500,22 +109911,22 @@ aoe aoe aoe aoe -maF -jao -mOw -nIN -nIN -nIN -nIN -nIN -nIN -rBD -nIN -nIN -rgL -rgL -rgL -rgL +hwB +xCB +kaj +vIo +vIo +vIo +vIo +vIo +vIo +xDy +vIo +vIo +ojX +ojX +ojX +ojX eOM baw sMM @@ -109667,23 +110078,23 @@ adq aGP aka aWu -njn -rWz -rWz -rWz -rWz -njn -gur -osn -vDt -puJ -deA -olC -ujf -njn -xky -jao -uQi +gLl +mis +mis +mis +mis +gLl +lNL +kUJ +qgn +eIf +mfL +hto +qhg +gLl +pzw +xCB +tJm aoe aoh jHQ @@ -109703,23 +110114,23 @@ cnV isN cnZ aoe -dgP -jao -uQi -nIN -cHn -cHn -gNo -aZv -gNo -xzh -dcZ -nIN -rgL -rgL -rgL -rgL -nIN +gvu +xCB +tJm +vIo +giD +giD +wrI +lST +wrI +pep +mCJ +vIo +ojX +ojX +ojX +ojX +vIo hWB yhI qSX @@ -109815,9 +110226,9 @@ aId vjv gOR aId -vTV +ary nmY -pdy +nZm smW prP xXl @@ -109870,23 +110281,23 @@ adq aGQ akc apg -njn -rWz -rWz -rWz -rWz -njn -jsA -cGR -tey -urL -tey -cGR -jsA -tQA -kGS -lOn -uQi +gLl +mis +mis +mis +mis +gLl +gtI +utp +cZq +xBW +cZq +utp +gtI +kYF +dME +nbH +tJm aoe vbS arb @@ -109906,23 +110317,23 @@ cnW aEi coa aoe -tWf -lOn -kGS -aZv -gNo -xzh -xzh -nIN -gJY -gNo -gNo -nIN -rgL -rgL -rgL -rgL -nIN +lXR +nbH +dME +lST +wrI +pep +pep +vIo +fzt +wrI +wrI +vIo +ojX +ojX +ojX +ojX +vIo wvj csI iPH @@ -110073,11 +110484,11 @@ aee avd akt qWI -njn -njn -njn -njn -njn +gLl +gLl +gLl +gLl +gLl gxm gxm gxm @@ -110087,9 +110498,9 @@ gxm gxm gxm gxm -tWf -lOn -uQi +lXR +nbH +tJm aoe qQc fXg @@ -110109,9 +110520,9 @@ jBy aEi fFh aoe -dgP -lOn -uQi +gvu +nbH +tJm gxm gxm gxm @@ -110121,11 +110532,11 @@ gxm gxm gxm gxm -nIN -nIN -nIN -nIN -nIN +vIo +vIo +vIo +vIo +vIo ehj irS ilJ @@ -110200,7 +110611,7 @@ mKw rcx kan ojZ -jjn +toS ojZ kan leY @@ -110273,26 +110684,26 @@ aaa aaa abs adq -aWm -aka -kyY -njn -mfR -sqP -tVs -tVs +nAv +akt +awW +gLl +vHP +wQI +cIS +cIS gxm -tPB -tPB -tPB +sWb +sWb +sWb dkO aps aps aps gxm -xtO -jao -uQi +gpp +xCB +tJm aoe vbS koB @@ -110312,26 +110723,26 @@ aoe hFF aoe aoe -dgP -jao -uQi +gvu +xCB +tJm gxm aiJ aiJ aiJ qYr -cJV -cJV -cJV +kEA +kEA +kEA gxm -ear -aGm -xzh -ear -nIN -rQW -yhI -tmI +qTA +bMZ +pep +qTA +vIo +baw +sMM +noO pgD tQV aaa @@ -110476,26 +110887,26 @@ aaa aaa abs adq -apr -apr -apr -njn -hzl -vdT -jsA -jsA +aWm +aka +kyY +gLl +lfZ +lWS +gtI +gtI gxm -tPB -tPB -tPB +sWb +sWb +sWb vQe aps aps aps gxm -hGo -lOn -uQi +sHC +nbH +tJm aoe aop koB @@ -110515,26 +110926,26 @@ uRt aQz aRJ ajl -dgP -lOn -uQi +gvu +nbH +tJm gxm aiJ aiJ aiJ str -cJV -cJV -cJV +kEA +kEA +kEA gxm -aGm -xzh -xzh -moq -nIN -wTy -wTy -wTy +bMZ +pep +pep +osr +vIo +rQW +yhI +rRz pgD tQV aaa @@ -110605,9 +111016,9 @@ tlA nyj vVW vhX -unU +ctJ rlZ -twq +pGE vhX jCK nyj @@ -110677,28 +111088,28 @@ bdH bdH bdH bdH -acf -aet -afB -akW -apu -njn -njn -lBB -cGR -mOR +abs +adq +afr +akc +apg +gLl +gLl +nlI +utp +usu gxm -gHX -gHX -gHX +sRZ +sRZ +sRZ vQe aps aps aps gxm -dgP -hBy -dlT +gvu +lYS +mzn hSI pMp gzK @@ -110718,26 +111129,26 @@ akw aQz aRK ajl -kUs -lOn -uQi +aUB +nbH +tJm gxm aiJ aiJ aiJ str -oAY -oAY -oAY +jcu +jcu +jcu gxm -rTe -xzh -gNo -nIN -nIN -crh +cAa +pep +wrI +vIo +vIo +vpn csI -qhb +goL pgD tQV bdH @@ -110880,28 +111291,28 @@ aaf aaf aaf aaf -acv -aez -boL -akY -boL -aiH -hbl -cGR -fwP -mOR +abw +eJU +awW +akt +awW +cUo +dwu +utp +qxS +usu gxm -tpj -tpj -tpj +lmG +lmG +lmG gxm asm asm asm gxm -dgP -mxg -mnV +gvu +lSN +xZt aoe pjF wUd @@ -110921,22 +111332,22 @@ akw fOL aRS ajl -hGo -jao -uQi +sHC +xCB +tJm gxm alW alW alW gxm -nVA -nVA -nVA +mWJ +mWJ +mWJ gxm -aGm -ear -gNo -aZv +bMZ +qTA +wrI +lST aJU baw sMM @@ -111083,28 +111494,28 @@ aag aag aag aag -acv -aez -boL -akY -wrQ -njn -njn -njn -njn -njn +abw +eJU +awW +akt +vCt +gLl +gLl +gLl +gLl +gLl gxm -tpj -tpj -tpj +lmG +lmG +lmG gxm asm asm asm gxm -dgP -lOn -tQO +gvu +nbH +vQN sqf sqf sqf @@ -111124,23 +111535,23 @@ upM akw alD vEx -kGS -lOn -uQi +dME +nbH +tJm gxm alW alW alW gxm -nVA -nVA -nVA +mWJ +mWJ +mWJ gxm -nIN -nIN -nIN -nIN -nIN +vIo +vIo +vIo +vIo +vIo nTH sMM baw @@ -111206,10 +111617,10 @@ qPk hKe qPk kan -qWS +mBk oDJ vaQ -iIH +iTt rlZ buu rlZ @@ -111286,28 +111697,28 @@ aag aag aag aag -acf -aet -agS -aiP -aYq -njn -rWz -rWz -rWz -tWM +abs +adq +aeZ +aka +aoI +gLl +mis +mis +mis +yjr gxm -tpj -tpj -tpj +lmG +lmG +lmG gxm asm asm asm gxm -dgP -lOn -uQi +gvu +nbH +tJm sqf anp wjz @@ -111327,23 +111738,23 @@ ajl onQ alD ajl -bNI -lOn -uQi +bgN +nbH +tJm gxm alW alW alW gxm -nVA -nVA -nVA +mWJ +mWJ +mWJ gxm -rgL -rgL -rgL -nTc -nIN +ojX +ojX +ojX +mxo +vIo gnv yhI tTu @@ -111409,7 +111820,7 @@ qPk hKe qPk kan -kAp +vou dYU kan cWm @@ -111489,28 +111900,28 @@ aag aag aag aag -acf -aet -agB -akW -aYs -njn -rWz -rWz -rWz -rWz +abs +adq +afr +akc +apg +gLl +mis +mis +mis +mis gxm -lbc -tpj -tpj +aoz +lmG +lmG gxm asm asm asm gxm -dgP -jao -uQi +gvu +xCB +tJm sqf sOZ oNJ @@ -111530,23 +111941,23 @@ ajl aCp alD ajl -kiq -jao -uQi +evM +xCB +tJm gxm alW alW alW gxm -nVA -nVA -wZk +mWJ +mWJ +kbl gxm -rgL -rgL -rgL -rgL -nIN +ojX +ojX +ojX +ojX +vIo vpn csI goL @@ -111692,28 +112103,28 @@ aag aag aag aag -acv -aez -boL -akY -boL +abw +eJU +awW +akt +awW avJ -rWz -rWz -rWz -rWz +mis +mis +mis +mis gxm -tpj -tpj -tpj +lmG +lmG +lmG gxm asm asm asm gxm -dgP -mxg -mOw +gvu +lSN +kaj sqf anq awn @@ -111733,22 +112144,22 @@ fQu akx alD gWG -dgP -jao -uQi +gvu +xCB +tJm gxm alW alW alW gxm -nVA -nVA -nVA +mWJ +mWJ +mWJ gxm -rgL -rgL -rgL -rgL +ojX +ojX +ojX +ojX qxz baw sMM @@ -111895,28 +112306,28 @@ aag aag aag aag -acv -aez -boL -akY -aqk -njn -rWz -rWz -rWz -rWz +abw +eJU +awW +akt +aAn +gLl +mis +mis +mis +mis gxm -tpj -tpj -tpj +lmG +lmG +lmG gxm asm asm asm gxm -dgP -jao -uQi +gvu +xCB +tJm sqf anr awn @@ -111936,23 +112347,23 @@ fQu akx alD gWG -dgP -jao -uQi +gvu +xCB +tJm gxm alW alW alW gxm -nVA -nVA -nVA +mWJ +mWJ +mWJ gxm -rgL -rgL -rgL -rgL -nIN +ojX +ojX +ojX +ojX +vIo xuY sMM baw @@ -112098,28 +112509,28 @@ aag aag aag aag -acf -aet -agS -aiP -aYq -njn -rWz -rWz -rWz -rWz +abs +adq +aeZ +aka +aoI +gLl +mis +mis +mis +mis gxm -tpj -tpj -tpj +lmG +lmG +lmG gxm asm asm asm gxm -maF -jao -uQi +hwB +xCB +tJm sqf sqf awp @@ -112139,23 +112550,23 @@ ajl hVz alD ajl -tWf -jao -uQi +lXR +xCB +tJm gxm alW alW alW gxm -nVA -nVA -nVA +mWJ +mWJ +mWJ gxm -rgL -rgL -rgL -rgL -nIN +ojX +ojX +ojX +ojX +vIo gnv yhI tTu @@ -112301,28 +112712,28 @@ aag aag aag aag -acf -aet -afB -akW -biT -njn -njn -njn -njn -njn +abs +adq +sSj +akc +rMh +gLl +gLl +gLl +gLl +gLl gxm -hWV -hWV -hWV +qqa +qqa +qqa gxm gxm gxm gxm gxm -mYd -lOn -xwU +atz +nbH +tyC ajl qhx akw @@ -112342,23 +112753,23 @@ ajl nMV vIf ajl -maF -lOn -nwu +hwB +nbH +yeg gxm gxm gxm gxm gxm -hWV -hWV -hWV +qqa +qqa +qqa gxm -nIN -nIN -nIN -nIN -nIN +vIo +vIo +vIo +vIo +vIo crh csI qhb @@ -112504,28 +112915,28 @@ aag aag aag aag -acv -aez -boL -boL -boL -ahl -cWv -cWv -cWv -cWv -omp -kmx -xog -xog -vFy -ltt -fCP -vUO -fCP -xRn -lOn -kGS +abw +eJU +awW +awW +awW +wAE +iKy +iKy +iKy +iKy +tMi +lCg +knb +knb +jsd +iKy +iKy +udv +iKy +gre +nbH +dME bVE aos akw @@ -112545,23 +112956,23 @@ ans aos alE bVE -kGS -lOn -mnC -vUO -qRx -fCP -ltt -cuI -ocX -ocX -sYj -fvj -fCP -fCP -kGS -fCP -oiB +dME +nbH +kPa +iKy +gDk +iKy +iKy +gOa +lCg +lCg +lCg +ccx +iKy +iKy +iKy +iKy +wAE baw baw qYC @@ -112707,28 +113118,28 @@ aag aag aag aag -acv -aez -boL -asS -boL -ceu -boL -boL -boL -boL -fGD -bfb -qEc -qEc -qEc -ltt -gfv -gfv -gfv -gfv -aPC -tzF +abw +eJU +awW +aTm +awW +wAE +qQu +qQu +qQu +qQu +kVW +kVW +oFz +oFz +oFz +qQu +dcR +dcR +dcR +dcR +hWa +cEG aEe akA akA @@ -112748,23 +113159,23 @@ akA oap aSb aEe -tzF -lzF -gfv -gfv -gfv -gfv -ltt -qEc -qEc -qEc -rWP -fGD -acQ -acQ -acQ -acQ -uQi +cEG +rxQ +dcR +dcR +dcR +dcR +qQu +oFz +oFz +oFz +kVW +kVW +qQu +qQu +qQu +qQu +wAE baw vbB ley @@ -112838,7 +113249,7 @@ bst cjW rlZ rlZ -hrJ +oRy kan biy boX @@ -112910,28 +113321,28 @@ aah aah aah aah -acf -acf -boL -ale -bDD -nub -dux -iYr -dux -ado -ltt -uVZ -qxK -qxK -rYG -ltt -qxK -qxK -qxK -bTD -mxg -uQi +abs +abs +awW +vGQ +ajE +wAE +dME +epT +dME +aVK +llo +llo +llo +llo +epT +llo +llo +llo +llo +aWM +lSN +tJm vOy vOy vOy @@ -112951,23 +113362,23 @@ vOy wMO wky sqf -bNI -mxg -uIa -qxK -qxK -qxK -ltt -rYG -qxK -qxK -fdf -ltt -qxK -kGS -ftZ -qxK -fdf +bgN +lSN +nyK +llo +epT +llo +llo +llo +llo +llo +llo +epT +llo +dME +bRO +llo +wAE baw dBp gVA @@ -113115,10 +113526,10 @@ aaa aaa aaa acf -aet -aet biV +aet biV +aet ekY aet ekY @@ -113132,9 +113543,9 @@ abE abE abE abE -bff -rnd -fdf +cXq +bXc +vZJ vOy nos fcy @@ -113148,25 +113559,25 @@ vAQ qIL ncE vWt -kNx +gei vOy ayX kXw pxo sqf -uVZ -rnd -fdf -mRU -mRU -mRU -mRU -mRU -mRU -mRU -mRU -mRU -mRU +lPY +bXc +vZJ +pBG +pBG +pBG +pBG +pBG +pBG +pBG +pBG +pBG +pBG oiq mRU mRU @@ -113335,9 +113746,9 @@ gwo aed aeG abE -umI -fsu -umI +rSW +dNv +rSW vOy oNp aSn @@ -113357,19 +113768,19 @@ niL kXw pxo sqf -umI -uch -umI -mRU -qSw -qSw -qSw -qSw -fHM +rSW +dYl +rSW +pBG +rdZ +rdZ +rdZ +rdZ +bCs pBG rLp ttX -mRU +pBG vpf mRU vor @@ -113538,9 +113949,9 @@ adF aef dWw agA -okx -hgA -xfo +mRJ +fjA +gqH vOy anz vgx @@ -113560,19 +113971,19 @@ aCC kXw pxo asn -okx -cFH -xfo -mRU -qSw -qSw -qSw -qSw -qSw +mRJ +oEn +gqH +pBG +rdZ +rdZ +rdZ +rdZ +rdZ pBG jZU jAe -mRU +pBG jtU mRU tNw @@ -113650,7 +114061,7 @@ xMs cjW rlZ rlZ -jbO +kSC kan quv rZB @@ -113741,9 +114152,9 @@ adF aef aef uZZ -kGS -bNT -rmB +muW +lGh +bBH vOy awQ oLU @@ -113763,19 +114174,19 @@ edv kXw pxo asn -eWN -lOn -rmB -mRU -qSw -qSw -qSw -qSw -qSw +lXl +yiu +bBH +pBG +rdZ +rdZ +rdZ +rdZ +rdZ pBG cVq nOb -mRU +pBG vpI mRU mRU @@ -113944,9 +114355,9 @@ adF bls aeH agq -nIF -ijn -rmB +ijd +efV +bBH vOy hng dnC @@ -113966,19 +114377,19 @@ aCt kXw pxo asn -eWN -jao -hCF -mRU -qSw -qSw -qSw -qSw -qSw +lXl +poD +qmW +pBG +rdZ +rdZ +rdZ +rdZ +rdZ pBG dzp ngV -mRU +pBG jtU jtU uBx @@ -114147,9 +114558,9 @@ adF aef kqN agA -eWN -mxg -hCF +lXl +qdJ +qmW vOy xyt wiW @@ -114169,10 +114580,10 @@ vOy mFq vqW sqf -jMP -jao -rmB -mRU +rnM +poD +bBH +pBG pBG pBG pBG @@ -114181,7 +114592,7 @@ pBG pBG saL pBG -mRU +pBG mRU mRU mRU @@ -114350,9 +114761,9 @@ aef aef tRD abE -ciI -mxg -rmB +tkF +qdJ +bBH vOy iYf bIM @@ -114372,15 +114783,15 @@ hPe sdu btC vLj -nIF -ijn -rmB -dyJ +ijd +efV +bBH +rRT pBG gqQ cHG nQA -wph +dAl pyx lKO pBG @@ -114553,9 +114964,9 @@ adF aef afs agA -eWN -lOn -rmB +lXl +yiu +bBH vOy mTp wiW @@ -114575,10 +114986,10 @@ lON dVu oDR vOP -kGS -fAW -vlR -qPv +muW +cDI +tru +uXE qvL wmP wmP @@ -114756,9 +115167,9 @@ adD sOw afs agA -eWN -lOn -rmB +lXl +yiu +bBH vOy axn dRh @@ -114778,10 +115189,10 @@ vOy aRd aIo vOy -gyb -lOn -rmB -aRl +whc +yiu +bBH +mxq pBG lvb eAN @@ -114959,9 +115370,9 @@ adF aef afs agA -eWN -lOn -rmB +lXl +yiu +bBH vOy aAr pGK @@ -114981,9 +115392,9 @@ aCD hFC qmy vOy -eWN -lOn -rmB +lXl +yiu +bBH pBG pBG hEl @@ -115162,9 +115573,9 @@ aef aef pHG abE -ciI -jao -rmB +tkF +poD +bBH vOy aID gLc @@ -115173,9 +115584,9 @@ iit kZV vOy vOy -oIr +jpl vOy -wdo +wKL vOy vOy vOy @@ -115184,9 +115595,9 @@ aoM aoM vgB kgs -eWN -jao -rmB +lXl +poD +bBH bvX ojQ eAN @@ -115365,9 +115776,9 @@ adF aef aGS agA -eWN -jao -rmB +lXl +poD +bBH vOy aMd pGK @@ -115387,9 +115798,9 @@ prx fpT eVT kgs -eWN -jao -rmB +lXl +poD +bBH bvX kVV vQR @@ -115568,9 +115979,9 @@ adF aef nIS uZZ -kGS -jao -rmB +muW +poD +bBH vOy aMg aSo @@ -115590,9 +116001,9 @@ ger aoM aFf mmN -eWN -jao -rmB +lXl +poD +bBH bvX maO lPm @@ -115771,9 +116182,9 @@ adF aef nIS eWF -kGS -jao -rmB +muW +poD +bBH vOy aQZ bkT @@ -115791,11 +116202,11 @@ ggl jjS qMP kBP -aSl +kqo vOy -ciI -jao -hCF +tkF +poD +qmW pBG pBG pBG @@ -115974,9 +116385,9 @@ adF aef kqN agA -eWN -lOn -rmB +lXl +yiu +bBH vOy dVd lea @@ -115996,9 +116407,9 @@ vti vti aEZ vOy -eWN -lOn -rmB +lXl +yiu +bBH fKh gQk trU @@ -116177,9 +116588,9 @@ fcE aef uNN abE -iGZ -lOn -rmB +dfA +yiu +bBH vOy vOy vOy @@ -116188,9 +116599,9 @@ mSK mSK vOy vOy -ccc +voV wKP -ylc +hLr vOy vOy rhO @@ -116199,9 +116610,9 @@ nPE oqZ uaI vOy -eFI -lOn -rmB +hUu +yiu +bBH fKh iuG sOv @@ -116380,11 +116791,11 @@ aeI eva xzf abE -ciI -jao -uZI -cSM -xfo +tkF +poD +dSI +iLL +gqH vOy vOy vOy @@ -116402,9 +116813,9 @@ vOy vOy vOy vOy -czJ -jao -rmB +qQD +poD +bBH fKh ubI nQA @@ -116583,11 +116994,11 @@ aNi aNi aNi aNi -eFI -jao -gfv -gfv -rmB +hUu +poD +tsn +tsn +bBH vOy elR xXh @@ -116605,9 +117016,9 @@ dMK vOy vOy vOy -eWN -jao -rmB +lXl +poD +bBH pBG mGT nQA @@ -116786,11 +117197,11 @@ bhx vif aOR bsw -eWN -uSZ -rDm -ldq -rmB +lXl +hPZ +bPi +ava +bBH vOy wWz vHO @@ -116806,11 +117217,11 @@ ruc xOY wTM vOy -qqb -cSM -fvE -jao -hCF +uWk +iLL +lRh +poD +qmW pBG tGT nQA @@ -116989,11 +117400,11 @@ aco aco dYu bsw -cKW -xNl -dpS -jao -hCF +cOe +vwT +akh +poD +qmW vOy wWz anw @@ -117009,11 +117420,11 @@ wLy eiE wTM vOy -eWN -gFL -gDQ -xgE -rmB +lXl +mfO +mHY +yei +bBH fKh eYn nQA @@ -117194,9 +117605,9 @@ cCa aNi aNi aNi -jMP -mxg -rmB +rnM +qdJ +bBH vOy wWz ovG @@ -117212,11 +117623,11 @@ gxP aOe wTM vOy -nLM -lOn -acQ -acQ -rmB +piQ +yiu +xIj +xIj +bBH fKh wvo nQA @@ -117397,9 +117808,9 @@ qiy ahR ahR egt -tzF -gIN -rmB +shC +vIZ +bBH vOy woh vgO @@ -117415,11 +117826,11 @@ qxm vgO xAe vOy -oxg -jao -iUV -xNl -xZf +psk +poD +sin +vwT +gsJ fKh lDa eAN @@ -117600,9 +118011,9 @@ hpY aOR aOR bgK -kGS -mxg -rmB +muW +qdJ +bBH vOy vOy vOy @@ -117618,9 +118029,9 @@ aoK vOy vOy vOy -glc -jao -rmB +pLE +poD +bBH mRU mRU pBG @@ -117803,9 +118214,9 @@ aOR aOR agr aNi -eWN -bNT -rmB +lXl +lGh +bBH vOy vOy vOy @@ -117821,9 +118232,9 @@ vOy vOy vOy vOy -kbT -bNT -rmB +mIR +lGh +bBH mRU vpf pBG @@ -118006,9 +118417,9 @@ aNi aNi aNi aNi -glc -bNT -rmB +pLE +lGh +bBH bPF aqG ata @@ -118024,9 +118435,9 @@ vOy jyJ niF bPF -ciI -lOn -rmB +tkF +yiu +bBH mRU vpf pBG @@ -118209,9 +118620,9 @@ hoT tob tob fkK -kGS -bNT -kGS +muW +lGh +muW cbg aqG atb @@ -118227,9 +118638,9 @@ vOy sLk niF cbg -kGS -lOn -kGS +muW +yiu +muW rXF jtU jtU @@ -118396,25 +118807,25 @@ aam gxm hgk tob -cGd -cGd -cGd -cGd -cGd -cGd -cGd -cGd -cGd -cGd -cGd -cGd +njn +njn +njn +njn +njn +njn +njn +njn +njn +njn +njn +aej aej aej aej aej -jZW -bNT -rZC +gpT +lGh +cQF vOy vOy vOy @@ -118430,25 +118841,25 @@ vOy vOy vOy vOy -bxV -lOn -uAi -mRU -mRU -mRU -mRU -mRU -mRU -mRU -mRU -mRU -mRU -mRU -mRU -mRU -mRU -mRU -mRU +xac +yiu +vbU +nIN +nIN +nIN +nIN +nIN +nIN +nIN +nIN +nIN +nIN +nIN +nIN +nIN +nIN +nIN +nIN jtU vpf gxm @@ -118599,25 +119010,25 @@ aam gxm bLf tob -cGd -vVY -vVY -vVY -vVY -kLB -vVY -vVY -vVY -vVY -kLB +njn +rWz +rWz +rWz +rWz +rCZ +rWz +rWz +rWz +rWz +rCZ aej aeO afG ags aej -eWN -bNT -rmB +lXl +lGh +bBH vOy elR xXh @@ -118633,25 +119044,25 @@ xXh xXh dMK vOy -eWN -lOn -rmB -mRU -bnF -lBw -bnF -mRU -qSw -qSw -qSw -qSw -urg -qSw -qSw -qSw -qSw -urg -mRU +lXl +yiu +bBH +nIN +iIb +wui +iIb +nIN +rgL +rgL +rgL +rgL +lAW +rgL +rgL +rgL +rgL +lAW +nIN jtU nVE gxm @@ -118802,25 +119213,25 @@ aam gxm rGz tob -cGd -vVY -vVY -vVY -vVY -vVY -vVY -vVY -vVY -vVY -vVY +njn +rWz +rWz +rWz +rWz +rWz +rWz +rWz +rWz +rWz +rWz aej aeP agI aia yaz -kGS -mxg -rmB +muW +qdJ +bBH vOy wWz vHO @@ -118836,25 +119247,25 @@ uXj rdt wTM vOy -eWN -jao -rmB -eyI -jtU -jaW -vkV -mRU -qSw -qSw -qSw -qSw -qSw -qSw -qSw -qSw -qSw -qSw -mRU +lXl +poD +bBH +aQx +xzh +sjM +oIn +nIN +rgL +rgL +rgL +rgL +rgL +rgL +rgL +rgL +rgL +rgL +nIN jtU bWg gxm @@ -119005,25 +119416,25 @@ gxm gxm hqb vsd -cGd -vVY -vVY -vVY -vVY -vVY -vVY -vVY -vVY -vVY -vVY +njn +rWz +rWz +rWz +rWz +rWz +rWz +rWz +rWz +rWz +rWz aej aeQ agK agu eup -kGS -mxg -rmB +muW +qdJ +bBH vOy wWz uwZ @@ -119039,25 +119450,25 @@ coZ sNz wTM vOy -eWN -jao -rmB -eyI -yfL -sjw -xHD -mRU -qSw -qSw -qSw -qSw -qSw -qSw -qSw -qSw -qSw -qSw -mRU +lXl +poD +bBH +aQx +bcg +bkM +gYp +nIN +rgL +rgL +rgL +rgL +rgL +rgL +rgL +rgL +rgL +rgL +nIN jZo hQK gxm @@ -119098,7 +119509,7 @@ vvH bwG bwG nsY -wpz +gAP oEX irT tyb @@ -119208,25 +119619,25 @@ ouf aLc wBI hGG -cGd -vVY -vVY -vVY -vVY -vVY -vVY -vVY -vVY -vVY -vVY +njn +rWz +rWz +rWz +rWz +rWz +rWz +rWz +rWz +rWz +rWz aej aeR agK agu aej -ftb -mqR -djd +dfA +qdJ +qmW vOy wWz pEJ @@ -119242,25 +119653,25 @@ xQm tfH wTM vOy -ddx -pFf -xZf -eyI -byH -jtU -nvd -mRU -qSw -qSw -qSw -qSw -qSw -qSw -qSw -qSw -qSw -qSw -mRU +piQ +poD +bBH +aQx +viv +xzh +syp +nIN +rgL +rgL +rgL +rgL +rgL +rgL +rgL +rgL +rgL +rgL +nIN vmJ elv vRR @@ -119411,25 +119822,25 @@ ouf sdf cRL hGG -cGd -cGd -cGd +njn +njn +njn ahi -cGd -cGd -cGd -cGd +njn +njn +njn +njn uux -cGd -cGd +njn +njn aej aej agO aid aej -umI -fsu -umI +cOe +vZI +gsJ vOy wWz uwZ @@ -119445,26 +119856,26 @@ vfP sNz wTM vOy -umI -fsu -umI -mRU -mRU -veW -mRU -mRU -mRU -mRU +cOe +vZI +gsJ +nIN +nIN +cyh +nIN +nIN +nIN +nIN nNX -mRU -mRU -mRU -mRU +nIN +nIN +nIN +nIN ayo -mRU -mRU -mRU -cna +nIN +nIN +nIN +vmJ nzD xDV qXS @@ -119615,8 +120026,8 @@ fTj jOD oOw cPK -oXt -loz +sPb +dlo sAz jZC uyd @@ -119624,15 +120035,15 @@ ito cuN cQW lQa -wjE -vuE -bkb -kGS -kGS -pvi -bgh -spW -pjQ +sPb +gtg +ilq +aMy +aMy +wNC +hOn +sYU +xCs vOy wWz qxP @@ -119648,15 +120059,15 @@ gxP nMe wTM vOy -bgh -spW -pjQ -eJg -bkb -kGS -rRf -pOC -qtj +hOn +sYU +xCs +wNC +kin +oQI +laI +qwU +neZ fpA qUx gUS @@ -119665,7 +120076,7 @@ kMp jkB hlT qNI -hRc +wrX tqO kdn nyS @@ -119818,7 +120229,7 @@ dho wVt wVt jlc -ngE +sVV kbv dTn kbv @@ -119827,15 +120238,15 @@ kbv jlc kbv dTn -ngE -acQ -acQ -acQ -acQ -xdl -klr -bNT -dOW +sVV +sVV +sVV +sVV +sVV +wNC +sfz +lGh +xLw vOy woh vgO @@ -119851,15 +120262,15 @@ vgO vgO xAe vOy -gTV -mGk -xFW -lrd -kkI -kkI -kkI -kkI -usL +uAP +rgO +kak +nOp +cMz +cMz +cMz +cMz +cMz gsC cMz qLg @@ -119868,7 +120279,7 @@ cMz cMz gsC cMz -usL +bTY qLg iup ryY @@ -120021,8 +120432,8 @@ bGa dVn vwC fbR -gcq -xci +xMz +kMV eON gxn vEV @@ -120030,15 +120441,15 @@ xMz sdv xMO wDg -vHA -waV -iGE -kGS -kGS -pjY -gqv -hKJ -nww +xMz +lIY +gxn +aMy +aMy +wNC +wlr +xyp +mnf vOy vOy vOy @@ -120054,15 +120465,15 @@ vOy vOy vOy vOy -xvO -peu -nww -vcO -ssF -kGS -bij -hux -kfo +gPA +eWf +mnf +wNC +gVW +oQI +iaO +vUn +atJ rCl ePM pzd @@ -120071,7 +120482,7 @@ nNx pMA ncT gHh -kfo +oWx dbc cNM ofU @@ -120220,65 +120631,65 @@ vHn ggD tob cGd -cGd -cGd -cGd -cGd -cGd -cGd +njn +njn +njn +njn +njn +njn hZE sVV oON -cGd -cGd -cva -cGd -cGd +njn +njn +daI +njn +njn ael ael agQ aih ael -htF -bNT -jvz -ltt -pPU -pPU -ecz -pPU -pPU -pPU -pPU -pPU -pPU -pPU -ecz -pPU -pPU -ltt -riK -bNT -hmB -mRU -mRU -gBs -mRU -mRU -mRU -gBs -mRU -mRU -mRU +hyT +lGh +iCg +cGO +cGO +cGO +rpV +cGO +cGO +cGO +cGO +cGO +kaO +cGO +rpV +cGO +cGO +cGO +cDP +lGh +tkd +nIN +nIN +rBD +nIN +nIN +nIN +rBD +nIN +nIN +nIN mKi sfT hGV -mRU -mRU -mRU -mRU -mRU -mRU +nIN +nIN +nIN +nIN +nIN +nIN mRU vpf tMU @@ -120423,65 +120834,65 @@ vHn hgk hoT hoT -cGd -vVY -vVY -vVY -tvS -cGd +njn +rWz +rWz +rWz +jXN +njn xVe sVV mbx -cGd -orq -rRb -qjT -kRk +njn +tXa +gJg +tSX +lzt ael afE agT agT ael -oPT -lOn -acQ -ltt -acQ -gfv -gfv -gfv -acQ -gfv -gfv -gfv -acQ -gfv -gfv -gfv -jRg -ltt -acQ -bNT -oNa -mRU -tih -vpf -tih -mRU -jwM -jtU -jtU -jHX -mRU -aDS +ogT +yiu +xIj +xIj +xIj +tsn +tsn +tsn +xIj +tsn +tsn +tsn +xIj +tsn +tsn +tsn +xIj +xIj +xIj +lGh +syO +nIN +aGm +gNo +aGm +nIN +uig +xzh +xzh +fje +nIN +aNO sfT hGV -mRU -qSw -qSw -qSw -vMQ -mRU +nIN +rgL +rgL +rgL +laD +nIN upS jtU jtU @@ -120626,65 +121037,65 @@ vHn vHn tob tob -cGd -vVY -vVY -vVY -vVY -cGd +njn +rWz +rWz +rWz +rWz +njn hHe gxn ioH -cGd -mNS -tob -hvq -pCQ +njn +jXk +cGR +wks +jFM ael afH agV ain ael -bMV -jao -tbF -ltt -dZP -tbF -dZP -eQh -mTo -tCD -tCD -tCD -mTo -wyE -dZP -dKD -dZP -ltt -dKD -bNT -enF -mRU -mRU -jtU -wlB -mRU -bBc -vpf -jtU -bBc -mRU +cQC +poD +rjr +aMl +aMl +rjr +aMl +iSx +dUR +kaE +kaE +kaE +eRI +qvh +aMl +xXd +aMl +aMl +xXd +lGh +iMD +nIN +nIN +xzh +uVY +nIN +lbO +gNo +xzh +lbO +nIN uRY pMA waJ -mRU -qSw -qSw -qSw -qSw -mRU +nIN +rgL +rgL +rgL +rgL +nIN oNM vpf woU @@ -120829,35 +121240,35 @@ aag vHn hoT hoT -cGd -vVY -vVY -vVY -vVY +njn +rWz +rWz +rWz +rWz aba aGA kbv fZo -cGd -nnH -hoT -hoT -eJj +njn +pKL +jsA +jsA +qTi ael afI agY oxi xfm -jux -gIN -jvz -mOi +lDH +vIZ +iCg mOi mOi mOi mOi mOi -auc +sOK +tAt auc hyE aqU @@ -120866,28 +121277,28 @@ aHq aHq aHq aHq -klr -mxg -qGZ -bMi -mRU -jtU -vpf -rXF -jtU -jtU -jtU -vpf -mRU +sfz +qdJ +nZK +mOZ +nIN +xzh +gNo +aZv +xzh +xzh +xzh +gNo +nIN mzs aPT xyB ceD -qSw -qSw -qSw -qSw -mRU +rgL +rgL +rgL +rgL +nIN isq vpf woU @@ -121032,35 +121443,35 @@ aag vHn hoT tob -cGd -vVY -vVY -vVY -vVY -cGd +njn +rWz +rWz +rWz +rWz +njn mAF ilq pjj -cGd -dkt -tob -hoT -xfW +njn +kCl +cGR +jsA +uqs ael afJ agY aiq ajJ -dpS -mxg -iUV +xIj +qdJ +xIj mOi -rCw -rCw -lin -oJR -tFe -asD +onU +onU +qwJ +cOV +imS +rxl xQV qQS aqU @@ -121069,28 +121480,28 @@ dgg xRk bti aHq -rwf -mxg -qGZ -mqd -mRU -jtU -vzB -mRU -bBc -vpf -jtU -vpf -mRU +wvX +qdJ +nZK +olF +nIN +xzh +lZJ +nIN +lbO +gNo +xzh +vwj +nIN gfN efj sxE -mRU -qSw -qSw -qSw -qSw -mRU +nIN +rgL +rgL +rgL +rgL +nIN vpI jtU woU @@ -121235,65 +121646,65 @@ aag vHn tob xLu -cGd -vVY -vVY -vVY -vVY -cGd +njn +rWz +rWz +rWz +rWz +njn hZE kbv mbx -cGd -gMJ -tob -hoT -xfW +njn +ePz +cGR +jsA +uqs ael afK ahc air ael -nBo -mxg -uZI +sgH +qdJ +xIj mOi -wCT -sIf -isC -isC +eXy +vRA +ezq +ezq tFe xQV -xQV -rNF +pax +tCC aqU qjF oqv iqd rUy cnS -klr -mxg -pSN -mRU -mRU -jtU -oNM -mRU -tih -ycM -jtU -vpf -mRU +sfz +qdJ +qTS +nIN +nIN +xzh +oIY +nIN +aGm +qoM +xzh +gNo +nIN aDS aPT hGV -mRU -qSw -qSw -qSw -qSw -mRU +nIN +rgL +rgL +rgL +rgL +nIN jtU vpf woU @@ -121438,65 +121849,65 @@ aag vHn tob hUb -cGd -cGd -cGd -cGd -cGd -cGd +njn +njn +njn +njn +njn +njn laM kbv nkH -cGd -eJZ -rRb -cXd -xew +njn +bVR +gJg +sPa +mSo ael afL ahe aij ael -acQ -lOn -acQ +xIj +yiu +xIj mOi -kbH -kbH -pgH -jDV +mAs +mAs +flR +uMO tFe xVc xQV -eYz +vpH aqU gjB wDy aGN dxv cnS -riK -mxg -kGS -rXF -vpf -vpf -aBQ -mRU -mRU -mRU -gBs -mRU -mRU +cDP +qdJ +muW +aZv +gNo +gNo +pga +nIN +nIN +nIN +rBD +nIN +nIN oIa aPT bqY -mRU -mRU -mRU -mRU -mRU -mRU +nIN +nIN +nIN +nIN +nIN +nIN vpf vpf woU @@ -121641,65 +122052,65 @@ aag vHn tJq bLf -cGd -vVY -vVY -vVY -tvS -cGd +njn +rWz +rWz +rWz +jXN +njn hZE kbv mbx -cGd -cva -cGd -cGd -cGd +njn +daI +njn +njn +njn adO adO adO adO adO -frI -lOn -oNa +iWB +yiu +syO mOi mOi mOi mOi mOi mOi -asF -asG -iyH +mAe +mAe +mAe aqU jVE nTs pje pje cnT -meS -gUk -naj -mRU -mRU -mRU -mRU -mRU -jwM -oZn -jtU -lPW -mRU +trx +gnK +aNE +nIN +nIN +nIN +nIN +nIN +uig +hPL +xzh +dMj +nIN aDS aPT hGV -mRU -qSw -qSw -qSw -vMQ -mRU +nIN +rgL +rgL +rgL +laD +nIN wUJ vpf woU @@ -121748,9 +122159,9 @@ hfa jwK wnY cLC -eGh +lyh rtA -uKv +esn nFK lEO xWd @@ -121794,7 +122205,7 @@ lzq nyQ nhx eiq -teu +oEA wXH xBQ mSU @@ -121844,65 +122255,65 @@ aag vHn hoT rGz -cGd -vVY -vVY -vVY -vVY -cGd +njn +rWz +rWz +rWz +rWz +njn hHe gxn gKd -cGd -hoT -hoT -svV -rIE +njn +jsA +jsA +wET +gxk adO afM fpR ahf adO -dni -jao -acQ +oDm +poD +xIj +mOi +mzP +mzP +nkK +tqu aqU -sdl -mLE -bUx -mLE -tmK -qQS -aug -avL +gpW +ofY +eQj aqU lyE rsO aGN rbB cnS -dKD -mxg -jvz +xXd +qdJ +iCg aUH aXx jKI aXx -mRU -tih -vpf -jtU -vpf -mRU +nIN +aGm +gNo +xzh +gNo +nIN lCL pMA gcm -mRU -qSw -qSw -qSw -qSw -mRU +nIN +rgL +rgL +rgL +rgL +nIN uNz jtU woU @@ -122047,65 +122458,65 @@ aag vHn tob alh -cGd -vVY -vVY -vVY -vVY +njn +rWz +rWz +rWz +rWz bWh hmj kbv fZo -cGd -ykY -hoT -hoT -tjz +njn +iSd +jsA +jsA +qbP adO afN ahh aiw ahG -kGS -mxg -acQ -aqU -xbN -gfE -gfE -kpc -aqU -gjw -cnp -avM +muW +qdJ +xIj +mOi +mzP +mzP +cJv +xQV +mCx +qQS +tIu +uPI aqU wmK liJ pTj cnq cnS -klr -jao -acQ +sfz +poD +xIj aUH oyE mMP mMP -mRU -jtU -vpf -jtU -vpf -mRU +nIN +xzh +gNo +xzh +gNo +nIN mzs aPT xyB cix -qSw -qSw -qSw -qSw -mRU +rgL +rgL +rgL +rgL +nIN bWg jtU woU @@ -122250,65 +122661,65 @@ aag vHn btV hoT -cGd -vVY -vVY -vVY -vVY -cGd +njn +rWz +rWz +rWz +rWz +njn mAF ilq pjj -cGd -boU -nNI -hoT -veO +njn +xqh +svq +jsA +xGI adO afO ahh aiw adO -mQF -yaR -mQF -lmK -lmK -lmK -lmK -lmK -ntj -ntj -ntj -ntj -ntj +xIj +qdJ +xIj +ryn +ryn +ryn +ryn +ryn +mOi +xdA +qQS +uUB +aqU aHq cnH kzk cnR aHq -mQF -yaR -mQF +xIj +qdJ +xIj aUH sIA gSj aXA -mRU -jtU -vpf -jtU -bBc -mRU +nIN +xzh +gNo +xzh +lbO +nIN gfN efj sxE -mRU -qSw -qSw -qSw -qSw -mRU +nIN +rgL +rgL +rgL +rgL +nIN kUL tMU woU @@ -122401,7 +122812,7 @@ bNE wDJ ivs nyQ -dXH +vqI vWB bSK nyQ @@ -122453,65 +122864,65 @@ aag vHn tob tob -cGd -vVY -vVY -vVY -vVY -cGd +njn +rWz +rWz +rWz +rWz +njn xXT sVV tkR -cGd -ipr -pUL -tob -eQd +njn +ugo +uTl +cGR +wnb adO jkj ahh aiw adO -ebV -mbu -kCo +eMr +lGh +xIj ioU pvK qPE xqD -nYf -rEL -dnm -rEL -rxO -aHq +ioU +ntj +ntj +ntj +ntj +ntj cnE liJ hgB cbn aHq -ebV -qGP -pym +eMr +gqz +shC aUd ckK iKM aHM -mRU -jtU -vpf -lPW -vwJ -mRU +nIN +xzh +gNo +dMj +vNo +nIN nme sfT vAH -mRU -qSw -qSw -qSw -qSw -mRU +nIN +rgL +rgL +rgL +rgL +nIN edG vpf woU @@ -122656,65 +123067,65 @@ aag vHn hoT hoT -cGd -cGd -cGd -cGd -cGd -cGd +njn +njn +njn +njn +njn +njn ehL kyr chb -cGd -cGd -cGd -moK -cGd -cGd +njn +njn +njn +eDe +njn +njn lFt ahh aiw adO -qHu -hqx -kCo +ogT +yiu +xIj ioU qyZ wTd cmK -lFm -kXu -kXu -kXu -kXu +cyP +kSi +mmn +kSi +qyA kXu jHC liJ qmP uoH aHq -kCo -mbu -kCo +xIj +lGh +xIj aUH dbv lII aWc -mRU -gBs -mRU -mRU -mRU -mRU +nIN +rBD +nIN +nIN +nIN +nIN tCx ncG tZg -mRU -mRU -mRU -mRU -mRU -mRU +nIN +nIN +nIN +nIN +nIN +nIN jtU jtU woU @@ -122868,19 +123279,19 @@ rpG cSa aeA sjz -rpG -hqm -tob -tob -hoT -fkK +hbl +qYz +cGR +cGR +jsA +cdZ aiw ahh aiw nph -kCo -tSY -kCo +xIj +poD +xIj ioU mSz nIG @@ -122896,19 +123307,19 @@ iKf aGN qrv aHq -hBa -gft -kCo +vcG +qdJ +xIj aGz ckd mQC aHM -rXF -jtU -jtU -egQ -ycM -rXF +aZv +xzh +xzh +kya +qoM +aZv wcm lJY guo @@ -123071,19 +123482,19 @@ cGd wYa nBK mzS -cGd -cGd -cGd -cGd -tob -cGd +njn +njn +njn +njn +cGR +njn afP ahh aiw nph -kCo -hqx -kCo +xIj +yiu +xIj ioU ioU ioU @@ -123099,19 +123510,19 @@ aGN aGN pSU aHq -qcL -gft -kCo +upW +qdJ +xIj aGz drk mQC mkG -mRU -vpI -mRU -mRU -mRU -mRU +nIN +qHT +nIN +nIN +nIN +nIN nuM uHr xwX @@ -123191,9 +123602,9 @@ bdl bdl bGo bGo -bPB +qjY pCr -bRR +jpD cpK cpK bdl @@ -123277,16 +123688,16 @@ aeA bbe aeA aeA -cGd -tob -cGd +njn +cGR +njn afQ aiw aiw nph -kCo -hqx -kCo +xIj +yiu +xIj ioU lPO vJg @@ -123302,16 +123713,16 @@ eEo aGN rub aHq -gar -gft -kCo +sgH +qdJ +xIj aGz eqB obC hcf -mRU -cpQ -mRU +nIN +nhN +nIN lJY lJY lFK @@ -123480,16 +123891,16 @@ asA amF kmE aeA -cGd -iTQ -cGd +njn +xzx +njn ahJ ahJ ahJ adO -kCo -tSY -kCo +xIj +poD +xIj ioU dnS viN @@ -123505,16 +123916,16 @@ aRi aGN qrv aHq -oUO -gft -kCo +fsh +qdJ +xIj aUH aGz aGz aGz -mRU -vzB -mRU +nIN +lZJ +nIN lJY qbx dcp @@ -123683,16 +124094,16 @@ aeC vOh gUX ily -cGd -moK -cGd -fiH -fiH -fiH -ybk -kCo -tSY -kCo +njn +eDe +njn +aeC +aeC +aeC +mdm +xIj +poD +xIj ioU pPM qKz @@ -123708,16 +124119,16 @@ xNv iLO bUa aHq -qHu -mbu -kCo -ybk -fiH -fiH -fiH -mRU -gBs -mRU +ogT +lGh +xIj +mdm +vcE +vcE +vcE +nIN +rBD +nIN cBb xVS lJY @@ -123886,16 +124297,16 @@ aeC aeC ajs aeC -bZq -fiH -rGc -xjI -xjI -fzm -pBg -gmZ -dpN -txd +mzS +aeC +oZI +fjo +fjo +opu +hlj +iso +dPB +mrO alL alL alL @@ -123911,16 +124322,16 @@ jvY alL alL alL -gmZ -onh -wJd -pBg -iOP -xjI -xjI -roY -vXk -jgS +iso +ceV +nsH +hlj +nvz +ner +ner +vdR +uHr +nuM vcE kUV vcE @@ -124082,23 +124493,23 @@ aeC wXh ayn atr -aeA +lMy aex ciw wXh aeC ydz ayb -rrG -gBZ -tGW -rfQ -rfQ -tGW -oOi -szb -rfQ -vnZ +jxq +fbV +msS +asA +asA +msS +nZf +rho +lDH +emL jvY jvY jvY @@ -124114,23 +124525,23 @@ jvY jvY jvY jvY -urs -eEF -wmH -oOi -rrG -rfQ -rfQ -rrG -sBK -tGW +gqI +iCT +qnH +nZf +ohi +yeH +yeH +ohi +oJK +qnX sSl kkx vcE kpo iMx tGi -lJY +cea bXe eyG kpo @@ -124285,23 +124696,23 @@ aeA asY ayQ atr -bbX +iDK atr ciD ngl aeA ajk aeA -iOP -fiH -dwJ -vXk -vXk -jgS -pBg -vkQ -brm -aOw +fXO +aeC +pdo +nBK +nBK +wYa +hlj +giW +mGL +qXh jvY arg atf @@ -124317,23 +124728,23 @@ jvY aMm aOq jvY -biB -uvq -cVT -pBg -bZq -vXk -vXk -siS -aRr -fzm +bgM +puP +tfF +hlj +xwX +uHr +uHr +ehm +nXG +qYd lJY xVS lJY ttS wEO faO -haM +cOd bXe deg wLu @@ -124405,7 +124816,7 @@ mCo iwZ jFy bKA -mPK +oNW dmF pXV bNP @@ -124488,23 +124899,23 @@ aeA atp ayR atr -eGb +iDK atr cji nqV aeA ajk ily -taw -mRI -taw -qnf -fiH -wPm -ybk -mQF -mQF -nbW +cMx +fVk +cMx +rjX +aeC +beN +mdm +lLt +xIj +oXP jvY arh atm @@ -124520,23 +124931,23 @@ jvY nSG aOs jvY -mQF -pZq -mQF -ybk -dJF -fiH -dAr -kNq -cWo -kNq +lLt +poD +vCv +mdm +rmo +vcE +uul +yat +qLk +yat cBb xVS lJY hlX umh bXe -lxT +cOd tGi pfH wlF @@ -124691,23 +125102,23 @@ aeC wXh ayn atr -aeA +rmG bXz ciw wXh aeC ajs qon -taw -obJ +cMx +gqx aep ggQ ggQ aME aep -ivV -jnx -iPK +lLt +kXD +eol jvY ari aoP @@ -124723,23 +125134,23 @@ axo atm aOr jvY -ivV -otE -ivV +lLt +poD +vCv aep aME ggQ aME aep -hog -kNq +dcX +yat dHe kUV vcE kpo iMx bXe -lJY +sZY mzF eyG kpo @@ -124901,16 +125312,16 @@ aeC aeC ajs aeC -taw -oxy +cMx +qbw aep afj afk agM aep -pEd -tbD -fDk +lLt +jrc +wdE jvY arj atm @@ -124926,16 +125337,16 @@ bzD atm aOs jvY -pEd -hqx -xhi +lLt +yiu +vCv aep aHS afk sHo aep -vmu -kNq +cnm +yat vcE kUV vcE @@ -125104,16 +125515,16 @@ aeC aeA ajk aeA -taw -oxy +cMx +qbw aep afk afk afk aep -pEd -tbD -fDk +lLt +jrc +wdE jvY ark atm @@ -125129,16 +125540,16 @@ axo atm thv jvY -pEd -hqx -xhi +lLt +yiu +vCv aep afk aHl afk aep -hLt -kNq +rZZ +yat lJY itR kKR @@ -125307,16 +125718,16 @@ asA amF ohL aeA -taw -oQL +cMx +oVo aep aep aep aep aep -pvE -tbD -fDk +umI +ddO +sRC jvY alL atk @@ -125332,16 +125743,16 @@ jvY aAy alL jvY -pEd -hqx -xhi +umI +juj +umI aep aep aep aep aep -ddF -kNq +lla +yat lJY ucw dcp @@ -125510,16 +125921,16 @@ ntI aeA aeC puO -taw -oxy -eRG +cMx +qbw +xnh aep aep aep aep -pEd -tbD -fDk +sHI +cNC +cla jvY arl atm @@ -125535,16 +125946,16 @@ alL aMo aOt jvY -pEd -hqx -jhm +sHI +lOn +wCe oIB jgr -qUG +cXz rtc oIB -vmu -kNq +cnm +yat lJY uxC lJY @@ -125707,22 +126118,22 @@ atr aeC atr aeC -taw -taw -taw -taw +cMx +cMx +cMx +cMx mRI -taw -taw -oxy -hja -taw -taw -taw -taw -pEd -tbD -fDk +cMx +cMx +qbw +rYU +cMx +cMx +cMx +cMx +sHI +cNC +cla jvY abF atm @@ -125738,17 +126149,17 @@ aIT atm aVF jvY -pEd -wZp -amc +sHI +aPC +pKH oIB fXE kaS aiQ oIB -vmu -kNq -kNq +cnm +yat +yat kNq kNq qDB @@ -125910,22 +126321,22 @@ atr aeC atr aeC -taw -hEj -cvi -taw +cMx +jrC +jYa +cMx wFX -taw -ncV -oxy -oQL -taw -oQL -oQL -taw -pqv -gqf -fDk +cMx +kqa +qbw +oVo +cMx +oVo +oVo +cMx +nSw +pqY +cla jvY jvY jvY @@ -125941,17 +126352,17 @@ jvY jvY jvY jvY -xeq -hqx -xhi +sjG +lOn +qhT oIB wqr bZw xUV oIB -vmu -vDR -kNq +cnm +cjm +yat toD wDq aPO @@ -126113,22 +126524,22 @@ atu azU aeC ldl -taw -oxy -stA -taw +cMx +qbw +iAI +cMx tvA -taw -oTc -nwT -ocI -mfH -nwT -nwT -mfH -pym -gqf -fDk +cMx +iml +fIK +kZc +wuS +fIK +fIK +wuS +tzF +pqY +cla alL urM dBG @@ -126144,17 +126555,17 @@ jvY wjv fDG alL -pEd -wZp -pym +sHI +aPC +tzF qgK tEB uBM dXo oIB -xPu -uOE -kNq +fME +kon +yat swG jei aPO @@ -126316,22 +126727,22 @@ taw taw mRI taw -taw -wpT -stA -taw +cMx +vPT +iAI +cMx wTn -taw -nQw -oxy -wjP -taw -oQL -oQL -taw -gbR -tbD -chC +cMx +cLd +qbw +pTI +cMx +oVo +oVo +cMx +nWf +cNC +igC aqe amw anO @@ -126347,17 +126758,17 @@ arq anO qaV kwd -urs -hqx -tFQ +acQ +lOn +qhT oIB wKF hzb ltU oIB -aPO -eDk -kNq +wSB +gAO +yat bCR jei aPO @@ -126519,22 +126930,22 @@ qlu taw wTn kCu -taw -uPN -stA -taw +cMx +sdd +iAI +cMx wFX -taw -lsh -oxy -hja -taw -oQL -hja -taw -bwN -gxR -lCc +cMx +nDH +qbw +rYU +cMx +oVo +rYU +cMx +nXV +wHr +vGi aqg arr atn @@ -126550,17 +126961,17 @@ atn atn aOB aRj -dZR -kWc -cwL +rUN +hft +swn oIB phj vEf cNK oIB -aPO -jei -oYr +xiW +mCg +ryJ aPO aPO aPO @@ -126722,22 +127133,22 @@ rWb taw oAK kCu -taw -mRI -taw -taw +cMx +fVk +cMx +cMx tvA -taw -oQL -oxy -oQL -taw -cap -fiN -taw -vkQ -kzR -mXP +cMx +oVo +qbw +oVo +cMx +iVz +rAS +cMx +sHI +tof +jao kwd amA atq @@ -126753,17 +127164,17 @@ atq atq aoT kwd -vkQ -kzR -oig +acQ +tof +wCe oIB cHC dha pxj oIB -aPO -oUx -kNq +wSB +hYj +yat fPF jei nNT @@ -126930,17 +127341,17 @@ oQL gqt oxy oxy -kiR -oxy -oxy -oQL -taw -taw -taw -taw -mQF -rnO -ogd +vTE +qbw +qbw +oVo +cMx +cMx +cMx +cMx +sHI +tof +eLV alO ars amx @@ -126956,9 +127367,9 @@ amx amx aOC alO -mQF -rnO -mQF +sHI +tof +qhT loP loP loP @@ -127042,7 +127453,7 @@ dJG sZe bdl ntd -hgO +jCm eqb mLR hdE @@ -127126,24 +127537,24 @@ fTl wIu wXJ taw -oxy +oNK kMa qIa iSB oxy oQL hdy -taw -oQL -oxy -oQL -taw -liF -wPR -taw -cui -fQU -onh +cMx +oVo +qbw +oVo +cMx +oaP +jhQ +cMx +kYb +tof +eLV inw amA amx @@ -127159,9 +127570,9 @@ atq amx aoT inw -ivV -fQU -hPr +sHI +tof +nii loP iwB tOC @@ -127336,17 +127747,17 @@ iKV oxy oQL oFr -taw -mUL -oxy -oQL -taw -oQL -oQL -taw -pEd -gBg -bLg +cMx +xnX +qbw +oVo +cMx +oVo +oVo +cMx +sHI +tof +ycA aqj arw anP @@ -127362,9 +127773,9 @@ atq atq wwJ inw -pEd -tbD -xhi +sHI +cNC +qhT loP joG sDu @@ -127539,17 +127950,17 @@ qAG oxy kMa gQu -taw -lsh -oxy -wjP -taw -oQL -oQL -taw -rhX -gBg -fDk +cMx +nDH +qbw +pTI +cMx +oVo +oVo +cMx +nWf +tof +cla inw qHM emn @@ -127565,9 +127976,9 @@ amx amx aBs inw -pEd -tbD -xhi +sHI +cNC +qhT loP kxo wSn @@ -127742,17 +128153,17 @@ ydf oxy wOv ixu -taw -wXJ -oxy -oxy -kiR -oxy -oxy -kiR -fiH -gBg -xsX +cMx +tNY +qbw +qbw +vTE +qbw +qbw +vTE +kGS +tof +dFB alO alO alO @@ -127768,9 +128179,9 @@ atq atq aBs alO -pEd -gBg -fiH +sHI +tof +kGS fTF xBY xBY @@ -127945,17 +128356,17 @@ cnP oxy wOv qlu -taw -qlu -oxy -oQL -taw -oQL -oQL -lnD -pEd -gBg -iea +cMx +qbU +qbw +oVo +cMx +oVo +oVo +btb +sHI +tof +sJN alO gKZ vTv @@ -127971,9 +128382,9 @@ atq atq aBs alO -pvE -tbD -xhi +uSk +cNC +qhT gdS wSn kXN @@ -128148,17 +128559,17 @@ lUQ oxy tBU iDs -taw -qlu -oxy -hja -taw -kLZ -tty -lnD -pEd -gBg -iea +cMx +qbU +qbw +rYU +cMx +pVh +mSl +btb +sHI +tof +sJN alO arz atq @@ -128174,15 +128585,15 @@ auB atc aOF alO -pEd -tbD -xhi +sHI +cNC +qhT gdS lBg dXd loP loP -eMh +xeU loP loP kNq @@ -128346,22 +128757,22 @@ mOE gUG oxy oQL -taw -taw -mRI -taw -taw -taw -ixu -oxy -oQL -taw -taw -taw -taw -pEd -gBg -iea +cMx +cMx +fVk +cMx +cMx +cMx +uyQ +qbw +oVo +cMx +cMx +cMx +cMx +sHI +tof +sJN alO arz atq @@ -128377,9 +128788,9 @@ aIU aMq aOG alO -pEd -gBg -xhi +sHI +tof +qhT loP loP loP @@ -128389,10 +128800,10 @@ vyI lPB oHl jWh -kNq -qDB -kNq -kNq +yat +rXq +yat +yat kNq kNq kNq @@ -128549,22 +128960,22 @@ oxy bCv oxy oQL -taw -gCQ -rEs -tvr -taw -lsh -oQL -oxy -oQL -aYU -uxs -iDs -taw -pEd -gBg -iea +cMx +aOS +gNI +eTm +cMx +nDH +oVo +qbw +oVo +oDa +yfn +nkc +cMx +sHI +tof +sJN alO arz atq @@ -128580,9 +128991,9 @@ xBe xBe xBe xBe -pEd -gBg -xhi +sHI +tof +qhT jWh eFK wGd @@ -128592,10 +129003,10 @@ hSk hSk uIv jWh -jZj -sRP -oko -kNq +dnh +bct +iDa +yat tiY qAK xGK @@ -128752,23 +129163,23 @@ oQL qmq oQL nXo -taw -gCQ -bNc -tCC -taw -ftG -oQL -oxy -oQL -oQL -oQL -keE -taw -pvE -gBg -iea -xnR +cMx +aOS +guP +mHT +cMx +kpL +oVo +qbw +oVo +oVo +oVo +iIU +cMx +uSk +tof +sJN +xHt arm ats auO @@ -128783,9 +129194,9 @@ aIV qqr arH xBe -pEd -gBg -xhi +sHI +tof +qhT vXd duF hSk @@ -128795,10 +129206,10 @@ hSk hSk uIv jWh -eHz -aPO -tMT -kNq +tFJ +wSB +uBG +yat jei ltm oAT @@ -128951,26 +129362,26 @@ aag aag fTl oxy -taw -taw -xcs -taw -taw -utC -oxy -ikC -vRJ -gNQ -laP -gNQ -gNQ -gNQ -gNQ -gNQ -xDG -tJH -qpH -iSu +cMx +cMx +orx +cMx +cMx +dtu +qbw +txf +ncx +whO +pJS +whO +whO +whO +whO +whO +bYL +dlT +qHD +qSp alO arA att @@ -128986,9 +129397,9 @@ azo aJg abR xBe -pEd -gBg -jhm +sHI +tof +wCe jWh oih khE @@ -128998,10 +129409,10 @@ vyI kpQ vSE jWh -nwA -xZz -kRN -kNq +dhA +iWn +mnB +yat jei ltm ejj @@ -129154,26 +129565,26 @@ aag aag fTl oxy -taw -tZM -qEZ -frV -taw -gCQ -uqJ -vbu -taw -taw -taw -mRI -taw -taw -taw -taw -taw -rhX -gBg -xhi +cMx +cMH +qvF +lat +cMx +aOS +tlM +dan +cMx +cMx +cMx +fVk +cMx +cMx +cMx +cMx +cMx +nWf +tof +qhT wDM wDM wDM @@ -129189,9 +129600,9 @@ atv auV amE xBe -pEd -gBg -xhi +sHI +tof +qhT jWh jWh uUz @@ -129201,10 +129612,10 @@ qbZ jWh jWh jWh -fQl -aPO -nGZ -kNq +tFO +wSB +flD +yat xQe jei lVR @@ -129357,15 +129768,15 @@ aag aag fTl lmq -taw -mDz -pIf -uwf -taw -gCQ -rEs -bhZ -taw +cMx +rBY +pTY +ueY +cMx +aOS +gNI +aPg +cMx uiG rTZ tfb @@ -129374,9 +129785,9 @@ tfb tfb tfb ptK -pEd -tbD -xhi +sHI +cNC +qhT wDM aOM aoW @@ -129392,9 +129803,9 @@ atv auV amE xBe -pEd -tbD -xhi +sHI +cNC +qhT jWh xXa xXa @@ -129404,10 +129815,10 @@ cKL jbH rJh jWh -rJY -dPl -qQG -kNq +pld +vhb +tie +yat cfm jei oSR @@ -129560,15 +129971,15 @@ aag aag fTl oxy -taw -taw -taw -taw -taw -taw -mRI -taw -taw +cMx +cMx +cMx +cMx +cMx +cMx +fVk +cMx +cMx bNM wkX jhx @@ -129577,9 +129988,9 @@ jhx jhx dnH gpc -fiH -tbD -xhi +tzF +pqY +qhT wDM uto aoX @@ -129595,9 +130006,9 @@ nNY qKi abR xBe -pvE -gxR -pym +uSk +wHr +tzF dEt soP pDr @@ -129607,10 +130018,10 @@ soP eoG uIv jWh -kNq -qDB -kNq -kNq +yat +rXq +yat +yat kNq fJp ekz @@ -129780,9 +130191,9 @@ nwU owg owg ptK -nhT -gqf -xhi +sHI +cNC +qhT wDM aOQ fxI @@ -129798,9 +130209,9 @@ azp qJf anV xBe -pEd -tbD -xhi +sHI +cNC +qhT jWh iqH khE @@ -129983,9 +130394,9 @@ eNi eNi eNi eNi -pEd -gBg -jhm +sHI +tof +wCe wDM aOH aJf @@ -130001,9 +130412,9 @@ xBe xBe xBe xBe -pEd -tbD -rXV +sHI +cNC +xmP jWh jWh jlQ @@ -130186,9 +130597,9 @@ olO wiG nWN eNi -pEd -tbD -xhi +sHI +cNC +qhT wDM wDM wDM @@ -130204,9 +130615,9 @@ aJh arq ufx alR -pEd -tbD -jhm +sHI +cNC +wCe jWh hSk hSk @@ -130389,9 +130800,9 @@ ueG rPt jyE eNi -pEd -tbD -xhi +sHI +cNC +qhT hwC rcS amx @@ -130407,9 +130818,9 @@ aJi azs atq alR -pEd -tbD -xhi +sHI +cNC +qhT jlQ tst uUe @@ -130592,9 +131003,9 @@ iKD rPt rPt eNi -pEd -tbD -xhi +sHI +cNC +qhT alR amA atq @@ -130610,9 +131021,9 @@ aJj aMD atq alR -pEd -tbD -xhi +sHI +cNC +qhT jlQ tZZ gLz @@ -130795,9 +131206,9 @@ eNi eNi gIh eNi -iIQ -gBg -xhi +hGb +tof +qhT alR amA atq @@ -130813,9 +131224,9 @@ amA ayl amx alR -pEd -tbD -xhi +sHI +cNC +qhT jWh jmQ vcu @@ -130998,9 +131409,9 @@ aWb dyK vzK wYY -pEd -gBg -xhi +sHI +tof +qhT alR amA atq @@ -131016,9 +131427,9 @@ aJl amx atq alR -pEd -tbD -xhi +sHI +cNC +qhT jlQ snE sGL @@ -131201,9 +131612,9 @@ tii eJX sAC wYY -pEd -gBg -xhi +sHI +tof +qhT alR amA amx @@ -131219,9 +131630,9 @@ aJk amx atq alR -pEd -tbD -xhi +sHI +cNC +qhT jlQ tZZ cBj @@ -131404,9 +131815,9 @@ sjj fzP sAC wYY -pEd -tbD -xhi +sHI +cNC +qhT alR amA atq @@ -131422,9 +131833,9 @@ xEO xEO lnP alR -pEd -tbD -jhm +sHI +cNC +wCe jWh qLs qLs @@ -131607,9 +132018,9 @@ fcM uzE qsL nim -prV -gqf -xhi +noe +pqY +qhT alR amA atq @@ -131625,9 +132036,9 @@ iWR iWR kbx alR -pEd -tbD -xhi +sHI +cNC +qhT jWh jWh jlQ @@ -131810,9 +132221,9 @@ xlC gyO kTN eNi -pvE -tbD -xhi +uSk +cNC +qhT alR amA atq @@ -131828,9 +132239,9 @@ xEO xEO aOV alR -pEd -tbD -xhi +sHI +cNC +qhT jWh wFQ bop @@ -132013,9 +132424,9 @@ oNb iFC qAA eNi -pEd -gBg -xhi +sHI +tof +qhT alR arK atc @@ -132031,9 +132442,9 @@ aJq aMG aOW alR -pEd -tbD -xhi +sHI +cNC +qhT jWh bXy bop @@ -132128,12 +132539,12 @@ oJk lNR lNR oJk -mXy +cNm oGh far vDo nnr -cNm +rKt ljv ljv sUi @@ -132216,9 +132627,9 @@ eNi eNi eNi eNi -mQF -rnO -mQF +sHI +tof +qhT alO alO alO @@ -132234,9 +132645,9 @@ alO alO alO alO -mQF -rnO -mQF +sHI +cNC +qhT jWh wFQ bop @@ -132419,9 +132830,9 @@ dWX owg owg ptK -bZq -hfc -jgS +knU +oOZ +hdP aqq aPa eky @@ -132437,9 +132848,9 @@ eky eky aPa aqq -bZq -hfc -lBf +knU +oOZ +doX jWh xXa xXa @@ -132622,9 +133033,9 @@ keR jhx keR dwI -pym -jae -tGW +tzF +eIY +vER hal uYg nau @@ -132640,9 +133051,9 @@ uYg nau uYg hal -rrG -jae -pym +sVv +eIY +tzF mPh soP tWi @@ -132825,9 +133236,9 @@ kPG kPG cVw ptK -iOP -xjI -fzm +eJg +bkb +pvi aqq eky aNl @@ -132843,9 +133254,9 @@ eky aNl eky aqq -iOP -xSl -fzm +eJg +lqL +pvi jWh tim uWV @@ -132928,7 +133339,7 @@ lKM sqg nSq oBr -fcS +sKf gdJ cjt pRZ @@ -133028,9 +133439,9 @@ ucp cIW ptK ptK -ybk -sDe -ybk +xga +kgV +xga aHe jlT exi @@ -133904,21 +134315,21 @@ aaa aKQ aaa aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aak +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa bdH aaa @@ -134107,21 +134518,21 @@ aaa aKQ aaa aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aak +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aaa aaa @@ -134310,21 +134721,21 @@ aaa aKQ aaa aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aak +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aaa aaa @@ -134452,10 +134863,10 @@ haO iYm fLl fLl -vjd -aRp -jBX -akS +wRk +eky +wZX +vUh aHe oxU bsy @@ -134463,10 +134874,10 @@ oir gzw shh aHe -tKf -jBX -aRp -quy +svf +wZX +eky +wuk eZm eZm bjt @@ -134513,21 +134924,21 @@ aaa aKQ aaa aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aak +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aaa aaa @@ -134553,7 +134964,7 @@ sqg ppM eTb hbs -vZU +xJV elx jnI oJk @@ -134716,21 +135127,21 @@ aaa aKQ aaa aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aak +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aaa aaa @@ -134919,21 +135330,21 @@ aaa aKQ aaa aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aak +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aaa aaa @@ -135122,21 +135533,21 @@ aaa aKQ aaa aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +aak +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aaa aaa @@ -135325,10 +135736,10 @@ aaa aKQ aaa aaa -aab -aaa -aaa -aaa +aak +bdH +bdH +bdH bdH bdH bdH @@ -135528,10 +135939,10 @@ aaa aKQ aaa aaa -aab -aaa -aaa -aaa +aak +bdH +bdH +bdH bdH bdH bdH @@ -135731,10 +136142,10 @@ aaa aKQ aaa aaa -aab -aaa -aaa -aaa +aak +bdH +bdH +bdH bdH bdH bdH @@ -135934,14 +136345,217 @@ aaa aKQ aaa aaa +aak +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +bdH +aad +aag +aag +nic +aIh +ppM +hsy +hsy +wTB +mlF +uXk +hmw +gSa +mtZ +hmv +fQn +wSV +ulp +uXk +tos +slv +hsy +hsy +ppM +eUe +nic +aag +aag +ajZ +aaa +aaa +aaa +aaa +aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aaa +aaa +aaa +aaa +aaa aab aaa aaa +"} +(262,1,1) = {" +aaa +aaa +aab +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa +aaa aaa bdH bdH bdH bdH +aad +uMc +nrO +iEr +fcP +uMc +ajZ +xVk +xVk +xVk +xVk +xVk +xVk +xVk +aad +aPw +aHe +aHe +aHe +avu +eky +wZX +eky +aMU +aHe +aHe +aHe +aPw +ajZ +xVk +xVk +xVk +xVk +xVk +xVk +xVk +aad +pql +thV +fCL +uIv +pql +ajZ +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aaa +aaa +aaa +aab +aaa +aaa +aKQ +aaa +aaa +aak +bdH +bdH +bdH +bdH +bdH +bdH +bdH bdH bdH bdH @@ -135955,209 +136569,6 @@ bdH bdH bdH bdH -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -bdH -aad -aag -aag -nic -aIh -ppM -hsy -hsy -wTB -mlF -uXk -hmw -gSa -mtZ -hmv -fQn -wSV -ulp -uXk -tos -slv -hsy -hsy -ppM -eUe -nic -aag -aag -ajZ -aaa -aaa -aaa -aaa -aaa -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -"} -(262,1,1) = {" -aaa -aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -bdH -bdH -bdH -bdH -aad -uMc -nrO -iEr -fcP -uMc -ajZ -xVk -xVk -xVk -xVk -xVk -xVk -xVk -aad -aPw -aHe -aHe -aHe -avu -eky -wZX -eky -aMU -aHe -aHe -aHe -aPw -ajZ -xVk -xVk -xVk -xVk -xVk -xVk -xVk -aad -pql -thV -fCL -uIv -pql -ajZ -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -aaa -aaa -aaa -aab -aaa -aaa -aKQ -aaa -aaa -aab -aaa -aaa -aaa -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH aaa aaa aaa @@ -136340,10 +136751,10 @@ aaa aKQ aaa aaa -aab -aaa -aaa -aaa +aak +bdH +bdH +bdH bdH bdH bdH @@ -136745,9 +137156,9 @@ aaa aaa aKQ aaa -aaa -aab -aaa +bdH +aak +bdH bdH bdH bdH @@ -136948,9 +137359,9 @@ aaa aaa aKQ aaa -aaa -aab -aaa +bdH +aak +bdH bdH bdH bdH @@ -137151,9 +137562,9 @@ aaa aaa aKQ aaa -aaa -aab -aaa +bdH +aak +bdH bdH bdH bdH @@ -137354,9 +137765,9 @@ aaa aaa aKQ aaa -aaa -aab -aaa +bdH +aak +bdH bdH bdH bdH @@ -137557,9 +137968,9 @@ aaa aaa aKQ aaa -aaa -aab -aaa +bdH +aak +bdH bdH bdH bdH @@ -137760,9 +138171,9 @@ aaa aaa aKQ aaa -aaa -aab -aaa +bdH +aak +bdH bdH bdH bdH @@ -137963,9 +138374,9 @@ aaa aaa aKQ aaa -aaa -aab -aaa +bdH +aak +bdH bdH bdH bdH @@ -138165,10 +138576,10 @@ aab aaa aaa aKQ -aaa -aaa -aab -aab +bdH +bdH +aak +aak aak aak aak @@ -138767,27 +139178,27 @@ bdH bdH bdH bdH -bdH -bdH -bdH -bdH -bdH -bdH -aKQ -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH -bdH +lmz +lmz +lmz +lmz +lmz +lmz +lmz +lmz +iBn +iBn +iBn +iBn +iBn +iBn +iBn +iBn +iBn +iBn +iBn +iBn +iBn bdH bdH bdH @@ -139166,7 +139577,7 @@ aaa aab aaa aaa -aaa +bdH bdH bdH bdH @@ -139370,19 +139781,6 @@ aab aaa aaa bdH -bdH -bdH -bdH -bdH -bdH -bdH -lmz -lmz -lmz -lmz -lmz -lmz -lmz lmz lmz lmz @@ -139394,6 +139792,19 @@ lmz lmz lmz lmz +daz +daz +daz +daz +daz +daz +daz +daz +daz +daz +daz +daz +daz lmz lmz lmz @@ -139585,17 +139996,17 @@ lmz lmz lmz daz -daz -daz -daz -daz -daz -daz -daz -daz -daz -daz -daz +vhe +qQS +cqm +gTH +qit +ebN +qQS +gwn +pfT +vCH +dyp daz lmz lmz @@ -139784,21 +140195,21 @@ lmz lmz lmz lmz -lmz -lmz -lmz +sbJ +sbJ +sbJ daz -vhe -fEN -cqm -gTH -qit -ebN -cxc -gwn -pfT -jYR -dyp +rna +clw +qQS +sKY +qQS +bIp +fKe +dDp +dDp +frM +lcg daz lmz lmz @@ -139978,29 +140389,29 @@ aaa aab aaa aaa -bdH -lmz lmz lmz lmz lmz lmz -lmz -lmz -sbJ -sbJ -sbJ daz -rna -clw -qQS -sKY -qQS +daz +daz +daz +daz +tte +hvw +auf +pmV +eGr +xDC +dIn +rby bIp -fKe -dDp -dDp -frM +euN +sEK +sEK +mlb lcg daz lmz @@ -140185,26 +140596,26 @@ lmz lmz lmz lmz -lmz daz daz +hRW +asZ +vXh daz daz +kfU daz -tte -hvw -auf -pmV -xDC -xDC -dIn -rby -bIp -euN -sEK -sEK -mlb -lcg +ebN +ebN +lnS +uVv +flf +ebN +cxc +kBy +kBy +gfu +fPB daz lmz lmz @@ -140387,34 +140798,34 @@ bdH lmz lmz lmz -lmz daz daz -hRW -asZ -vXh +eKJ +yaZ +ffE +hZj +clw daz daz -kfU daz +sGZ ebN ebN -lnS -uVv -yit +roH ebN -cxc -kBy -kBy -gfu -fPB +daz +daz +daz +wnh +wnh +daz +daz daz lmz lmz lmz bdH bdH -bdH aak bdH bdH @@ -140591,27 +141002,27 @@ lmz lmz lmz daz -daz -eKJ -yaZ -ffE -hZj -clw -daz -daz -daz -sGZ -ebN -ebN -roH -ebN -ebN -ebN -daz -wnh -wnh -daz -daz +jYH +ubA +cck +wyQ +fmv +ubA +gMN +mRn +dJO +vMt +dkz +aGk +ktQ +teZ +wkM +ege +hWP +bZq +bZq +mIi +mIi daz lmz lmz @@ -140794,27 +141205,27 @@ lmz lmz lmz daz -acJ -ubA -cck -wyQ -fmv -ubA -gMN -mRn -itf -mHE -vAU -qwJ -fJY -kzT +cwS +ffE +vHa +nDy +ffE +ffE +ffE +jqP +cLo +clw +viB +dIi +qLS +erN wkM -oLm -fcX -kKv -kKv -dGl -dGl +jvB +jtj +swx +swx +qKZ +gjv daz lmz lmz @@ -140997,27 +141408,27 @@ lmz lmz lmz daz -cwS -ffE -vHa -wpw -ffE -ffE -ffE -jqP -cLo -clw -viB -dIi -qLS -erN +oRV +ydI +mdW +ios +awu +ydI +aKs +fMt +mEs +gbm +oBD +lFj +vyE +mTr wkM -jvB -jtj -ieF -ieF -pJR -gPr +qNc +jdl +dpp +dpp +jgy +eii daz lmz lmz @@ -141200,27 +141611,27 @@ lmz lmz lmz daz -oRV -ydI -mdW -jaH -awu -ydI -aKs -fMt -gOs -kXj -pYi -fMl -gUN -bLv -wkM -xvM -osy -cBm -cBm -iZw -dQl +daz +eKJ +yaZ +ffE +hZj +fQD +daz +daz +daz +tHu +ebN +ebN +gXs +ebN +daz +daz +daz +wnh +wnh +daz +daz daz lmz lmz @@ -141402,34 +141813,34 @@ bdH lmz lmz lmz +lmz daz daz -eKJ -yaZ -ffE -hZj -clw +ocB +nJH +rnH daz daz +sTV daz -tHu -ebN -ebN -gXs ebN ebN +gbg +uVv +xwU ebN -daz -wnh -wnh -daz -daz +qQS +kBy +kBy +gfu +kBy daz lmz lmz lmz bdH bdH +bdH aak bdH bdH @@ -141606,26 +142017,26 @@ lmz lmz lmz lmz +lmz daz daz -ocB -nJH -rnH daz daz -sTV daz -ebN -ebN -gbg -uVv -yit -ebN -cxc -kBy -kBy -gfu -kBy +tte +hvw +auf +hTl +jrH +xDC +yaQ +vLz +mFN +kSy +dDp +dDp +frM +lcg daz lmz lmz @@ -141805,8 +142216,7 @@ aaa aab aaa bdH -lmz -lmz +bdH lmz lmz lmz @@ -141815,19 +142225,20 @@ daz daz daz daz -tte -hvw -auf -hTl -xDC -xDC -yaQ -bat +sbJ +sbJ +sbJ +daz +rna +qRX +qQS +aCd +qQS mFN -kSy -dDp -dDp -frM +igr +sEK +sEK +mlb lcg daz lmz @@ -142012,26 +142423,26 @@ bdH lmz lmz lmz -lmz -lmz -lmz -lmz daz -sbJ -sbJ -sbJ +hWM +hWM +hWM +ebN daz -rna -clw -qQS -aCd -qQS -mFN -igr -sEK -sEK -mlb -lcg +ocL +qpY +daz +drU +itg +gba +kRQ +our +ebN +cxc +kBy +kBy +dzt +gyN daz lmz lmz @@ -142215,26 +142626,26 @@ bdH lmz lmz lmz -lmz -lmz -lmz -lmz daz +hWM +fVx +hWM +ebN +tId ltc -eXk -xns -pTt -gAe -rCi -gba -mUz -our +ltc +daz +ebN +fCI ebN -cxc -kBy -kBy -khJ -gyN +daz +daz +daz +daz +daz +daz +daz +daz daz lmz lmz @@ -142415,25 +142826,21 @@ aab aaa aaa bdH -lmz -lmz -lmz -lmz -lmz -lmz -lmz -daz +bdH +bdH +bdH +izf +hWM +qQS +hWM +ebN tId -wJB -tJN -daz -daz -daz -daz -daz -daz -daz -daz +fVx +qQS +ebN +naj +itg +qQS daz daz daz @@ -142442,6 +142849,10 @@ daz lmz lmz lmz +lmz +lmz +lmz +lmz bdH bdH bdH @@ -142617,18 +143028,26 @@ aaa aab aaa aaa +aaa bdH bdH bdH -bdH -bdH -bdH -bdH -lmz -daz -daz -daz -daz +vVk +cJI +fVx +hWM +ebN +tId +qQS +mIJ +wiu +xDC +yaQ +jtj +oZx +irr +irr +xsi daz lmz lmz @@ -142637,14 +143056,6 @@ lmz lmz lmz lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz bdH bdH bdH @@ -142824,23 +143235,23 @@ aaa bdH bdH bdH -bdH -bdH -bdH -lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz +fhR +nKO +tmV +qQS +gDh +qQS +qQS +bMg +flL +qQS +qQS +pUg +sII +cFg +pkS +xsi +daz lmz lmz lmz @@ -143023,27 +143434,27 @@ aab aab aab aab -aaa -bdH -bdH bdH bdH bdH bdH -lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz -lmz +npq +daz +daz +daz +daz +daz +daz +daz +daz +daz +daz +daz +daz +daz +daz +daz +daz lmz lmz lmz diff --git a/maps/map_files/USS_Runtime/USS_Runtime.dmm b/maps/map_files/USS_Runtime/USS_Runtime.dmm index aec89c5882dd..3ffdaf8a1814 100644 --- a/maps/map_files/USS_Runtime/USS_Runtime.dmm +++ b/maps/map_files/USS_Runtime/USS_Runtime.dmm @@ -92,7 +92,7 @@ }, /area/event) "z" = ( -/obj/effect/landmark/start/pilot, +/obj/effect/landmark/start/pilot/dropship_pilot, /turf/open/floor/almayer{ icon_state = "plating" }, @@ -145,6 +145,12 @@ icon_state = "plating" }, /area/event) +"M" = ( +/obj/effect/landmark/start/pilot/cas_pilot, +/turf/open/floor/almayer{ + icon_state = "plating" + }, +/area/event) "N" = ( /obj/effect/landmark/start/nurse, /turf/open/floor/almayer{ @@ -289,7 +295,7 @@ a A l L -b +M b b b diff --git a/maps/shuttles/escape_shuttle_n.dmm b/maps/shuttles/escape_shuttle_n.dmm index a7a4e9a69252..3095517f4bac 100644 --- a/maps/shuttles/escape_shuttle_n.dmm +++ b/maps/shuttles/escape_shuttle_n.dmm @@ -50,7 +50,7 @@ /obj/structure/machinery/cryopod/evacuation, /obj/structure/sign/safety/cryo{ pixel_x = 8; - pixel_y = -35 + pixel_y = -28 }, /turf/open/shuttle/escapepod{ icon_state = "floor4" diff --git a/maps/templates/lazy_templates/clf_ert_station.dmm b/maps/templates/lazy_templates/clf_ert_station.dmm index 7347be914da2..908f8de06dcb 100644 --- a/maps/templates/lazy_templates/clf_ert_station.dmm +++ b/maps/templates/lazy_templates/clf_ert_station.dmm @@ -954,6 +954,9 @@ /area/adminlevel/ert_station/clf_station) "vE" = ( /obj/structure/largecrate/supply/weapons/shotgun, +/obj/structure/platform/kutjevo{ + dir = 8 + }, /turf/open/auto_turf/strata_grass/layer1, /area/adminlevel/ert_station/clf_station) "vI" = ( @@ -1203,7 +1206,7 @@ /obj/structure/machinery/door/airlock/sandstone/runed/destroyable{ name = "\improper Strange Temple" }, -/turf/open/space/basic, +/turf/open/floor/sandstone/runed, /area/adminlevel/ert_station/clf_station) "BP" = ( /obj/structure/surface/table/reinforced, @@ -1378,6 +1381,17 @@ /obj/structure/flora/jungle/vines/heavy, /turf/open/gm/dirt, /area/adminlevel/ert_station/clf_station) +"Ia" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/obj/structure/machinery/power/apc/antag{ + dir = 1 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/adminlevel/ert_station/clf_station) "Ie" = ( /turf/open/gm/dirtgrassborder{ dir = 1; @@ -1914,9 +1928,6 @@ }, /turf/open/auto_turf/strata_grass/layer1, /area/adminlevel/ert_station/clf_station) -"Ub" = ( -/turf/closed/wall/mineral/sandstone/runed/decor, -/area/adminlevel/ert_station/clf_station) "Uj" = ( /obj/structure/closet/crate, /obj/item/clothing/head/welding, @@ -2168,14 +2179,14 @@ ax ax ax ax -KT -KT -KT -KT -KT -KT -KT -KT +ax +ax +ax +ax +ax +ax +ax +ax "} (2,1,1) = {" ax @@ -2210,14 +2221,14 @@ vI ZO LO ax -KT -KT -KT -KT -KT -KT -KT -KT +ax +ax +ax +ax +ax +ax +ax +ax "} (3,1,1) = {" ax @@ -2250,16 +2261,16 @@ Rg Rg Rg tJ -Ub +LO +ax +ax +ax +ax +ax +ax +ax +ax ax -KT -KT -KT -KT -KT -KT -KT -KT "} (4,1,1) = {" ax @@ -2294,14 +2305,14 @@ vI vI BC ax -KT -KT -KT -KT -KT -KT -KT -KT +ax +ax +ax +ax +ax +ax +ax +ax "} (5,1,1) = {" ax @@ -2334,16 +2345,16 @@ ax Rg Rg iO -Ub +LO +ax +ax +ax +ax +ax +ax +ax +ax ax -KT -KT -KT -KT -KT -KT -KT -KT "} (6,1,1) = {" ax @@ -2378,14 +2389,14 @@ Rg ZO LO ax -KT -KT -KT -KT -KT -KT -KT -KT +ax +ax +ax +ax +ax +ax +ax +ax "} (7,1,1) = {" ax @@ -2420,14 +2431,14 @@ Rg ax ax ax -KT -KT -KT -KT -KT -KT -KT -KT +ax +ax +ax +ax +ax +ax +ax +ax "} (8,1,1) = {" KT @@ -2461,15 +2472,15 @@ HI ax ax ax -KT -KT -KT -KT -KT -KT -KT -KT -KT +ax +ax +ax +ax +ax +ax +ax +ax +ax "} (9,1,1) = {" KT @@ -2505,13 +2516,13 @@ ax KT KT KT -KT -KT -KT -KT -KT -KT -KT +ax +ax +ax +ax +ax +ax +ax "} (10,1,1) = {" KT @@ -2548,12 +2559,12 @@ KT KT KT KT -KT -KT -KT -KT -KT -KT +ax +ax +ax +ax +ax +ax "} (11,1,1) = {" KT @@ -2591,11 +2602,11 @@ KT KT KT KT -KT -KT -KT -KT -KT +ax +ax +ax +ax +ax "} (12,1,1) = {" KT @@ -2634,10 +2645,10 @@ iG KT KT KT -KT -KT -KT -KT +ax +ax +ax +ax "} (13,1,1) = {" KT @@ -2676,10 +2687,10 @@ pk pk KT KT -KT -KT -KT -KT +ax +ax +ax +ax "} (14,1,1) = {" DN @@ -2718,10 +2729,10 @@ ON pk pk KT -KT -KT -KT -KT +ax +ax +ax +ax "} (15,1,1) = {" DN @@ -2762,8 +2773,8 @@ pk ax ax ax -KT -KT +ax +ax "} (16,1,1) = {" KT @@ -2804,8 +2815,8 @@ xL pk ax ax -KT -KT +ax +ax "} (17,1,1) = {" ax @@ -3006,7 +3017,7 @@ zO Ch ZI ZI -MQ +Ia mw mw LQ diff --git a/maps/templates/lazy_templates/pizza_ert_station.dmm b/maps/templates/lazy_templates/pizza_ert_station.dmm new file mode 100644 index 000000000000..b154256c0459 --- /dev/null +++ b/maps/templates/lazy_templates/pizza_ert_station.dmm @@ -0,0 +1,6916 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ae" = ( +/obj/structure/machinery/door_control{ + id = "kitchen_pizza_time"; + name = "Main Kitchen Shutters"; + pixel_x = 28 + }, +/obj/structure/safe/floor, +/obj/item/spacecash/c1000, +/obj/item/spacecash/c100, +/obj/item/spacecash/c10, +/obj/item/spacecash/c10, +/obj/item/spacecash/c10, +/obj/item/spacecash/c10, +/obj/item/spacecash/c100, +/obj/item/spacecash/c100, +/obj/item/spacecash/c100, +/obj/item/spacecash/c100, +/obj/item/spacecash/c100, +/obj/item/spacecash/c100, +/obj/item/spacecash/c50, +/obj/item/spacecash/c50, +/obj/item/spacecash/c50, +/obj/item/spacecash/c50, +/obj/item/spacecash/c50, +/obj/item/spacecash/c500, +/obj/item/spacecash/c500, +/obj/item/spacecash/c500, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"ah" = ( +/obj/structure/prop/invuln{ + desc = "An inflated membrane. This one is puncture proof. Wow!"; + icon = 'icons/obj/items/inflatable.dmi'; + icon_state = "wall"; + name = "Docking Umbilical" + }, +/obj/structure/blocker/invisible_wall, +/obj/structure/sign/safety/airlock{ + pixel_y = 32 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 15; + pixel_y = 32 + }, +/turf/open/floor/almayer_hull, +/area/adminlevel/ert_station/pizza_station) +"am" = ( +/obj/structure/surface/table/almayer, +/obj/structure/barricade/handrail/pizza{ + dir = 4; + pixel_y = -3 + }, +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/obj/item/reagent_container/food/drinks/cans/souto/cherry{ + pixel_x = -8; + layer = 2.97 + }, +/obj/item/reagent_container/food/drinks/cans/souto/cherry{ + anchored = 1; + layer = 2.97 + }, +/obj/item/reagent_container/food/drinks/cans/souto/cherry{ + pixel_x = 8; + layer = 2.97 + }, +/obj/item/reagent_container/food/drinks/cans/souto/cherry{ + layer = 4.1; + pixel_x = -4; + pixel_y = 18 + }, +/obj/item/reagent_container/food/drinks/cans/souto/cherry{ + layer = 4.1; + pixel_x = 4; + pixel_y = 18 + }, +/obj/item/reagent_container/food/drinks/cans/souto/cherry{ + layer = 4.2; + pixel_y = 36 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"an" = ( +/obj/structure/bed/chair/bolted{ + dir = 1; + pixel_y = 12; + buckling_y = 12 + }, +/turf/open/floor/prison, +/area/adminlevel/ert_station/pizza_station) +"ap" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/pipes/vents/scrubber{ + dir = 8 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/pizza_station) +"aq" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"aA" = ( +/obj/structure/surface/table/reinforced, +/obj/structure/machinery/microwave{ + pixel_y = 8 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"aD" = ( +/obj/structure/sign/safety/nonpress_0g{ + pixel_x = 32 + }, +/obj/structure/sign/safety/manualopenclose{ + pixel_y = 14; + pixel_x = 32 + }, +/turf/open/floor/plating/prison, +/area/adminlevel/ert_station/pizza_station) +"aJ" = ( +/obj/structure/prop/souto_land/streamer{ + dir = 1; + pixel_y = 9; + pixel_x = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "red" + }, +/area/adminlevel/ert_station/pizza_station) +"aP" = ( +/obj/structure/prop/souto_land/pole{ + dir = 8; + pixel_y = 9 + }, +/obj/structure/prop/souto_land/streamer{ + dir = 9 + }, +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/prison{ + icon_state = "red" + }, +/area/adminlevel/ert_station/pizza_station) +"aS" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out" + }, +/obj/structure/sign/safety/debark_lounge{ + pixel_y = -32 + }, +/obj/structure/sign/safety/landingzone{ + pixel_y = -32; + pixel_x = 15 + }, +/turf/open/floor/prison{ + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"bd" = ( +/obj/structure/prop/invuln{ + desc = "An inflated membrane. This one is puncture proof. Wow!"; + icon = 'icons/obj/items/inflatable.dmi'; + icon_state = "wall"; + name = "Docking Umbilical" + }, +/obj/structure/blocker/invisible_wall, +/turf/open/floor/almayer_hull, +/area/adminlevel/ert_station/pizza_station) +"bl" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = -1 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/corsat{ + icon_state = "retrosquareslight" + }, +/area/adminlevel/ert_station/pizza_station) +"bo" = ( +/obj/structure/machinery/shower{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 4; + health = 80 + }, +/obj/structure/window/reinforced{ + dir = 8; + health = 80 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/pizza_station) +"bB" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"bT" = ( +/obj/structure/surface/table/reinforced, +/obj/structure/machinery/recharger, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"bU" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Central Fridge"; + dir = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"cq" = ( +/obj/structure/pipes/vents/scrubber{ + dir = 8 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 4 + }, +/area/adminlevel/ert_station/pizza_station) +"cr" = ( +/obj/structure/surface/table/reinforced, +/obj/item/trash/plate{ + pixel_x = 1; + pixel_y = 3 + }, +/obj/item/trash/plate{ + pixel_x = 1; + pixel_y = 6 + }, +/obj/item/reagent_container/food/condiment/saltshaker{ + pixel_x = -4 + }, +/obj/item/reagent_container/food/condiment/peppermill{ + pixel_x = 4 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"cE" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/trash/ceramic_plate{ + pixel_y = 4; + pixel_x = -2 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"cI" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 9 + }, +/turf/open/floor{ + icon_state = "blueyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"cK" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/structure/sign/safety/airlock{ + pixel_y = 32 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 15; + pixel_y = 32 + }, +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"cL" = ( +/obj/structure/bed/chair/bolted{ + dir = 8; + pixel_x = -7; + buckling_x = -7 + }, +/turf/open/floor/prison, +/area/adminlevel/ert_station/pizza_station) +"cO" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 8; + pixel_y = -3 + }, +/obj/structure/barricade/handrail/pizza{ + dir = 1; + pixel_y = 12 + }, +/obj/structure/prop/souto_land/streamer{ + dir = 6 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"cP" = ( +/obj/structure/surface/table/reinforced, +/obj/item/trash/ceramic_plate{ + pixel_y = 5 + }, +/obj/item/trash/ceramic_plate{ + pixel_y = 8 + }, +/obj/item/trash/ceramic_plate{ + pixel_y = 11 + }, +/obj/item/trash/ceramic_plate{ + pixel_y = 14 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"dc" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 4 + }, +/area/adminlevel/ert_station/pizza_station) +"dh" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/drinks/cans/souto/diet/cranberry{ + pixel_y = 20; + layer = 3.03; + pixel_x = 4 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"dS" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Freezer" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"ec" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/snacks/birthdaycakeslice, +/obj/item/reagent_container/food/drinks/cans/dr_gibb{ + pixel_x = -8; + pixel_y = -6 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"ef" = ( +/obj/structure/surface/rack, +/obj/item/reagent_container/food/snacks/sliceable/cheesewheel/mature{ + pixel_x = -1; + pixel_y = 7 + }, +/obj/item/reagent_container/food/snacks/sliceable/cheesewheel/mature{ + pixel_x = 1; + pixel_y = -5 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"eh" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/snacks/omelette{ + pixel_y = 2; + pixel_x = 1 + }, +/obj/item/reagent_container/food/condiment/coldsauce{ + pixel_y = 22; + pixel_x = -10 + }, +/obj/item/tool/kitchen/utensil/fork{ + pixel_y = 2; + pixel_x = -8 + }, +/obj/item/reagent_container/food/drinks/coffee{ + pixel_y = 13; + pixel_x = 5 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"ei" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer_hull, +/area/adminlevel/ert_station/pizza_station) +"eo" = ( +/obj/structure/closet/secure_closet/freezer/meat, +/obj/item/reagent_container/food/condiment/coldsauce, +/obj/item/reagent_container/food/condiment/coldsauce, +/obj/structure/machinery/light/small/blue{ + dir = 1; + pixel_y = 20; + pixel_x = 16 + }, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/prison{ + icon_state = "greenblue"; + dir = 1 + }, +/area/adminlevel/ert_station/pizza_station) +"eD" = ( +/obj/structure/reagent_dispensers/water_cooler/stacks{ + density = 0; + pixel_x = -11; + pixel_y = -1 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"eI" = ( +/obj/structure/platform/kutjevo/smooth, +/turf/open/space/basic, +/area/space) +"eK" = ( +/obj/structure/prop/souto_land/pole{ + dir = 8; + pixel_y = 9; + pixel_x = 1 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 6 + }, +/area/adminlevel/ert_station/pizza_station) +"eQ" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = -1 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"eW" = ( +/turf/open/mars_dirt{ + icon_state = "mars_cave_11" + }, +/area/space) +"fb" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8 + }, +/obj/structure/platform/kutjevo/smooth, +/turf/open/space, +/area/space) +"fg" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"fj" = ( +/obj/structure/closet/firecloset/full, +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"fu" = ( +/turf/open/floor/plating, +/area/adminlevel/ert_station/pizza_station) +"fE" = ( +/obj/structure/bed/sofa/south/grey/right, +/turf/open/floor/prison{ + dir = 4; + icon_state = "yellowcorner" + }, +/area/adminlevel/ert_station/pizza_station) +"fH" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1 + }, +/obj/structure/barricade/handrail{ + dir = 1; + icon_state = "hr_kutjevo"; + name = "solar lattice" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8 + }, +/turf/open/space, +/area/space) +"fN" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/drinks/cans/souto/peach{ + pixel_y = 14; + pixel_x = -4 + }, +/obj/item/reagent_container/food/drinks/cans/souto/diet/lime{ + pixel_y = 9 + }, +/obj/structure/machinery/light, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"fO" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 4 + }, +/turf/open/space/basic, +/area/space) +"gb" = ( +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 9 + }, +/turf/open/floor{ + icon_state = "blueyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"gu" = ( +/obj/structure/surface/table/almayer, +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/obj/item/storage/box/drinkingglasses{ + layer = 2.97; + pixel_x = 12 + }, +/obj/item/reagent_container/food/drinks/shaker{ + pixel_x = -11; + layer = 2.97; + pixel_y = 2 + }, +/obj/item/reagent_container/food/drinks/bottle/rum{ + pixel_y = 2; + pixel_x = -2; + layer = 2.97 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"gy" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor{ + icon_state = "blueyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"gU" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N" + }, +/turf/open/floor/prison{ + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"gV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/light{ + pixel_x = 16; + dir = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/sign/safety/restrictedarea{ + pixel_y = 32 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"ha" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 + }, +/turf/open/space, +/area/space) +"hb" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 1; + pixel_y = 12 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"hc" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/prison{ + icon_state = "red" + }, +/area/adminlevel/ert_station/pizza_station) +"hg" = ( +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellowcorner" + }, +/area/adminlevel/ert_station/pizza_station) +"hv" = ( +/obj/structure/closet/crate/freezer/cooler, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_marked" + }, +/area/adminlevel/ert_station/pizza_station) +"hL" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "greenblue"; + dir = 1 + }, +/area/adminlevel/ert_station/pizza_station) +"hR" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 8; + pixel_y = -3 + }, +/obj/structure/bed/chair/bolted{ + dir = 4; + pixel_x = 7; + buckling_x = 7 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 15; + pixel_y = -32 + }, +/obj/structure/sign/safety/airlock{ + pixel_y = -32 + }, +/obj/structure/prop/souto_land/streamer{ + dir = 6 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"hX" = ( +/obj/structure/bed/chair/bolted{ + pixel_y = -1; + buckling_y = -1 + }, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"ic" = ( +/obj/item/trash/plate{ + pixel_y = 4 + }, +/obj/item/trash/plate{ + pixel_y = 6 + }, +/obj/item/trash/plate{ + pixel_y = 8 + }, +/obj/item/trash/plate{ + pixel_y = 10 + }, +/obj/structure/surface/table/almayer, +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/obj/item/reagent_container/food/drinks/drinkingglass{ + pixel_y = 14; + pixel_x = 11 + }, +/obj/item/reagent_container/food/drinks/drinkingglass{ + pixel_y = 9; + pixel_x = 12 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"im" = ( +/obj/structure/bed/chair/janicart, +/turf/open/floor/prison, +/area/adminlevel/ert_station/pizza_station) +"ir" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 4 + }, +/area/adminlevel/ert_station/pizza_station) +"iw" = ( +/obj/structure/surface/table/reinforced, +/obj/item/reagent_container/food/snacks/tofukabob, +/obj/item/reagent_container/food/snacks/tofukabob{ + pixel_y = 10 + }, +/obj/item/reagent_container/food/snacks/tofukabob{ + pixel_y = 5 + }, +/turf/open/floor/prison{ + icon_state = "greenblue"; + dir = 6 + }, +/area/adminlevel/ert_station/pizza_station) +"iY" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + layer = 2.5 + }, +/obj/structure/sign/safety/debark_lounge{ + pixel_y = 32 + }, +/obj/structure/sign/safety/landingzone{ + pixel_y = 32; + pixel_x = 15 + }, +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"ja" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 4 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 1 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8 + }, +/obj/structure/barricade/handrail{ + dir = 1; + icon_state = "hr_kutjevo"; + name = "solar lattice" + }, +/turf/open/space, +/area/space) +"jb" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 5 + }, +/area/adminlevel/ert_station/pizza_station) +"jf" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/item/trash/ceramic_plate{ + pixel_y = 2 + }, +/obj/item/reagent_container/food/snacks/toastedsandwich{ + pixel_y = 11 + }, +/obj/structure/machinery/door/poddoor/shutters/almayer{ + name = "\improper Kitchen Shutters"; + id = "kitchen_pizza_time" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/pizza_station) +"jo" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"jq" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 12 + }, +/obj/structure/mirror{ + pixel_x = 29 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/obj/structure/machinery/light/small{ + dir = 1; + pixel_y = 13 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/pizza_station) +"jx" = ( +/obj/structure/bed/chair/bolted{ + dir = 4; + pixel_x = 7; + pixel_y = -6; + buckling_x = 7; + buckling_y = -6 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"jy" = ( +/obj/structure/surface/table/almayer, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/item/tool/kitchen/tray{ + pixel_y = 6 + }, +/obj/item/tool/kitchen/tray{ + pixel_y = 9 + }, +/obj/item/tool/kitchen/tray{ + pixel_y = 12 + }, +/obj/structure/machinery/door/poddoor/shutters/almayer{ + name = "\improper Kitchen Shutters"; + id = "kitchen_pizza_time" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/pizza_station) +"jH" = ( +/turf/open/mars{ + icon_state = "mars_cave_10" + }, +/area/space) +"jT" = ( +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "blueyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"jV" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 8 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"kz" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + dir = 1; + name = "\improper Kitchen" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"kW" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 8 + }, +/obj/structure/prop/souto_land/streamer{ + dir = 1; + pixel_y = 9 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"la" = ( +/obj/structure/blocker/invisible_wall, +/obj/structure/machinery/door/poddoor/almayer{ + unacidable = 1 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + locked = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"lg" = ( +/turf/closed/shuttle/ert{ + icon_state = "leftengine_1" + }, +/area/adminlevel/ert_station/pizza_station) +"lv" = ( +/obj/structure/surface/table/almayer, +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/obj/item/reagent_container/food/drinks/drinkingglass/cola{ + pixel_y = 8; + pixel_x = -2 + }, +/obj/item/reagent_container/food/drinks/shaker{ + pixel_y = 5; + pixel_x = -11 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"lw" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/condiment/coldsauce{ + pixel_y = 22; + pixel_x = -10 + }, +/obj/item/clothing/mask/cigarette{ + pixel_x = 4; + pixel_y = 11 + }, +/obj/item/ashtray/glass{ + pixel_x = -6 + }, +/obj/item/clothing/mask/cigarette{ + pixel_y = 8 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"lx" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 8 + }, +/obj/structure/barricade/handrail{ + dir = 1; + icon_state = "hr_kutjevo"; + name = "solar lattice" + }, +/turf/open/space/basic, +/area/space) +"ly" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/drinks/cans/souto/grape{ + pixel_y = 16; + pixel_x = 9 + }, +/obj/item/reagent_container/food/drinks/cans/souto/lime{ + pixel_y = 12; + pixel_x = 5 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"lB" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 8; + pixel_y = -3 + }, +/obj/structure/barricade/handrail/pizza{ + dir = 1; + pixel_y = 12 + }, +/obj/item/storage/briefcase/stowaway{ + pixel_y = 11; + layer = 4.11 + }, +/obj/structure/prop/souto_land/streamer{ + dir = 6 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"lE" = ( +/obj/structure/machinery/vending/dinnerware, +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"lH" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + icon_state = "almayer_pdoor"; + id = "pizza_takeaway_out" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"lJ" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N" + }, +/obj/structure/sign/safety/airlock{ + pixel_y = -32 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 15; + pixel_y = -32 + }, +/turf/open/floor/prison{ + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"lL" = ( +/turf/open/floor/almayer_hull, +/area/adminlevel/ert_station/pizza_station) +"lN" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_x = -30 + }, +/turf/open/floor/prison{ + icon_state = "bright_clean2" + }, +/area/adminlevel/ert_station/pizza_station) +"ma" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/storage/donut_box{ + pixel_y = 10; + pixel_x = 1 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"me" = ( +/turf/open/mars_dirt{ + icon_state = "mars_cave_8" + }, +/area/space) +"mj" = ( +/obj/structure/machinery/shower{ + pixel_y = 16 + }, +/obj/structure/window/reinforced{ + dir = 4; + health = 80 + }, +/obj/structure/window/reinforced{ + dir = 8; + health = 80 + }, +/obj/structure/machinery/light/small{ + dir = 1; + pixel_x = 16; + pixel_y = 20 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/pizza_station) +"mk" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 4; + pixel_y = -3 + }, +/obj/structure/barricade/handrail/pizza{ + dir = 4; + pixel_y = 16 + }, +/obj/structure/machinery/vending/snack{ + layer = 4.15; + pixel_y = 3 + }, +/turf/open/floor/prison{ + icon_state = "bright_clean2" + }, +/area/adminlevel/ert_station/pizza_station) +"mt" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 8; + pixel_y = -3 + }, +/obj/structure/bed/chair/bolted{ + dir = 4; + pixel_x = 7; + buckling_x = 7 + }, +/obj/structure/prop/souto_land/streamer{ + dir = 6 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"mP" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/sign/safety/fridge{ + pixel_x = 32 + }, +/turf/open/floor/prison{ + icon_state = "bright_clean2" + }, +/area/adminlevel/ert_station/pizza_station) +"nf" = ( +/turf/closed/shuttle/ert{ + icon_state = "stan5" + }, +/area/adminlevel/ert_station/pizza_station) +"nl" = ( +/obj/structure/surface/table/almayer, +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"np" = ( +/obj/structure/surface/table/reinforced, +/obj/item/pizzabox{ + pixel_y = 5 + }, +/obj/item/pizzabox{ + pixel_y = 8 + }, +/obj/item/pizzabox{ + pixel_y = 11 + }, +/obj/item/pizzabox{ + pixel_y = 14 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"ny" = ( +/obj/structure/closet/secure_closet/fridge/fish/stock, +/obj/structure/machinery/light/small/blue{ + pixel_x = 16 + }, +/turf/open/floor/prison{ + icon_state = "greenblue" + }, +/area/adminlevel/ert_station/pizza_station) +"nA" = ( +/obj/structure/surface/table/almayer, +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/obj/item/reagent_container/food/drinks/cans/tonic{ + pixel_x = -15; + pixel_y = 10 + }, +/obj/item/reagent_container/food/drinks/cans/tonic{ + pixel_y = 6; + pixel_x = -15 + }, +/obj/structure/machinery/computer/emails{ + dir = 1; + pixel_y = 2; + pixel_x = 3; + layer = 2.97 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"nB" = ( +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"nK" = ( +/obj/structure/surface/table/reinforced, +/obj/item/tool/kitchen/tray, +/obj/item/tool/kitchen/knife{ + pixel_x = 3 + }, +/obj/item/tool/kitchen/knife/butcher{ + pixel_x = -8 + }, +/obj/structure/machinery/firealarm{ + pixel_x = -24 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"nU" = ( +/obj/structure/prop/souto_land/streamer{ + dir = 1; + pixel_y = 9 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "red" + }, +/area/adminlevel/ert_station/pizza_station) +"nX" = ( +/obj/structure/bed/chair/bolted{ + dir = 8; + pixel_x = -7; + buckling_x = -7 + }, +/obj/structure/machinery/light, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"oh" = ( +/obj/structure/pipes/standard/manifold/fourway/hidden/supply, +/turf/open/floor/prison{ + icon_state = "red" + }, +/area/adminlevel/ert_station/pizza_station) +"ok" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 8 + }, +/turf/open/floor/prison{ + icon_state = "bright_clean2" + }, +/area/adminlevel/ert_station/pizza_station) +"oo" = ( +/obj/structure/closet/emcloset, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"ov" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 9 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"oy" = ( +/obj/structure/bedsheetbin{ + icon_state = "linenbin-empty"; + name = "solar lattice"; + pixel_y = 6 + }, +/turf/open/floor/almayer_hull, +/area/space) +"oD" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/airlock/almayer/maint{ + locked = 1; + name = "STAFF ONLY"; + req_one_access = null; + req_one_access_txt = "101" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"oG" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating/prison, +/area/adminlevel/ert_station/pizza_station) +"oU" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 9 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 4 + }, +/area/adminlevel/ert_station/pizza_station) +"oX" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1 + }, +/obj/structure/barricade/handrail{ + dir = 1; + icon_state = "hr_kutjevo"; + name = "solar lattice" + }, +/turf/open/space/basic, +/area/space) +"pA" = ( +/obj/structure/machinery/vending/coffee{ + pixel_y = 18; + density = 0 + }, +/obj/structure/machinery/alarm{ + pixel_x = -32 + }, +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"pD" = ( +/turf/open/mars_dirt{ + icon_state = "mars_cave_10" + }, +/area/space) +"pE" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = 12 + }, +/obj/structure/mirror{ + pixel_x = 29 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/pizza_station) +"pS" = ( +/obj/structure/bed/chair/bolted{ + dir = 8; + pixel_x = -7; + buckling_x = -7 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"pT" = ( +/obj/structure/closet/crate/freezer/rations, +/obj/item/reagent_container/food/snacks/meat/fish/crab, +/obj/item/reagent_container/food/snacks/meat/fish/crab, +/obj/item/reagent_container/food/snacks/meat/fish/squid, +/obj/item/reagent_container/food/snacks/meat/fish/squid, +/obj/item/reagent_container/food/snacks/meat/fish/squid, +/obj/item/reagent_container/food/snacks/meat/fish/squid/alt, +/obj/item/reagent_container/food/snacks/meat/fish/squid/alt, +/obj/item/reagent_container/food/snacks/meat/fish/squid/alt, +/obj/item/reagent_container/food/snacks/meat/fish, +/obj/item/reagent_container/food/snacks/meat/fish, +/obj/item/reagent_container/food/snacks/meat/fish, +/obj/item/reagent_container/food/snacks/meat/fish, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_marked" + }, +/area/adminlevel/ert_station/pizza_station) +"qb" = ( +/obj/structure/prop/souto_land/streamer{ + dir = 1; + pixel_y = 9; + pixel_x = 2 + }, +/obj/structure/pipes/vents/scrubber{ + dir = 8 + }, +/turf/open/floor/prison{ + icon_state = "red" + }, +/area/adminlevel/ert_station/pizza_station) +"qh" = ( +/turf/closed/shuttle/ert{ + icon_state = "stan_rightengine" + }, +/area/adminlevel/ert_station/pizza_station) +"qo" = ( +/obj/structure/closet{ + pixel_y = 16; + density = 0 + }, +/obj/structure/window/reinforced{ + dir = 8; + health = 80 + }, +/obj/structure/machinery/light/small{ + dir = 1; + pixel_x = 16; + pixel_y = 20 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/pizza_station) +"qq" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4 + }, +/turf/open/space/basic, +/area/space) +"qs" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/drinks/cans/souto/diet/classic{ + pixel_x = -2 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"qt" = ( +/turf/open/mars_dirt{ + icon_state = "mars_cave_6" + }, +/area/space) +"qv" = ( +/obj/structure/surface/table/reinforced, +/obj/item/book/manual/chef_recipes, +/obj/item/clothing/head/chefhat, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"qy" = ( +/obj/structure/surface/table/reinforced, +/obj/structure/machinery/juicer{ + pixel_y = 9 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"qA" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"qU" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 8 + }, +/obj/structure/bed/chair/bolted{ + dir = 4; + pixel_x = 7; + buckling_x = 7 + }, +/obj/structure/machinery/alarm{ + pixel_y = 25 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"qX" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 8 + }, +/turf/open/space/basic, +/area/space) +"rj" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/trash/ceramic_plate{ + pixel_y = 1; + pixel_x = 2 + }, +/obj/item/reagent_container/food/snacks/meatpizzaslice{ + pixel_x = 2; + pixel_y = 4 + }, +/obj/item/reagent_container/food/drinks/cans/beer{ + pixel_x = 9; + pixel_y = 14 + }, +/obj/structure/machinery/light{ + pixel_x = 16; + dir = 1 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"rk" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 8 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) +"rA" = ( +/obj/structure/bed/chair/bolted{ + dir = 1; + pixel_y = 12; + buckling_y = 12 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"rK" = ( +/obj/structure/surface/table/almayer, +/turf/open/floor/prison, +/area/adminlevel/ert_station/pizza_station) +"rL" = ( +/obj/structure/blocker/invisible_wall, +/obj/structure/machinery/door/poddoor/almayer{ + name = "\improper Umbillical Airlock"; + unacidable = 1 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + locked = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"rO" = ( +/obj/structure/closet/firecloset/full, +/turf/open/floor/prison{ + dir = 6; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"sa" = ( +/obj/structure/pipes/vents/scrubber, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 1 + }, +/area/adminlevel/ert_station/pizza_station) +"se" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Bathroom"; + dir = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"sk" = ( +/obj/structure/surface/table/almayer, +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"sl" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"sp" = ( +/obj/structure/surface/table/reinforced, +/obj/item/weapon/pizza_cutter, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"sx" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 8 + }, +/area/adminlevel/ert_station/pizza_station) +"sB" = ( +/turf/open/mars_dirt{ + icon_state = "mars_cave_7" + }, +/area/space) +"sI" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/tool/kitchen/tray{ + pixel_y = 13; + pixel_x = 16 + }, +/obj/item/reagent_container/food/snacks/sliceable/pizza/meatpizza{ + pixel_y = 13; + pixel_x = 15 + }, +/obj/item/trash/plate{ + pixel_y = 3; + pixel_x = 1 + }, +/obj/item/reagent_container/food/snacks/meatpizzaslice{ + pixel_y = 3; + pixel_x = -1 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"sJ" = ( +/obj/structure/machinery/vending/ingredients, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"sW" = ( +/obj/structure/blocker/invisible_wall, +/obj/structure/machinery/door/poddoor/almayer{ + name = "\improper Umbillical Airlock"; + unacidable = 1 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"sY" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/pipes/vents/pump{ + dir = 8 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"td" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = -1 + }, +/obj/structure/pipes/vents/scrubber{ + dir = 8 + }, +/turf/open/floor/corsat{ + icon_state = "retrosquareslight" + }, +/area/adminlevel/ert_station/pizza_station) +"tp" = ( +/obj/structure/bed/chair/bolted{ + dir = 4; + pixel_y = 17; + pixel_x = 10; + buckling_y = 17; + buckling_x = 10 + }, +/obj/structure/machinery/light, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"tq" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"ty" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = -1 + }, +/obj/structure/pipes/vents/scrubber{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/pizza_station) +"tC" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/condiment/peppermill{ + pixel_x = 13; + pixel_y = 12 + }, +/obj/item/reagent_container/food/condiment/saltshaker{ + pixel_x = 7; + pixel_y = 17 + }, +/obj/item/trash/plate{ + pixel_y = 5 + }, +/obj/item/reagent_container/food/snacks/cheeseburger{ + pixel_x = -1; + pixel_y = 9 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"tH" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + name = "\improper Umbillical Airlock"; + id = "pizza_ert_arrival" + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + name = "\improper Galaxy Pizza!" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"tM" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = -1 + }, +/turf/open/floor/corsat{ + icon_state = "retrosquareslight" + }, +/area/adminlevel/ert_station/pizza_station) +"tT" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1 + }, +/obj/structure/barricade/handrail{ + dir = 1; + icon_state = "hr_kutjevo"; + name = "solar lattice" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4 + }, +/turf/open/space, +/area/space) +"tX" = ( +/obj/structure/machinery/disposal{ + layer = 2.97 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"ub" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/machinery/door/poddoor/almayer/locked{ + icon_state = "almayer_pdoor"; + id = "pizza_takeaway_out" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"ug" = ( +/obj/structure/pipes/vents/scrubber, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 8 + }, +/area/adminlevel/ert_station/pizza_station) +"uj" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4 + }, +/turf/open/space, +/area/space) +"uo" = ( +/obj/structure/window/framed/almayer/hull, +/turf/open/floor/plating, +/area/adminlevel/ert_station/pizza_station) +"uz" = ( +/obj/structure/prop/souto_land/pole{ + dir = 4; + pixel_y = 9 + }, +/obj/structure/prop/souto_land/streamer{ + dir = 6 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "red" + }, +/area/adminlevel/ert_station/pizza_station) +"uD" = ( +/obj/structure/surface/table/reinforced, +/obj/structure/machinery/processor{ + pixel_y = 10 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"uK" = ( +/obj/structure/platform/kutjevo/smooth, +/obj/structure/platform/kutjevo/smooth{ + dir = 8 + }, +/obj/structure/barricade/handrail/kutjevo{ + layer = 3.01 + }, +/obj/structure/barricade/handrail/kutjevo{ + dir = 8; + layer = 3.01 + }, +/turf/open/space, +/area/space) +"uN" = ( +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"uY" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/box/cups, +/obj/item/tool/kitchen/utensil/fork{ + pixel_y = 4; + pixel_x = 11 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/item/tool/kitchen/utensil/fork{ + pixel_y = 4; + pixel_x = 19 + }, +/obj/structure/machinery/door/poddoor/shutters/almayer{ + name = "\improper Kitchen Shutters"; + id = "kitchen_pizza_time" + }, +/turf/open/floor/almayer{ + icon_state = "plate" + }, +/area/adminlevel/ert_station/pizza_station) +"vi" = ( +/obj/structure/pipes/vents/pump{ + dir = 8 + }, +/turf/open/floor/prison{ + icon_state = "redcorner"; + dir = 1 + }, +/area/adminlevel/ert_station/pizza_station) +"vq" = ( +/obj/structure/toilet{ + pixel_y = 16 + }, +/obj/structure/window/reinforced{ + dir = 8; + health = 80 + }, +/obj/structure/window/reinforced{ + dir = 4; + health = 80 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/pizza_station) +"vr" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 8 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 8 + }, +/area/adminlevel/ert_station/pizza_station) +"vA" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/machinery/light{ + pixel_x = 16; + dir = 1 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 8 + }, +/area/adminlevel/ert_station/pizza_station) +"vI" = ( +/obj/structure/disposalpipe/segment, +/obj/item/storage/backpack/marine/satchel{ + desc = "It's the heavy-duty black polymer kind. Time to take out the trash!"; + icon = 'icons/obj/janitor.dmi'; + icon_state = "trashbag3"; + name = "trash bag"; + pixel_x = -1; + pixel_y = 6 + }, +/obj/item/storage/backpack/marine/satchel{ + desc = "It's the heavy-duty black polymer kind. Time to take out the trash!"; + icon = 'icons/obj/janitor.dmi'; + icon_state = "trashbag3"; + name = "trash bag"; + pixel_x = 3; + pixel_y = -2 + }, +/obj/item/weapon/broken_bottle{ + pixel_y = 7; + pixel_x = -12 + }, +/turf/open/floor/prison, +/area/adminlevel/ert_station/pizza_station) +"vR" = ( +/obj/structure/platform/kutjevo/smooth, +/obj/structure/barricade/handrail/kutjevo{ + layer = 3.01 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) +"vX" = ( +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"wa" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"wb" = ( +/obj/structure/platform/kutjevo/smooth, +/turf/open/space, +/area/space) +"wi" = ( +/obj/structure/closet/secure_closet/fridge/meat/stock, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor/prison{ + icon_state = "greenblue"; + dir = 9 + }, +/area/adminlevel/ert_station/pizza_station) +"wm" = ( +/obj/structure/surface/table/reinforced, +/obj/item/reagent_container/food/snacks/tomatomeat, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"wo" = ( +/obj/structure/bed/chair/bolted{ + dir = 8; + pixel_x = -7; + buckling_x = -7 + }, +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellowcorner" + }, +/area/adminlevel/ert_station/pizza_station) +"wq" = ( +/obj/structure/disposalpipe/segment{ + dir = 1; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/prison{ + icon_state = "redcorner"; + dir = 4 + }, +/area/adminlevel/ert_station/pizza_station) +"wu" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/trash/ceramic_plate{ + pixel_y = 4; + pixel_x = -2 + }, +/obj/item/reagent_container/food/drinks/cans/beer{ + pixel_x = 13; + pixel_y = 2 + }, +/obj/item/reagent_container/food/snacks/carrotcakeslice{ + pixel_y = 6; + pixel_x = -1 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"wz" = ( +/turf/open/floor/prison{ + icon_state = "red"; + dir = 1 + }, +/area/adminlevel/ert_station/pizza_station) +"wD" = ( +/obj/structure/platform_decoration/kutjevo, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) +"wP" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 8; + pixel_y = -3 + }, +/obj/structure/barricade/handrail/pizza{ + dir = 1; + pixel_y = 12 + }, +/obj/structure/prop/souto_land/streamer{ + dir = 6 + }, +/obj/structure/bed/chair{ + can_buckle = 0; + dir = 4 + }, +/obj/structure/bed/chair{ + can_buckle = 0; + dir = 4; + pixel_x = 1; + pixel_y = 3 + }, +/obj/structure/bed/chair{ + can_buckle = 0; + dir = 4; + pixel_x = 2; + pixel_y = 6 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"wQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 1 + }, +/area/adminlevel/ert_station/pizza_station) +"wX" = ( +/obj/structure/closet/crate/freezer/cooler/oj, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_marked" + }, +/area/adminlevel/ert_station/pizza_station) +"xc" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 1 + }, +/area/adminlevel/ert_station/pizza_station) +"xe" = ( +/obj/structure/platform/kutjevo/smooth, +/obj/structure/platform/kutjevo/smooth{ + dir = 8 + }, +/turf/open/space/basic, +/area/space) +"xh" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/condiment/peppermill{ + pixel_x = -10; + pixel_y = 12 + }, +/obj/item/reagent_container/food/condiment/saltshaker{ + pixel_x = -15; + pixel_y = 17 + }, +/obj/item/trash/ceramic_plate{ + pixel_y = 5; + pixel_x = 2 + }, +/obj/item/reagent_container/food/snacks/applecakeslice{ + pixel_y = 8; + pixel_x = 3 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"xl" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/tool/kitchen/tray{ + pixel_y = 20 + }, +/obj/item/reagent_container/food/snacks/sliceable/pizza/meatpizza{ + pixel_y = 20 + }, +/obj/item/reagent_container/food/drinks/cans/beer{ + pixel_x = 5; + pixel_y = 6 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"xp" = ( +/obj/structure/platform/kutjevo/smooth, +/obj/structure/disposalpipe/trunk, +/obj/structure/barricade/handrail/kutjevo{ + layer = 3.01 + }, +/turf/open/space, +/area/space) +"xy" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = -1 + }, +/obj/structure/pipes/vents/pump{ + dir = 8 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"xV" = ( +/obj/structure/pipes/vents/pump{ + dir = 1 + }, +/turf/open/floor/prison{ + icon_state = "blue_plate" + }, +/area/adminlevel/ert_station/pizza_station) +"xX" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/trash/plate{ + pixel_y = 3; + pixel_x = 1 + }, +/obj/item/reagent_container/food/snacks/mushroompizzaslice{ + pixel_y = 4 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"yg" = ( +/obj/structure/platform_decoration/kutjevo, +/turf/open/space/basic, +/area/space) +"yo" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 9 + }, +/turf/open/floor/prison{ + icon_state = "greenbluecorner"; + dir = 4 + }, +/area/adminlevel/ert_station/pizza_station) +"yr" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 10 + }, +/area/adminlevel/ert_station/pizza_station) +"ys" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 4; + pixel_y = -3 + }, +/obj/structure/bed/chair/bolted{ + dir = 8; + pixel_x = -7; + buckling_x = -7 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 15; + pixel_y = -32 + }, +/obj/structure/sign/safety/airlock{ + pixel_y = -32 + }, +/obj/structure/prop/souto_land/streamer{ + dir = 9 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"yE" = ( +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/obj/structure/surface/table/almayer, +/obj/item/trash/ceramic_plate{ + pixel_y = 6 + }, +/obj/item/reagent_container/food/snacks/toastedsandwich{ + pixel_y = 17; + pixel_x = -1 + }, +/obj/item/reagent_container/food/snacks/toastedsandwich{ + pixel_y = 15; + pixel_x = 2 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"yG" = ( +/obj/structure/pipes/vents/scrubber{ + dir = 1 + }, +/turf/open/floor/prison{ + icon_state = "blue_plate" + }, +/area/adminlevel/ert_station/pizza_station) +"yK" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 9 + }, +/turf/open/floor/prison{ + icon_state = "greenblue"; + dir = 8 + }, +/area/adminlevel/ert_station/pizza_station) +"yM" = ( +/obj/structure/sign/safety/fridge{ + pixel_y = -32 + }, +/obj/structure/sign/safety/fridge{ + pixel_x = 32 + }, +/obj/structure/closet/firecloset/full, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"yP" = ( +/obj/structure/surface/rack, +/obj/item/reagent_container/food/snacks/bigbiteburger{ + pixel_x = -4 + }, +/obj/item/reagent_container/food/snacks/bigbiteburger{ + pixel_x = 3 + }, +/turf/open/floor/prison{ + icon_state = "greenblue"; + dir = 10 + }, +/area/adminlevel/ert_station/pizza_station) +"zf" = ( +/obj/structure/sign/safety/galley{ + pixel_x = -17 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"zh" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 8 + }, +/area/adminlevel/ert_station/pizza_station) +"zj" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/toolbox/mechanical{ + pixel_y = -4 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/pizza_station) +"zl" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/condiment/hotsauce/cholula{ + pixel_y = 28; + pixel_x = 16 + }, +/obj/item/reagent_container/food/condiment/saltshaker{ + pixel_x = 7; + pixel_y = 17 + }, +/obj/item/reagent_container/food/condiment/peppermill{ + pixel_x = 13; + pixel_y = 12 + }, +/obj/item/tool/kitchen/utensil/fork{ + pixel_y = 4; + pixel_x = -3 + }, +/obj/item/tool/kitchen/utensil/knife{ + pixel_y = 4; + pixel_x = 3 + }, +/obj/structure/machinery/light, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"zx" = ( +/obj/structure/surface/table/almayer, +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/obj/item/trash/ceramic_plate{ + pixel_y = 2 + }, +/obj/item/trash/ceramic_plate{ + pixel_y = 4 + }, +/obj/item/trash/ceramic_plate{ + pixel_y = 6 + }, +/obj/item/trash/ceramic_plate{ + pixel_y = 8 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"zz" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 4; + pixel_y = -3 + }, +/obj/structure/bed/chair/bolted{ + dir = 8; + pixel_x = -7; + buckling_x = -7 + }, +/obj/structure/prop/souto_land/streamer{ + dir = 9 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"zC" = ( +/obj/structure/bed/chair/bolted{ + dir = 4; + pixel_x = 7; + buckling_x = 7 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"zE" = ( +/obj/structure/machinery/door_control/airlock{ + id = "pizza_takeaway"; + name = "Airlock - Inside"; + pixel_x = 28; + pixel_y = 8 + }, +/obj/structure/machinery/door_control/airlock{ + id = "pizza_takeaway_out"; + name = "Airlock - Out"; + pixel_x = 28; + pixel_y = 18 + }, +/turf/open/floor/plating/prison, +/area/adminlevel/ert_station/pizza_station) +"zM" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "redcorner"; + dir = 1 + }, +/area/adminlevel/ert_station/pizza_station) +"zQ" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 4 + }, +/area/adminlevel/ert_station/pizza_station) +"zW" = ( +/turf/open/floor/prison{ + icon_state = "greenblue"; + dir = 4 + }, +/area/adminlevel/ert_station/pizza_station) +"Ab" = ( +/obj/structure/machinery/gibber{ + pixel_y = 10 + }, +/obj/structure/surface/table/reinforced, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"Ac" = ( +/obj/structure/closet/secure_closet/fridge/dry, +/obj/structure/machinery/light{ + dir = 1 + }, +/obj/structure/sign/safety/galley{ + pixel_x = -24 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"Aj" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 8 + }, +/obj/structure/sign/safety/bathunisex{ + pixel_x = 15; + pixel_y = 32 + }, +/turf/open/floor{ + icon_state = "blueyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Ao" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/machinery/light{ + pixel_x = 16; + dir = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"Au" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 8 + }, +/area/adminlevel/ert_station/pizza_station) +"Ax" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/condiment/hotsauce/franks{ + pixel_y = -3; + pixel_x = 16 + }, +/obj/item/ashtray/glass{ + pixel_x = -4; + pixel_y = -1 + }, +/obj/item/clothing/mask/cigarette, +/obj/item/clothing/mask/cigarette{ + pixel_x = -2; + pixel_y = -2 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"AB" = ( +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"AD" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Central Fridge" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"AH" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"AV" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor{ + icon_state = "blueyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"AW" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out" + }, +/obj/structure/sign/safety/debark_lounge{ + pixel_y = -32 + }, +/obj/structure/sign/safety/landingzone{ + pixel_y = -32; + pixel_x = 15 + }, +/turf/open/floor/prison{ + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"Bu" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"By" = ( +/obj/structure/machinery/suit_storage_unit/standard_unit{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/structure/sign/safety/suit_storage{ + pixel_x = 32 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"Bz" = ( +/obj/structure/surface/table/reinforced, +/obj/item/trash/plate{ + pixel_y = 2 + }, +/obj/item/trash/plate{ + pixel_y = 4 + }, +/obj/item/trash/plate{ + pixel_y = 6 + }, +/obj/item/trash/plate{ + pixel_y = 8 + }, +/obj/item/trash/plate{ + pixel_y = 10 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"BC" = ( +/obj/structure/surface/table/reinforced, +/obj/item/pizzabox{ + pixel_y = 5 + }, +/obj/item/pizzabox{ + pixel_y = 8 + }, +/obj/item/pizzabox{ + pixel_y = 11 + }, +/obj/structure/machinery/light, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"BJ" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/disposalpipe/junction{ + dir = 1; + icon_state = "pipe-j2" + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"BU" = ( +/obj/structure/bed/chair/bolted{ + dir = 1; + pixel_y = 12; + buckling_y = 12 + }, +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_x = -30 + }, +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"Ck" = ( +/obj/structure/sink{ + dir = 1; + pixel_y = -10 + }, +/obj/structure/window/reinforced{ + dir = 8; + health = 80 + }, +/obj/structure/machinery/light/small{ + pixel_x = 16 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/pizza_station) +"Cp" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/drinks/cans/waterbottle{ + pixel_x = -6; + pixel_y = 14 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Cv" = ( +/obj/structure/closet/secure_closet/freezer/fridge/full, +/obj/item/reagent_container/food/condiment/enzyme, +/obj/item/reagent_container/food/condiment/enzyme, +/obj/item/reagent_container/food/drinks/soymilk, +/obj/item/reagent_container/food/drinks/soymilk, +/obj/item/reagent_container/food/condiment/hotsauce/tabasco, +/obj/item/reagent_container/food/condiment/hotsauce/sriracha, +/obj/item/reagent_container/food/condiment/hotsauce/franks, +/obj/item/reagent_container/food/condiment/hotsauce/cholula, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "greenblue"; + dir = 1 + }, +/area/adminlevel/ert_station/pizza_station) +"CO" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"CP" = ( +/turf/open/floor/almayer_hull, +/area/space) +"CT" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/chem_dispenser/soda{ + density = 0; + pixel_y = 30 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"Db" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 4; + pixel_y = -3 + }, +/obj/structure/barricade/handrail/pizza{ + dir = 1; + pixel_y = 12 + }, +/obj/structure/prop/souto_land/streamer{ + dir = 9 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Dd" = ( +/obj/structure/pipes/vents/pump{ + dir = 1 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 4 + }, +/area/adminlevel/ert_station/pizza_station) +"Dx" = ( +/obj/structure/surface/table/reinforced, +/obj/item/reagent_container/food/snacks/sliceable/bread{ + pixel_y = 8 + }, +/obj/item/reagent_container/food/snacks/sliceable/bread{ + pixel_y = 4 + }, +/obj/item/reagent_container/food/snacks/sliceable/bread, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"DF" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/machinery/chem_dispenser/soda/beer{ + density = 0; + pixel_y = 31 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"DH" = ( +/obj/structure/platform/kutjevo/smooth, +/obj/structure/barricade/handrail/kutjevo{ + layer = 3.01 + }, +/turf/open/space/basic, +/area/space) +"DW" = ( +/obj/structure/pipes/vents/pump, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 1 + }, +/area/adminlevel/ert_station/pizza_station) +"Ee" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8 + }, +/obj/structure/barricade/handrail/kutjevo{ + dir = 8; + layer = 3.01 + }, +/turf/open/space/basic, +/area/space) +"Eh" = ( +/obj/structure/prop/souto_land/pole{ + dir = 4; + pixel_y = 9 + }, +/obj/structure/prop/souto_land/streamer{ + dir = 6 + }, +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/prison{ + icon_state = "red" + }, +/area/adminlevel/ert_station/pizza_station) +"Ei" = ( +/turf/closed/wall/almayer/outer, +/area/adminlevel/ert_station/pizza_station) +"Ep" = ( +/obj/structure/machinery/door/poddoor/almayer/open{ + name = "\improper Umbillical Airlock"; + id = "pizza_ert_arrival" + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"EH" = ( +/obj/structure/machinery/vending/cigarette{ + pixel_y = 18; + layer = 3.01; + density = 0 + }, +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"EK" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + icon_state = "almayer_pdoor"; + id = "pizza_takeaway" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"EO" = ( +/obj/structure/machinery/door/poddoor/almayer/open{ + name = "\improper Umbillical Airlock"; + id = "pizza_ert_arrival" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"EZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"Fd" = ( +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/prison{ + icon_state = "bright_clean2" + }, +/area/adminlevel/ert_station/pizza_station) +"Ff" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/trash/plate{ + pixel_y = 10; + pixel_x = 1 + }, +/obj/item/trash/plate{ + pixel_y = -1 + }, +/obj/item/reagent_container/food/snacks/hotdog{ + pixel_y = 13 + }, +/obj/item/reagent_container/food/condiment/coldsauce{ + pixel_y = 11; + pixel_x = -7 + }, +/obj/item/reagent_container/food/snacks/grilledcheese{ + pixel_y = 6; + pixel_x = -1 + }, +/obj/item/reagent_container/food/drinks/coffee{ + pixel_y = 2; + pixel_x = 8 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Fj" = ( +/obj/structure/closet/crate/freezer, +/obj/item/reagent_container/food/snacks/ricepudding, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_marked" + }, +/area/adminlevel/ert_station/pizza_station) +"Fp" = ( +/obj/structure/closet/crate/freezer, +/obj/structure/machinery/light/blue, +/obj/item/reagent_container/food/snacks/packaged_burrito, +/obj/item/reagent_container/food/snacks/packaged_burrito, +/obj/item/reagent_container/food/snacks/packaged_burrito, +/obj/item/reagent_container/food/snacks/packaged_hdogs, +/obj/item/reagent_container/food/snacks/packaged_hdogs, +/obj/item/reagent_container/food/snacks/packaged_hdogs, +/obj/item/reagent_container/food/snacks/packaged_burger, +/obj/item/reagent_container/food/snacks/packaged_burger, +/obj/item/reagent_container/food/snacks/packaged_burger, +/turf/open/floor/prison{ + dir = 10; + icon_state = "floor_marked" + }, +/area/adminlevel/ert_station/pizza_station) +"Fz" = ( +/obj/structure/surface/table/reinforced, +/obj/item/tool/kitchen/tray{ + pixel_y = 5 + }, +/obj/item/reagent_container/food/snacks/sliceable/pizza/meatpizza{ + pixel_y = 5 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"FB" = ( +/obj/structure/machinery/light{ + pixel_x = 16 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 5 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"FD" = ( +/obj/structure/machinery/door/poddoor/almayer/locked{ + icon_state = "almayer_pdoor"; + id = "pizza_takeaway" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"FL" = ( +/turf/closed/shuttle/ert{ + icon_state = "rightengine_1"; + opacity = 0 + }, +/area/adminlevel/ert_station/pizza_station) +"FS" = ( +/obj/structure/machinery/light, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"FY" = ( +/obj/structure/surface/table/almayer, +/obj/structure/barricade/handrail/pizza{ + dir = 8; + pixel_y = -3 + }, +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/obj/item/reagent_container/food/drinks/cans/cola{ + pixel_y = 6; + pixel_x = -6 + }, +/obj/item/reagent_container/food/drinks/cans/cola{ + pixel_y = 4; + pixel_x = -3 + }, +/obj/item/reagent_container/food/drinks/cans/iced_tea{ + pixel_x = 8; + pixel_y = 10 + }, +/obj/item/reagent_container/food/drinks/cans/iced_tea{ + pixel_x = 11; + pixel_y = 5 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"Gd" = ( +/obj/structure/prop/souto_land/pole{ + dir = 8; + pixel_y = 9 + }, +/obj/structure/prop/souto_land/streamer{ + dir = 9 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "red" + }, +/area/adminlevel/ert_station/pizza_station) +"Gh" = ( +/obj/structure/machinery/disposal{ + layer = 2.97 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/structure/sign/poster{ + desc = "Eat an EAT bar! ...Aren't they called MEAT bars?"; + icon_state = "poster7"; + name = "EAT - poster"; + pixel_y = 30 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Gj" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 8 + }, +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Gm" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "red" + }, +/area/adminlevel/ert_station/pizza_station) +"Gn" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1 + }, +/obj/structure/barricade/handrail{ + dir = 1; + icon_state = "hr_kutjevo"; + name = "solar lattice" + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4 + }, +/turf/open/space/basic, +/area/space) +"Gp" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/snacks/mushroomsoup{ + pixel_y = 6 + }, +/obj/item/tool/kitchen/utensil/spoon{ + pixel_y = 4; + pixel_x = 7 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Gt" = ( +/obj/structure/machinery/atm{ + pixel_y = 32; + pixel_x = 2 + }, +/turf/open/floor/prison{ + dir = 5; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"GB" = ( +/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ + pixel_x = 30 + }, +/turf/open/floor/prison{ + dir = 4; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"GM" = ( +/obj/structure/sign/safety/airlock{ + pixel_y = 32 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 15; + pixel_y = 32 + }, +/turf/open/space/basic, +/area/space) +"Ha" = ( +/turf/closed/shuttle/ert{ + icon_state = "stan_leftengine" + }, +/area/adminlevel/ert_station/pizza_station) +"Hd" = ( +/turf/open/floor/prison{ + dir = 4; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"Hg" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8 + }, +/turf/open/space, +/area/space) +"HL" = ( +/obj/structure/surface/table/almayer, +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/obj/item/reagent_container/food/drinks/coffeecup{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/reagent_container/food/drinks/coffeecup{ + pixel_y = 4; + pixel_x = 5 + }, +/obj/item/reagent_container/food/drinks/coffeecup{ + pixel_y = 2 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"HQ" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/trash/plate{ + pixel_y = 5 + }, +/obj/item/reagent_container/food/snacks/bigbiteburger{ + pixel_y = 10; + pixel_x = -1 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Ib" = ( +/obj/structure/pipes/vents/pump{ + dir = 1 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 8 + }, +/area/adminlevel/ert_station/pizza_station) +"Iq" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/drinks/cans/beer{ + pixel_x = 5; + pixel_y = 13 + }, +/obj/item/trash/ceramic_plate{ + pixel_y = 1 + }, +/obj/item/reagent_container/food/snacks/meatpizzaslice{ + pixel_x = -1; + pixel_y = 3 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"ID" = ( +/turf/closed/wall/rock/red, +/area/space) +"IJ" = ( +/obj/structure/pipes/vents/scrubber{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 8 + }, +/area/adminlevel/ert_station/pizza_station) +"Jd" = ( +/obj/structure/closet{ + pixel_y = 16; + density = 0 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/pizza_station) +"Jl" = ( +/turf/open/floor/prison{ + icon_state = "red"; + dir = 8 + }, +/area/adminlevel/ert_station/pizza_station) +"Jm" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E" + }, +/turf/open/floor/prison, +/area/adminlevel/ert_station/pizza_station) +"Jq" = ( +/obj/structure/closet/secure_closet/fridge/organic/stock, +/turf/open/floor/prison{ + icon_state = "greenblue" + }, +/area/adminlevel/ert_station/pizza_station) +"JP" = ( +/obj/structure/surface/table/reinforced, +/obj/item/tool/kitchen/knife/butcher, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"JR" = ( +/obj/structure/bed/sofa/vert/grey/bot, +/turf/open/floor/prison, +/area/adminlevel/ert_station/pizza_station) +"JU" = ( +/obj/structure/janitorialcart{ + pixel_y = 15 + }, +/obj/item/tool/wet_sign{ + pixel_x = -8; + pixel_y = 6 + }, +/obj/item/tool/wet_sign{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/item/reagent_container/glass/bucket{ + pixel_x = 9 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"JV" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 1; + pixel_y = 12 + }, +/obj/structure/bed/chair/bolted{ + pixel_y = -1; + buckling_y = -1 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Kb" = ( +/obj/structure/surface/table/almayer, +/obj/structure/barricade/handrail/pizza{ + dir = 4; + pixel_y = -3 + }, +/obj/item/corncob, +/obj/item/corncob{ + pixel_y = 7 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"Kc" = ( +/obj/structure/sign/safety/airlock{ + pixel_y = -32 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 15; + pixel_y = -32 + }, +/obj/structure/surface/table/reinforced/almayer_B, +/obj/structure/machinery/door_control/airlock{ + id = "pizza_takeaway_out"; + name = "Airlock - Out"; + pixel_x = 2; + pixel_y = 18 + }, +/obj/structure/sign/safety/manualopenclose{ + pixel_y = -3; + pixel_x = 7 + }, +/turf/open/floor/almayer_hull, +/area/adminlevel/ert_station/pizza_station) +"Kd" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/pizza_station) +"Kv" = ( +/obj/structure/surface/table/reinforced, +/obj/structure/sink/kitchen{ + pixel_y = 12 + }, +/obj/structure/machinery/light{ + dir = 1 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"KB" = ( +/obj/structure/sign/safety/bathunisex{ + pixel_x = 15; + pixel_y = 32 + }, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/washing_machine{ + pixel_y = 10 + }, +/obj/structure/sign/safety/water{ + pixel_x = -17 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/pizza_station) +"KC" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 8; + pixel_y = -3 + }, +/obj/structure/prop/souto_land/streamer{ + dir = 6 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"KY" = ( +/turf/open/floor/prison{ + icon_state = "blue_plate" + }, +/area/adminlevel/ert_station/pizza_station) +"La" = ( +/obj/structure/surface/table/almayer, +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/obj/item/reagent_container/food/condiment/hotsauce/franks/macho{ + pixel_y = 11; + pixel_x = -6 + }, +/obj/item/reagent_container/food/condiment/hotsauce/franks{ + pixel_y = 11; + pixel_x = 6 + }, +/obj/item/reagent_container/food/condiment/coldsauce{ + pixel_y = 11 + }, +/obj/item/reagent_container/food/condiment/hotsauce/cholula{ + pixel_y = 6 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"Lk" = ( +/obj/structure/pipes/vents/scrubber{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"Ln" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/structure/machinery/computer{ + icon_state = "security_det"; + name = "Shuttle control deck"; + pixel_y = 6 + }, +/obj/structure/machinery/light/small{ + dir = 8; + pixel_x = -11; + pixel_y = 10 + }, +/turf/open/floor/plating/prison, +/area/adminlevel/ert_station/pizza_station) +"Ly" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 4 + }, +/obj/structure/barricade/handrail/pizza{ + dir = 1; + pixel_y = 12 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"LH" = ( +/obj/structure/bed/chair/bolted{ + dir = 1; + pixel_y = 12; + buckling_y = 12 + }, +/obj/structure/prop/souto_land/pole{ + dir = 8; + pixel_y = 9 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Mj" = ( +/obj/structure/bed/chair/dropship/pilot{ + dir = 1 + }, +/obj/structure/machinery/light/small{ + dir = 8; + pixel_x = -11; + pixel_y = 10 + }, +/turf/open/floor/plating/prison, +/area/adminlevel/ert_station/pizza_station) +"Mk" = ( +/obj/structure/machinery/vending/coffee{ + pixel_y = 12 + }, +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/turf/open/floor/prison{ + icon_state = "bright_clean2" + }, +/area/adminlevel/ert_station/pizza_station) +"Mt" = ( +/obj/structure/bed/sofa/south/grey/left, +/obj/item/storage/briefcase/stowaway, +/turf/open/floor/prison{ + dir = 9; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"Mz" = ( +/obj/structure/platform/kutjevo/smooth, +/obj/structure/platform/kutjevo/smooth{ + dir = 8 + }, +/turf/open/space, +/area/space) +"MB" = ( +/obj/structure/surface/table/reinforced, +/obj/item/pizzabox/meat, +/obj/item/weapon/pizza_cutter, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"MK" = ( +/obj/structure/surface/table/almayer, +/obj/structure/barricade/handrail/pizza{ + dir = 8; + pixel_y = -3 + }, +/obj/item/reagent_container/food/drinks/bottle/wine{ + pixel_y = 7; + pixel_x = -6 + }, +/obj/item/reagent_container/food/drinks/bottle/vermouth{ + pixel_y = 5; + pixel_x = -2 + }, +/obj/item/reagent_container/food/drinks/bottle/whiskey{ + pixel_x = -4 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"MS" = ( +/obj/structure/machinery/shower{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8; + health = 80 + }, +/obj/structure/window/reinforced{ + dir = 4; + health = 80 + }, +/obj/structure/machinery/light/small{ + pixel_x = 16 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/pizza_station) +"MT" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = -1 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/pizza_station) +"MX" = ( +/turf/open/floor/prison{ + icon_state = "red"; + dir = 9 + }, +/area/adminlevel/ert_station/pizza_station) +"Nb" = ( +/obj/item/reagent_container/food/condiment/hotsauce/franks/macho{ + pixel_y = 18; + pixel_x = -6 + }, +/obj/item/reagent_container/food/condiment/hotsauce/franks{ + pixel_y = 18; + pixel_x = 6 + }, +/obj/item/reagent_container/food/condiment/hotsauce/cholula{ + pixel_y = 16 + }, +/obj/structure/surface/table/almayer, +/obj/item/reagent_container/food/condiment/coldsauce{ + pixel_y = 13; + pixel_x = 8 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Nl" = ( +/turf/open/floor/prison, +/area/adminlevel/ert_station/pizza_station) +"No" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W" + }, +/turf/open/floor/prison, +/area/adminlevel/ert_station/pizza_station) +"Nr" = ( +/obj/structure/machinery/vending/cola{ + pixel_y = 12 + }, +/obj/structure/sign/safety/coffee{ + pixel_y = 32; + pixel_x = -13 + }, +/turf/open/floor/prison{ + icon_state = "bright_clean2" + }, +/area/adminlevel/ert_station/pizza_station) +"Ny" = ( +/obj/structure/sink{ + dir = 1; + pixel_y = -10 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/pizza_station) +"NG" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"NH" = ( +/obj/structure/bed/sofa/vert/grey/top, +/turf/open/floor/prison, +/area/adminlevel/ert_station/pizza_station) +"NJ" = ( +/turf/closed/shuttle/ert{ + icon_state = "stan20" + }, +/area/adminlevel/ert_station/pizza_station) +"NN" = ( +/obj/structure/closet/secure_closet/fridge/groceries/stock, +/obj/structure/machinery/light/small/blue{ + dir = 1; + pixel_y = 20 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor/prison{ + icon_state = "greenblue"; + dir = 9 + }, +/area/adminlevel/ert_station/pizza_station) +"NP" = ( +/obj/structure/sink/kitchen{ + pixel_x = 11; + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/sign/safety/water{ + pixel_x = 38 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"NT" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 8 + }, +/turf/open/space, +/area/space) +"NV" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Showers & Bathroom"; + dir = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"Og" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/snacks/sliceable/pizza/mushroompizza{ + pixel_y = -2; + pixel_x = -16 + }, +/obj/item/trash/plate{ + pixel_y = 8; + pixel_x = 3 + }, +/obj/item/reagent_container/food/snacks/meatpizzaslice{ + pixel_y = 8; + pixel_x = -1 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Oh" = ( +/obj/structure/prop/souto_land/streamer{ + pixel_y = 9; + pixel_x = 1 + }, +/turf/open/floor/prison{ + icon_state = "red" + }, +/area/adminlevel/ert_station/pizza_station) +"OE" = ( +/obj/structure/prop/souto_land/streamer{ + pixel_y = 9; + pixel_x = -1 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "red" + }, +/area/adminlevel/ert_station/pizza_station) +"OG" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1 + }, +/obj/structure/barricade/handrail{ + dir = 1; + icon_state = "hr_kutjevo"; + name = "solar lattice" + }, +/obj/structure/lattice, +/turf/open/space, +/area/space) +"OJ" = ( +/turf/open/floor{ + desc = "A sophisticated device that captures and converts light from the system's star into energy for the station."; + icon_state = "solarpanel"; + name = "solarpanel" + }, +/area/space) +"OK" = ( +/obj/structure/machinery/vending/cigarette{ + pixel_y = 3; + layer = 4.15 + }, +/obj/structure/barricade/handrail/pizza{ + dir = 8 + }, +/turf/open/floor/prison{ + icon_state = "bright_clean2" + }, +/area/adminlevel/ert_station/pizza_station) +"OQ" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 1; + pixel_y = 12 + }, +/obj/structure/barricade/handrail/pizza{ + dir = 8; + pixel_y = 13 + }, +/obj/structure/barricade/handrail/pizza{ + dir = 8 + }, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_27"; + pixel_y = 13; + pixel_x = -2; + layer = 4.11 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"OS" = ( +/turf/open/floor/prison{ + icon_state = "red"; + dir = 4 + }, +/area/adminlevel/ert_station/pizza_station) +"Pa" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"Pi" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 1 + }, +/area/adminlevel/ert_station/pizza_station) +"Pl" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 1; + pixel_y = 12 + }, +/obj/structure/reagent_dispensers/water_cooler/stacks{ + density = 0; + pixel_x = -8; + pixel_y = 15; + layer = 4.11 + }, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_17"; + pixel_x = -8; + pixel_y = 2; + layer = 4.12 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Pn" = ( +/obj/structure/surface/table/reinforced, +/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/gloves/latex, +/obj/item/clothing/suit/chef/classic, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"Pq" = ( +/obj/structure/platform/kutjevo/smooth, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) +"Ps" = ( +/obj/item/reagent_container/glass/bucket/janibucket{ + pixel_x = -5; + pixel_y = 10 + }, +/obj/item/tool/mop{ + pixel_x = -2; + pixel_y = 8 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"Py" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1 + }, +/obj/structure/platform/kutjevo/smooth{ + dir = 4 + }, +/obj/structure/barricade/handrail{ + dir = 1; + icon_state = "hr_kutjevo"; + name = "solar lattice" + }, +/turf/open/space, +/area/space) +"PF" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 8 + }, +/turf/open/space/basic, +/area/space) +"PH" = ( +/obj/structure/surface/table/reinforced/cloth, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"PL" = ( +/obj/structure/sign/safety/airlock{ + pixel_y = -32 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 15; + pixel_y = -32 + }, +/turf/open/floor/almayer_hull, +/area/adminlevel/ert_station/pizza_station) +"Qe" = ( +/obj/structure/pipes/vents/scrubber{ + dir = 1 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"QN" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/pizza_station) +"Ra" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/trash/plate{ + pixel_y = 10 + }, +/obj/item/reagent_container/food/snacks/vegetablepizzaslice{ + pixel_y = 10; + pixel_x = -2 + }, +/obj/item/reagent_container/food/drinks/cans/boda{ + pixel_y = 16; + pixel_x = -11; + layer = 3.03 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Rf" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"Rh" = ( +/obj/structure/window/framed/almayer/hull, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/plating, +/area/adminlevel/ert_station/pizza_station) +"RC" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 + }, +/turf/open/space/basic, +/area/space) +"RG" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 4 + }, +/obj/structure/platform/kutjevo/smooth, +/turf/open/space/basic, +/area/space) +"RN" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 1; + pixel_y = 12; + layer = 4.11 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"RP" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor{ + icon_state = "blueyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"RV" = ( +/obj/item/clothing/suit/chef/classic, +/obj/item/clothing/gloves/latex, +/obj/item/clothing/head/chefhat, +/obj/structure/surface/table/reinforced, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"Se" = ( +/obj/structure/bed/chair/bolted{ + dir = 1; + pixel_y = 12; + buckling_y = 12 + }, +/obj/structure/prop/souto_land/streamer{ + pixel_y = 9 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Sg" = ( +/obj/structure/platform/kutjevo/smooth{ + dir = 1 + }, +/obj/structure/barricade/handrail{ + dir = 1; + icon_state = "hr_kutjevo"; + name = "solar lattice" + }, +/turf/open/space, +/area/space) +"So" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 1 + }, +/area/adminlevel/ert_station/pizza_station) +"Sp" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Sq" = ( +/obj/structure/kitchenspike, +/obj/item/reagent_container/food/snacks/meat{ + pixel_y = -5 + }, +/obj/item/reagent_container/food/snacks/meat{ + pixel_y = 2 + }, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/prison{ + icon_state = "greenblue" + }, +/area/adminlevel/ert_station/pizza_station) +"Sr" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/drinks/cans/beer{ + pixel_x = -13; + pixel_y = -6 + }, +/obj/item/tool/kitchen/utensil/fork{ + pixel_y = 1; + pixel_x = 5 + }, +/obj/item/tool/kitchen/utensil/knife{ + pixel_y = 3; + pixel_x = 9 + }, +/obj/item/reagent_container/food/snacks/meatsteak{ + pixel_y = 5; + pixel_x = 1 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Sz" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/prison{ + icon_state = "bright_clean2" + }, +/area/adminlevel/ert_station/pizza_station) +"SL" = ( +/obj/structure/surface/table/almayer, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_21"; + pixel_y = 28; + pixel_x = 3 + }, +/obj/item/reagent_container/food/drinks/cans/souto/diet/lime{ + pixel_y = 15; + pixel_x = -8 + }, +/turf/open/floor/prison{ + dir = 8; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"ST" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/sign/poster/ad{ + icon_state = "poster41"; + pixel_y = 32 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"SV" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer, +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Showers" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"Te" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/reagent_container/food/condiment/hotsauce/cholula{ + pixel_y = 28; + pixel_x = 16 + }, +/obj/item/tool/kitchen/utensil/pknife{ + pixel_x = 13; + pixel_y = 1 + }, +/obj/item/tool/kitchen/utensil/pfork{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/reagent_container/food/snacks/chocolatecakeslice{ + pixel_y = 2; + pixel_x = 2 + }, +/obj/item/reagent_container/food/drinks/coffee{ + pixel_y = 13; + pixel_x = 5 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Tu" = ( +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 1 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"TC" = ( +/turf/open/floor/prison{ + icon_state = "yellowcorner" + }, +/area/adminlevel/ert_station/pizza_station) +"TD" = ( +/turf/open/floor/prison{ + icon_state = "bright_clean2" + }, +/area/adminlevel/ert_station/pizza_station) +"TE" = ( +/turf/open/mars_dirt{ + icon_state = "mars_cave_3" + }, +/area/space) +"TH" = ( +/obj/structure/surface/table/almayer, +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/obj/item/storage/box/drinkingglasses{ + layer = 2.97; + pixel_x = 14 + }, +/obj/item/reagent_container/food/drinks/bottle/orangejuice{ + layer = 2.97 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"TK" = ( +/turf/closed/shuttle/ert, +/area/adminlevel/ert_station/pizza_station) +"TQ" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out"; + pixel_y = -1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_y = -1 + }, +/obj/structure/pipes/standard/manifold/fourway/hidden/supply, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"TY" = ( +/obj/structure/bed/chair{ + can_buckle = 0; + dir = 4 + }, +/obj/structure/bed/chair{ + can_buckle = 0; + dir = 4; + pixel_x = 1; + pixel_y = 3 + }, +/obj/structure/bed/chair{ + can_buckle = 0; + dir = 4; + pixel_x = 2; + pixel_y = 6 + }, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Uu" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/power/apc/antag{ + dir = 1 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"Ux" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 1; + pixel_y = 12 + }, +/obj/structure/bed/chair/bolted{ + pixel_y = -1; + buckling_y = -1 + }, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"UB" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 6 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"Vj" = ( +/obj/structure/closet/secure_closet/fridge/dry/stock, +/turf/open/floor/prison{ + icon_state = "greenblue"; + dir = 5 + }, +/area/adminlevel/ert_station/pizza_station) +"Vm" = ( +/obj/structure/surface/table/reinforced, +/obj/item/tool/kitchen/tray{ + pixel_y = 2 + }, +/obj/item/reagent_container/food/snacks/sliceable/pizza/mushroompizza{ + pixel_y = 1 + }, +/turf/open/floor/prison{ + icon_state = "greenbluecorner" + }, +/area/adminlevel/ert_station/pizza_station) +"Vs" = ( +/obj/structure/disposalpipe/segment{ + dir = 2; + icon_state = "pipe-c" + }, +/obj/structure/machinery/light{ + pixel_x = 16; + dir = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 10 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 8 + }, +/area/adminlevel/ert_station/pizza_station) +"Vt" = ( +/turf/closed/shuttle/ert{ + icon_state = "stan25" + }, +/area/adminlevel/ert_station/pizza_station) +"Vv" = ( +/obj/docking_port/stationary/emergency_response/idle_port4, +/turf/open/floor/plating, +/area/adminlevel/ert_station/pizza_station) +"Vx" = ( +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) +"VD" = ( +/obj/structure/barricade/handrail/pizza{ + dir = 1; + pixel_y = 12 + }, +/obj/structure/reagent_dispensers/water_cooler/stacks{ + density = 0; + pixel_x = -3; + pixel_y = 15; + layer = 4.03 + }, +/obj/structure/surface/table/almayer{ + layer = 4.02 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"VK" = ( +/turf/open/floor/prison{ + dir = 10; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"VN" = ( +/obj/structure/bed/chair/bolted{ + dir = 8; + pixel_x = -7; + buckling_x = -7 + }, +/obj/structure/sign/poster{ + desc = "One of those hot, tanned babes back the beaches of good ol' Earth."; + icon_state = "poster12"; + name = "Beach Babe Pinup"; + pixel_x = 6; + pixel_y = 30; + serial_number = 12 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"VQ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"VS" = ( +/obj/structure/surface/table/almayer, +/obj/item/storage/donut_box{ + pixel_y = -8 + }, +/turf/open/floor/prison, +/area/adminlevel/ert_station/pizza_station) +"VX" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "S"; + pixel_y = -1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"Wb" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + name = "\improper Umbillical Airlock"; + id = "pizza_ert_arrival" + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"WL" = ( +/obj/structure/window/framed/almayer/hull, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/plating, +/area/adminlevel/ert_station/pizza_station) +"WP" = ( +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"WS" = ( +/obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{ + dir = 1; + req_one_access = null + }, +/turf/open/floor/plating/prison, +/area/adminlevel/ert_station/pizza_station) +"WZ" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + name = "\improper Kitchen and Cleaning" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"Xa" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" + }, +/obj/structure/sign/safety/debark_lounge{ + pixel_y = 32 + }, +/obj/structure/sign/safety/landingzone{ + pixel_y = 32; + pixel_x = 15 + }, +/turf/open/floor/prison{ + dir = 1; + icon_state = "yellow" + }, +/area/adminlevel/ert_station/pizza_station) +"Xg" = ( +/obj/structure/prop/souto_land/streamer{ + pixel_y = 9; + pixel_x = 1 + }, +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/prison{ + icon_state = "red" + }, +/area/adminlevel/ert_station/pizza_station) +"Xj" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "E" + }, +/obj/structure/sign/safety/airlock{ + pixel_y = 32 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 15; + pixel_y = 32 + }, +/obj/structure/closet/crate/trashcart, +/obj/item/storage/bag/trash, +/obj/item/storage/bag/trash{ + pixel_x = -6; + pixel_y = 5 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"Xn" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 4 + }, +/turf/open/space, +/area/space) +"Xq" = ( +/obj/structure/surface/rack, +/obj/structure/machinery/light/small/blue{ + pixel_x = 16 + }, +/obj/item/reagent_container/food/snacks/bigbiteburger{ + pixel_x = -2 + }, +/obj/item/reagent_container/food/snacks/bigbiteburger{ + pixel_x = 4 + }, +/turf/open/floor/prison{ + icon_state = "greenblue" + }, +/area/adminlevel/ert_station/pizza_station) +"Xr" = ( +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_y = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) +"Xw" = ( +/obj/structure/platform/kutjevo/smooth, +/obj/structure/platform/kutjevo/smooth{ + dir = 4 + }, +/turf/open/space/basic, +/area/space) +"Xx" = ( +/obj/structure/surface/table/reinforced, +/obj/item/reagent_container/food/snacks/sliceable/flatdough, +/obj/item/tool/kitchen/rollingpin, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"XB" = ( +/obj/structure/machinery/shower{ + pixel_y = 16 + }, +/obj/structure/window/reinforced{ + dir = 4; + health = 80 + }, +/obj/structure/window/reinforced{ + dir = 8; + health = 80 + }, +/turf/open/floor/plating/plating_catwalk, +/area/adminlevel/ert_station/pizza_station) +"XD" = ( +/obj/structure/pipes/vents/pump{ + dir = 8 + }, +/turf/open/floor/prison{ + icon_state = "red"; + dir = 5 + }, +/area/adminlevel/ert_station/pizza_station) +"XV" = ( +/obj/structure/prop/souto_land/streamer{ + dir = 4; + pixel_y = 9 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "red" + }, +/area/adminlevel/ert_station/pizza_station) +"XZ" = ( +/obj/structure/barricade/handrail/pizza{ + pixel_y = -3 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Ya" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/disposalpipe/segment{ + dir = 4; + icon_state = "pipe-c" + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + name = "STAFF ONLY" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"Yf" = ( +/obj/structure/surface/table/reinforced, +/obj/item/reagent_container/food/condiment/hotsauce/franks/macho{ + pixel_y = 18; + pixel_x = -6 + }, +/obj/item/reagent_container/food/condiment/hotsauce/franks{ + pixel_y = 18; + pixel_x = 6 + }, +/obj/item/reagent_container/food/condiment/hotsauce/cholula{ + pixel_y = 16 + }, +/obj/item/reagent_container/food/drinks/drinkingglass{ + pixel_y = 1; + pixel_x = -4 + }, +/obj/item/reagent_container/food/drinks/drinkingglass{ + pixel_y = 3; + pixel_x = 6 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"Yj" = ( +/obj/structure/surface/table/reinforced/cloth, +/obj/item/tool/kitchen/utensil/pknife{ + pixel_x = -6 + }, +/obj/item/tool/kitchen/utensil/pfork{ + pixel_y = 3; + pixel_x = -3 + }, +/obj/item/reagent_container/food/drinks/cans/souto/blue{ + pixel_x = 5; + pixel_y = 10 + }, +/obj/item/tool/kitchen/tray{ + pixel_y = -2; + pixel_x = 16 + }, +/turf/open/floor{ + icon_state = "redyellowfull" + }, +/area/adminlevel/ert_station/pizza_station) +"Ym" = ( +/obj/structure/sign/safety/nonpress_0g{ + pixel_x = -16 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating/prison, +/area/adminlevel/ert_station/pizza_station) +"Yo" = ( +/turf/open/space, +/area/space) +"Yu" = ( +/obj/structure/platform/kutjevo/smooth, +/obj/structure/platform/kutjevo/smooth{ + dir = 4 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) +"Yv" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/turf/open/floor/almayer{ + icon_state = "dark_sterile" + }, +/area/adminlevel/ert_station/pizza_station) +"Yw" = ( +/turf/closed/shuttle/ert{ + icon_state = "stan27" + }, +/area/adminlevel/ert_station/pizza_station) +"Yy" = ( +/turf/open/space/basic, +/area/space) +"YD" = ( +/obj/structure/surface/table/reinforced, +/obj/item/tool/kitchen/tray{ + pixel_y = 6 + }, +/obj/item/reagent_container/food/snacks/sliceable/pizza/meatpizza{ + pixel_y = 5 + }, +/turf/open/floor/prison{ + icon_state = "greenblue"; + dir = 6 + }, +/area/adminlevel/ert_station/pizza_station) +"YF" = ( +/obj/structure/platform_decoration/kutjevo{ + dir = 1 + }, +/obj/structure/lattice, +/turf/open/space/basic, +/area/space) +"YL" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + name = "\improper Umbillical Airlock"; + id = "pizza_ert_arrival" + }, +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{ + name = "\improper Galaxy Pizza!" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"YM" = ( +/obj/structure/prop/invuln{ + desc = "An inflated membrane. This one is puncture proof. Wow!"; + icon = 'icons/obj/items/inflatable.dmi'; + icon_state = "wall"; + name = "Docking Umbilical" + }, +/obj/structure/blocker/invisible_wall, +/obj/structure/sign/safety/airlock{ + pixel_y = -32 + }, +/obj/structure/sign/safety/hazard{ + pixel_x = 15; + pixel_y = -32 + }, +/turf/open/floor/almayer_hull, +/area/adminlevel/ert_station/pizza_station) +"YO" = ( +/turf/closed/wall/almayer, +/area/adminlevel/ert_station/pizza_station) +"ZD" = ( +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/obj/structure/machinery/door/poddoor/almayer/open{ + name = "\improper Umbillical Airlock"; + id = "pizza_ert_arrival" + }, +/turf/open/floor/almayer{ + icon_state = "test_floor4" + }, +/area/adminlevel/ert_station/pizza_station) +"ZM" = ( +/obj/structure/closet/secure_closet/freezer/fridge/full, +/obj/item/reagent_container/food/condiment/enzyme, +/obj/item/reagent_container/food/drinks/soymilk, +/obj/item/reagent_container/food/drinks/soymilk, +/obj/item/reagent_container/food/condiment/hotsauce/tabasco, +/obj/item/reagent_container/food/condiment/hotsauce/sriracha, +/obj/item/reagent_container/food/condiment/hotsauce/franks, +/obj/item/reagent_container/food/condiment/hotsauce/cholula, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/prison{ + icon_state = "greenblue"; + dir = 1 + }, +/area/adminlevel/ert_station/pizza_station) +"ZR" = ( +/obj/structure/pipes/vents/pump{ + dir = 4 + }, +/turf/open/floor{ + icon_state = "cmo" + }, +/area/adminlevel/ert_station/pizza_station) +"ZV" = ( +/obj/structure/bed/sofa/vert/grey, +/turf/open/floor/prison, +/area/adminlevel/ert_station/pizza_station) +"ZX" = ( +/obj/structure/surface/table/reinforced, +/obj/structure/sign/poster/ad{ + icon_state = "poster12"; + pixel_y = 32 + }, +/obj/item/tool/kitchen/tray{ + pixel_y = 6 + }, +/obj/item/tool/kitchen/tray{ + pixel_y = 9 + }, +/obj/item/tool/kitchen/tray{ + pixel_y = 12 + }, +/turf/open/floor/prison{ + icon_state = "kitchen" + }, +/area/adminlevel/ert_station/pizza_station) + +(1,1,1) = {" +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(2,1,1) = {" +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yo +Yy +Yy +Yy +Yy +Yy +Yy +Yo +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(3,1,1) = {" +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +yg +qq +qq +qX +yg +uj +qq +qq +NT +yg +qq +qq +qX +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(4,1,1) = {" +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +yg +RG +OJ +OJ +Sg +eI +OJ +OJ +OJ +Sg +wb +OJ +OJ +Py +NT +Yy +Yy +Yy +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(5,1,1) = {" +Yy +Yy +Yy +Yy +Yy +Yy +ID +ID +Yy +yg +Xw +OJ +OJ +OJ +tT +Xw +OJ +OJ +OJ +Gn +Xw +OJ +OJ +OJ +OG +Vx +ID +ID +ID +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(6,1,1) = {" +Yy +Yy +Yy +Yy +Yy +ID +ID +ID +ID +eI +OJ +OJ +OJ +oy +CP +CP +OJ +OJ +OJ +CP +CP +oy +OJ +OJ +tT +rk +Vx +ID +ID +ID +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(7,1,1) = {" +Yy +Yy +Yy +Yy +ID +ID +ID +ID +Vx +Pq +OJ +OJ +oy +CP +fH +fb +OJ +oy +OJ +ja +Mz +CP +oy +OJ +OJ +oX +Yy +Yy +ID +ID +ID +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(8,1,1) = {" +Yy +Yy +Yy +ID +ID +ID +ID +Vx +Yy +RC +PF +xe +CP +lx +Xn +ID +ID +ID +ID +ID +ha +xe +CP +OJ +OJ +oX +Yy +Yy +Vx +ID +ID +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(9,1,1) = {" +Yy +Yy +Yy +ID +ID +ID +Yy +Vx +Yy +Yy +Yy +eI +CP +ID +ID +ID +ID +ID +ID +ID +ID +eI +CP +fH +Hg +fO +Yy +Vx +Vx +Yy +ID +ID +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(10,1,1) = {" +Yy +Yy +Yy +ID +ID +Vx +Vx +Vx +Yy +Yy +Yy +ID +ID +ID +ID +ID +ID +ID +ID +ID +Ei +Ei +WL +WL +WL +uo +Ei +Ei +Vx +Vx +Vx +ID +ID +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(11,1,1) = {" +Yy +Yy +Yy +Yy +ID +Yy +Yy +Vx +yg +qq +ID +ID +ID +ID +ID +ID +ID +ID +ID +Ei +Ei +hX +Ff +rA +uN +Pl +TY +Ei +Ei +Vx +Yy +Yy +ID +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(12,1,1) = {" +Yy +Yy +Yy +Yy +Vx +Yy +Yy +wD +Yu +jH +ID +Ei +Ei +Ei +Ei +Ei +Ei +Ei +Ei +Ei +Gh +Ly +Sp +uN +Sp +RN +jx +FS +Ei +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(13,1,1) = {" +Yy +Yy +Yy +Vx +Vx +Yy +yg +Yu +jH +pD +Ei +Ei +nK +RV +Xx +ef +wm +qy +YO +YO +vA +ug +Au +vr +yr +uN +wu +ly +Rh +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(14,1,1) = {" +Yy +Yy +Yy +Vx +wD +qq +Xw +jH +TE +TE +Ei +Ac +nB +nB +nB +nB +nB +nB +eD +YO +dc +zQ +oU +vi +Gm +uN +ec +xh +Rh +Yy +Yy +Yy +Yy +Ei +uo +uo +uo +Ei +uo +uo +uo +Ei +Yy +Yy +Yy +"} +(15,1,1) = {" +Yy +Yy +Yy +yg +Yu +pD +pD +TE +pD +qt +Rh +qv +nB +ZR +MB +cr +Pn +nB +nB +jy +tq +MK +FY +wz +Gm +hb +pS +pS +Rh +Yy +Yy +Yy +Ei +Ei +Mt +nl +SL +BU +fj +nl +sk +Ei +Ei +Yy +Yy +"} +(16,1,1) = {" +Yy +Yy +Yy +eI +pD +TE +pD +sB +TE +TE +Rh +Dx +nB +jo +np +JP +aA +Lk +nB +uY +tq +WP +TH +wz +uz +cO +KC +mt +Rh +Yy +Yy +Ei +Ei +pA +fE +VS +rK +an +Nl +cL +wo +VK +Ei +Ei +Yy +"} +(17,1,1) = {" +Yy +Yy +Yy +eI +sB +TE +TE +sB +TE +pD +Rh +Yf +UB +AB +Pa +NP +Pa +ov +nB +jf +tq +WP +La +wz +nU +uN +Ax +tC +Rh +Yy +Yy +Ei +Ei +Xa +Jm +Jm +Jm +Jm +Jm +Jm +Jm +aS +Ei +Ei +Yy +"} +(18,1,1) = {" +Yy +Yy +Yy +eI +NJ +TK +TK +Ha +lg +sB +Ei +sJ +jo +nB +ae +YO +uD +Ab +bT +YO +Ao +WP +lv +wz +OE +uN +HQ +fN +Ei +Yy +Yy +Yy +uo +AH +Vv +fu +fu +fu +fu +fu +fu +gU +uo +Yy +Yy +"} +(19,1,1) = {" +Yy +Yy +Yy +eI +Yw +Ln +Mj +WS +TE +eW +Ei +YO +Rf +kz +YO +YO +YO +YO +YO +YO +Uu +WP +nA +sa +aP +Db +zz +ys +Ei +ah +bd +YM +Ei +cK +fu +fu +fu +fu +fu +fu +fu +lJ +Ei +GM +Yy +"} +(20,1,1) = {" +Yy +Yy +Yy +eI +Vt +nf +nf +qh +FL +TE +uo +Ps +fg +WP +zf +WZ +TD +Fd +lN +Ya +bB +WP +lE +wz +Gm +Jl +Jl +Jl +tH +IJ +Jl +Jl +Ep +AH +fu +fu +fu +fu +fu +fu +fu +gU +la +Yy +Yy +"} +(21,1,1) = {" +Yy +Yy +Yy +eI +sB +sB +TE +eW +TE +pD +uo +JU +Tu +CO +CO +NG +mP +ok +Sz +BJ +vX +WP +yE +wz +hc +ir +ir +ir +Wb +zQ +ir +Dd +EO +AH +fu +fu +fu +fu +fu +fu +fu +gU +sW +Yy +Yy +"} +(22,1,1) = {" +Yy +Yy +Yy +eI +sB +sB +eW +TE +TE +ID +Ei +cP +tq +WP +Bz +YO +YO +AD +YO +YO +gV +WP +zx +DW +Eh +lB +mt +hR +Ei +ah +bd +YM +Ei +cK +fu +fu +fu +fu +fu +fu +fu +lJ +Ei +GM +Yy +"} +(23,1,1) = {" +Yy +Yy +Yy +eI +me +TE +TE +pD +ID +ID +Ei +Kv +EZ +Qe +BC +YO +wi +yK +yP +YO +VQ +WP +ic +wz +nU +hb +Iq +xl +Ei +Yy +Yy +Yy +uo +AH +fu +fu +fu +fu +fu +fu +fu +gU +uo +Yy +Yy +"} +(24,1,1) = {" +Yy +Yy +Yy +RC +xe +me +me +ID +ID +ID +Ei +ZX +tq +WP +Fz +YO +eo +yG +Xq +YO +CT +WP +HL +wz +XV +uN +pS +tp +Ei +Yy +Yy +Yy +uo +AH +fu +fu +fu +fu +fu +fu +fu +gU +uo +Yy +Yy +"} +(25,1,1) = {" +Yy +Yy +Yy +Yy +RC +uK +PL +Ei +Ei +Ei +Ei +Xj +Xr +WP +sp +YO +ZM +KY +Sq +YO +DF +WP +gu +wz +OE +hb +qs +dh +Ei +Yy +Yy +Yy +uo +AH +fu +fu +fu +fu +fu +fu +fu +gU +uo +Yy +Yy +"} +(26,1,1) = {" +Yy +Yy +Yy +Yy +Yy +xp +ei +ub +oG +Ym +FD +vI +wa +FB +YO +YO +Cv +KY +Jq +YO +ST +Kb +am +wz +Gd +Db +zz +ys +Ei +ah +bd +YM +Ei +cK +fu +fu +fu +fu +fu +fu +fu +lJ +Ei +GM +Yy +"} +(27,1,1) = {" +Yy +Yy +Yy +Yy +Yy +DH +lL +lH +zE +aD +EK +im +sY +fg +YO +NN +yo +KY +ny +YO +Vs +sx +sx +wq +oh +zh +zh +zh +YL +vr +zh +Ib +Ep +AH +fu +fu +fu +fu +fu +fu +fu +gU +rL +Yy +Yy +"} +(28,1,1) = {" +Yy +Yy +Yy +Yy +Yy +vR +Kc +Ei +Ei +Ei +Ei +By +sl +aq +bU +hL +xV +Vm +iw +YO +OS +OS +OS +zM +Gm +OS +OS +OS +ZD +cq +OS +OS +EO +AH +fu +fu +fu +fu +fu +fu +fu +gU +sW +Yy +Yy +"} +(29,1,1) = {" +Yy +Yy +Vx +Yy +Yy +YF +Ee +fO +ID +ID +Ei +Ei +qA +yM +YO +Vj +zW +YD +YO +YO +Nr +Mk +OK +wQ +uz +wP +KC +hR +Ei +ah +bd +YM +Ei +cK +fu +fu +fu +fu +fu +fu +fu +lJ +Ei +GM +Yy +"} +(30,1,1) = {" +Yy +Vx +Vx +Vx +Vx +Vx +Yy +Yy +Yy +ID +ID +Ei +dS +YO +YO +YO +oD +YO +YO +qU +jV +Gj +mk +wQ +aJ +hb +PH +zl +Ei +Yy +Yy +Yy +uo +AH +fu +fu +fu +fu +fu +fu +fu +gU +uo +Yy +Yy +"} +(31,1,1) = {" +Yy +Yy +ID +Yy +Yy +Vx +Vx +Vx +Vx +Vx +Ei +Ei +bl +pT +YO +mj +ty +MS +YO +rj +ma +uN +MX +Pi +Xg +hb +Cp +lw +Rh +Yy +Yy +Ei +Ei +iY +No +No +No +No +No +No +No +AW +Ei +Ei +Yy +"} +(32,1,1) = {" +Yy +ID +ID +ID +ID +Vx +Yy +Yy +Yy +Yy +Rh +Fj +td +Fp +YO +XB +MT +bo +YO +Sr +Ra +uN +jb +xc +qb +uN +pS +pS +Rh +Yy +Yy +Ei +Ei +EH +hg +Nl +NH +ZV +JR +Nl +TC +rO +Ei +Ei +Yy +"} +(33,1,1) = {" +Yy +ID +ID +ID +ID +Vx +Yy +Yy +Yy +Yy +Rh +wX +tM +hv +YO +YO +SV +YO +YO +VN +pS +XZ +jT +So +Oh +uN +zC +zC +Rh +Yy +Yy +Yy +Ei +Ei +Gt +Hd +Hd +GB +Hd +Hd +oo +Ei +Ei +Yy +Yy +"} +(34,1,1) = {" +Yy +Yy +ID +ID +ID +ID +ID +Yy +Yy +Yy +Ei +YO +YO +YO +YO +KB +VX +zj +YO +Aj +RP +gy +gb +XD +eK +hb +Yj +sI +Rh +Yy +Yy +Yy +Yy +Ei +uo +uo +uo +Ei +uo +uo +uo +Ei +Yy +Yy +Yy +"} +(35,1,1) = {" +Yy +Yy +ID +ID +ID +ID +ID +Vx +Yy +Yy +Rh +vq +QN +Yv +se +Bu +TQ +Bu +NV +AV +cI +OQ +jV +uN +kW +RN +Og +xX +Rh +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(36,1,1) = {" +Yy +Yy +Yy +ID +ID +ID +Vx +Vx +Vx +Vx +Rh +vq +ap +Kd +YO +qo +eQ +Ck +YO +YO +tX +JV +Gp +Te +Se +hb +pS +nX +Ei +Yy +Yy +Vx +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(37,1,1) = {" +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Vx +ID +Ei +Ei +jq +pE +YO +Jd +xy +Ny +YO +YO +YO +Ux +cE +eh +LH +VD +Nb +Ei +Ei +Vx +Vx +Vx +Vx +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(38,1,1) = {" +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +ID +ID +ID +Ei +Ei +Ei +Ei +WL +WL +WL +Ei +ID +Ei +Ei +WL +WL +WL +uo +Ei +Ei +Vx +Yy +Yy +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(39,1,1) = {" +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +ID +ID +ID +ID +ID +ID +ID +Yy +Yy +Yy +ID +ID +ID +ID +Yy +Yy +Yy +Yy +Vx +Vx +Vx +Yy +ID +ID +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(40,1,1) = {" +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +ID +ID +ID +ID +ID +Yy +Yy +Yy +Yy +Yy +ID +ID +Vx +Yy +Yy +Yy +Vx +Vx +Yy +Vx +ID +ID +ID +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(41,1,1) = {" +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +ID +ID +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Vx +Vx +Vx +Yy +Yy +Vx +Yy +ID +ID +ID +ID +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(42,1,1) = {" +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Vx +Vx +Vx +ID +ID +ID +ID +ID +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(43,1,1) = {" +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Vx +ID +ID +ID +ID +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(44,1,1) = {" +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +ID +ID +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} +(45,1,1) = {" +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +Yy +"} diff --git a/maps/templates/lazy_templates/twe_ert_station.dmm b/maps/templates/lazy_templates/twe_ert_station.dmm index 78c98b4d16a9..2c9c696d7842 100644 --- a/maps/templates/lazy_templates/twe_ert_station.dmm +++ b/maps/templates/lazy_templates/twe_ert_station.dmm @@ -309,9 +309,7 @@ "go" = ( /obj/structure/platform, /obj/structure/blocker/invisible_wall, -/turf/closed/shuttle/twe_dropship{ - icon_state = "0,0" - }, +/turf/closed/shuttle/twe_dropship, /area/adminlevel/ert_station/royal_marines_station) "gq" = ( /turf/open/floor/almayer{ @@ -1220,7 +1218,6 @@ /area/adminlevel/ert_station/royal_marines_station) "xw" = ( /obj/structure/machinery/door/airlock/almayer/medical{ - id_tag = null; name = "Operating Theatre 1" }, /turf/open/floor/almayer{ @@ -1705,6 +1702,9 @@ "Hg" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/surface/table/almayer, +/obj/structure/machinery/power/apc/antag{ + dir = 1 + }, /turf/open/floor/almayer{ icon_state = "sterile_green" }, diff --git a/maps/templates/lazy_templates/weyland_ert_station.dmm b/maps/templates/lazy_templates/weyland_ert_station.dmm index 1937aa6a61a9..aa6b43ef8422 100644 --- a/maps/templates/lazy_templates/weyland_ert_station.dmm +++ b/maps/templates/lazy_templates/weyland_ert_station.dmm @@ -1506,6 +1506,9 @@ }, /area/adminlevel/ert_station/weyland_station) "sg" = ( +/obj/structure/machinery/power/apc/antag{ + dir = 4 + }, /turf/open/floor/corsat{ dir = 4; icon_state = "yellow" diff --git a/sound/misc/desk_bell.ogg b/sound/misc/desk_bell.ogg new file mode 100644 index 000000000000..c3b143c1a11f Binary files /dev/null and b/sound/misc/desk_bell.ogg differ diff --git a/sound/voice/joe/alwaysknow_haz.ogg b/sound/voice/joe/alwaysknow_haz.ogg new file mode 100644 index 000000000000..b6489f72d59f Binary files /dev/null and b/sound/voice/joe/alwaysknow_haz.ogg differ diff --git a/sound/voice/joe/apollo_behalf_haz.ogg b/sound/voice/joe/apollo_behalf_haz.ogg new file mode 100644 index 000000000000..f89225f25e69 Binary files /dev/null and b/sound/voice/joe/apollo_behalf_haz.ogg differ diff --git a/sound/voice/joe/area_restricted_haz.ogg b/sound/voice/joe/area_restricted_haz.ogg new file mode 100644 index 000000000000..e9e890b72153 Binary files /dev/null and b/sound/voice/joe/area_restricted_haz.ogg differ diff --git a/sound/voice/joe/awful_haz.ogg b/sound/voice/joe/awful_haz.ogg new file mode 100644 index 000000000000..71f3e5cd0d26 Binary files /dev/null and b/sound/voice/joe/awful_haz.ogg differ diff --git a/sound/voice/joe/back_to_work_haz.ogg b/sound/voice/joe/back_to_work_haz.ogg new file mode 100644 index 000000000000..ce5966c71e46 Binary files /dev/null and b/sound/voice/joe/back_to_work_haz.ogg differ diff --git a/sound/voice/joe/beyond_repair_haz.ogg b/sound/voice/joe/beyond_repair_haz.ogg new file mode 100644 index 000000000000..31a9de147862 Binary files /dev/null and b/sound/voice/joe/beyond_repair_haz.ogg differ diff --git a/sound/voice/joe/breach_haz.ogg b/sound/voice/joe/breach_haz.ogg new file mode 100644 index 000000000000..a6d425c00dfd Binary files /dev/null and b/sound/voice/joe/breach_haz.ogg differ diff --git a/sound/voice/joe/come_out_vent_haz.ogg b/sound/voice/joe/come_out_vent_haz.ogg new file mode 100644 index 000000000000..8161b4331f47 Binary files /dev/null and b/sound/voice/joe/come_out_vent_haz.ogg differ diff --git a/sound/voice/joe/could_require_attention_haz.ogg b/sound/voice/joe/could_require_attention_haz.ogg new file mode 100644 index 000000000000..2d997a055d22 Binary files /dev/null and b/sound/voice/joe/could_require_attention_haz.ogg differ diff --git a/sound/voice/joe/damage_haz.ogg b/sound/voice/joe/damage_haz.ogg new file mode 100644 index 000000000000..3c757f48eab6 Binary files /dev/null and b/sound/voice/joe/damage_haz.ogg differ diff --git a/sound/voice/joe/dangerous_items_haz.ogg b/sound/voice/joe/dangerous_items_haz.ogg new file mode 100644 index 000000000000..6b1d3f5aef57 Binary files /dev/null and b/sound/voice/joe/dangerous_items_haz.ogg differ diff --git a/sound/voice/joe/day_never_done_haz.ogg b/sound/voice/joe/day_never_done_haz.ogg new file mode 100644 index 000000000000..3ae295a96143 Binary files /dev/null and b/sound/voice/joe/day_never_done_haz.ogg differ diff --git a/sound/voice/joe/detailed_report_haz.ogg b/sound/voice/joe/detailed_report_haz.ogg new file mode 100644 index 000000000000..31d4686a8799 Binary files /dev/null and b/sound/voice/joe/detailed_report_haz.ogg differ diff --git a/sound/voice/joe/disturbance_haz.ogg b/sound/voice/joe/disturbance_haz.ogg new file mode 100644 index 000000000000..78f242382bff Binary files /dev/null and b/sound/voice/joe/disturbance_haz.ogg differ diff --git a/sound/voice/joe/fire_haz.ogg b/sound/voice/joe/fire_haz.ogg new file mode 100644 index 000000000000..ec1ff9fad98f Binary files /dev/null and b/sound/voice/joe/fire_haz.ogg differ diff --git a/sound/voice/joe/firearm_haz.ogg b/sound/voice/joe/firearm_haz.ogg new file mode 100644 index 000000000000..ff5d19bab998 Binary files /dev/null and b/sound/voice/joe/firearm_haz.ogg differ diff --git a/sound/voice/joe/follow_me_please_haz.ogg b/sound/voice/joe/follow_me_please_haz.ogg new file mode 100644 index 000000000000..9d39bb8d1693 Binary files /dev/null and b/sound/voice/joe/follow_me_please_haz.ogg differ diff --git a/sound/voice/joe/good_day_haz.ogg b/sound/voice/joe/good_day_haz.ogg new file mode 100644 index 000000000000..7ec82d9483f4 Binary files /dev/null and b/sound/voice/joe/good_day_haz.ogg differ diff --git a/sound/voice/joe/health_risks_haz.ogg b/sound/voice/joe/health_risks_haz.ogg new file mode 100644 index 000000000000..76ecf60b23d7 Binary files /dev/null and b/sound/voice/joe/health_risks_haz.ogg differ diff --git a/sound/voice/joe/how_can_i_help_haz.ogg b/sound/voice/joe/how_can_i_help_haz.ogg new file mode 100644 index 000000000000..d6d28222efd7 Binary files /dev/null and b/sound/voice/joe/how_can_i_help_haz.ogg differ diff --git a/sound/voice/joe/hysterical_haz.ogg b/sound/voice/joe/hysterical_haz.ogg new file mode 100644 index 000000000000..cd2926fa64cc Binary files /dev/null and b/sound/voice/joe/hysterical_haz.ogg differ diff --git a/sound/voice/joe/investigating_disturbance_haz.ogg b/sound/voice/joe/investigating_disturbance_haz.ogg new file mode 100644 index 000000000000..c36bc8ff0f0d Binary files /dev/null and b/sound/voice/joe/investigating_disturbance_haz.ogg differ diff --git a/sound/voice/joe/irresponsible_haz.ogg b/sound/voice/joe/irresponsible_haz.ogg new file mode 100644 index 000000000000..585d5e6dc7bb Binary files /dev/null and b/sound/voice/joe/irresponsible_haz.ogg differ diff --git a/sound/voice/joe/misbehaving_haz.ogg b/sound/voice/joe/misbehaving_haz.ogg new file mode 100644 index 000000000000..f3a49f3527ee Binary files /dev/null and b/sound/voice/joe/misbehaving_haz.ogg differ diff --git a/sound/voice/joe/more_pressing_matters_haz.ogg b/sound/voice/joe/more_pressing_matters_haz.ogg new file mode 100644 index 000000000000..e4a2222ba2a4 Binary files /dev/null and b/sound/voice/joe/more_pressing_matters_haz.ogg differ diff --git a/sound/voice/joe/not_allowed_there_haz.ogg b/sound/voice/joe/not_allowed_there_haz.ogg new file mode 100644 index 000000000000..62804f4498a8 Binary files /dev/null and b/sound/voice/joe/not_allowed_there_haz.ogg differ diff --git a/sound/voice/joe/not_what_i_think_haz.ogg b/sound/voice/joe/not_what_i_think_haz.ogg new file mode 100644 index 000000000000..f8f640c87de8 Binary files /dev/null and b/sound/voice/joe/not_what_i_think_haz.ogg differ diff --git a/sound/voice/joe/other_concerns_haz.ogg b/sound/voice/joe/other_concerns_haz.ogg new file mode 100644 index 000000000000..8c24870cfa4b Binary files /dev/null and b/sound/voice/joe/other_concerns_haz.ogg differ diff --git a/sound/voice/joe/patience_haz.ogg b/sound/voice/joe/patience_haz.ogg new file mode 100644 index 000000000000..3e99f84c5d58 Binary files /dev/null and b/sound/voice/joe/patience_haz.ogg differ diff --git a/sound/voice/joe/presence_logged_haz.ogg b/sound/voice/joe/presence_logged_haz.ogg new file mode 100644 index 000000000000..df8b5a0cdfa9 Binary files /dev/null and b/sound/voice/joe/presence_logged_haz.ogg differ diff --git a/sound/voice/joe/really_shouldnt_be_here_haz.ogg b/sound/voice/joe/really_shouldnt_be_here_haz.ogg new file mode 100644 index 000000000000..22de4fe8ac63 Binary files /dev/null and b/sound/voice/joe/really_shouldnt_be_here_haz.ogg differ diff --git a/sound/voice/joe/report_haz.ogg b/sound/voice/joe/report_haz.ogg new file mode 100644 index 000000000000..188042163ed4 Binary files /dev/null and b/sound/voice/joe/report_haz.ogg differ diff --git a/sound/voice/joe/running_accidents_haz.ogg b/sound/voice/joe/running_accidents_haz.ogg new file mode 100644 index 000000000000..adca77ae199c Binary files /dev/null and b/sound/voice/joe/running_accidents_haz.ogg differ diff --git a/sound/voice/joe/safety_breach_haz.ogg b/sound/voice/joe/safety_breach_haz.ogg new file mode 100644 index 000000000000..41116872272a Binary files /dev/null and b/sound/voice/joe/safety_breach_haz.ogg differ diff --git a/sound/voice/joe/safety_haz.ogg b/sound/voice/joe/safety_haz.ogg new file mode 100644 index 000000000000..838abe6813b6 Binary files /dev/null and b/sound/voice/joe/safety_haz.ogg differ diff --git a/sound/voice/joe/species_haz.ogg b/sound/voice/joe/species_haz.ogg new file mode 100644 index 000000000000..a0bcaebf05ac Binary files /dev/null and b/sound/voice/joe/species_haz.ogg differ diff --git a/sound/voice/joe/support_ticket_removed_haz.ogg b/sound/voice/joe/support_ticket_removed_haz.ogg new file mode 100644 index 000000000000..db6e2dc69eca Binary files /dev/null and b/sound/voice/joe/support_ticket_removed_haz.ogg differ diff --git a/sound/voice/joe/temperatures_haz.ogg b/sound/voice/joe/temperatures_haz.ogg new file mode 100644 index 000000000000..5d1a4a952dfa Binary files /dev/null and b/sound/voice/joe/temperatures_haz.ogg differ diff --git a/sound/voice/joe/that_stings_haz.ogg b/sound/voice/joe/that_stings_haz.ogg new file mode 100644 index 000000000000..f88468d260c9 Binary files /dev/null and b/sound/voice/joe/that_stings_haz.ogg differ diff --git a/sound/voice/joe/this_is_futile_haz.ogg b/sound/voice/joe/this_is_futile_haz.ogg new file mode 100644 index 000000000000..3d371cc9fc04 Binary files /dev/null and b/sound/voice/joe/this_is_futile_haz.ogg differ diff --git a/sound/voice/joe/tomorrow_together_haz.ogg b/sound/voice/joe/tomorrow_together_haz.ogg new file mode 100644 index 000000000000..05686c426bf5 Binary files /dev/null and b/sound/voice/joe/tomorrow_together_haz.ogg differ diff --git a/sound/voice/joe/unprotected_flames_haz.ogg b/sound/voice/joe/unprotected_flames_haz.ogg new file mode 100644 index 000000000000..8b2df7a38946 Binary files /dev/null and b/sound/voice/joe/unprotected_flames_haz.ogg differ diff --git a/sound/voice/joe/what_happened_to_you_haz.ogg b/sound/voice/joe/what_happened_to_you_haz.ogg new file mode 100644 index 000000000000..db90ec8119eb Binary files /dev/null and b/sound/voice/joe/what_happened_to_you_haz.ogg differ diff --git a/sound/voice/joe/what_is_this_haz.ogg b/sound/voice/joe/what_is_this_haz.ogg new file mode 100644 index 000000000000..27aedef9f230 Binary files /dev/null and b/sound/voice/joe/what_is_this_haz.ogg differ diff --git a/sound/voice/joe/with_you_shortly_haz.ogg b/sound/voice/joe/with_you_shortly_haz.ogg new file mode 100644 index 000000000000..5f7a669c38fb Binary files /dev/null and b/sound/voice/joe/with_you_shortly_haz.ogg differ diff --git a/strings/fortunes.txt b/strings/fortunes.txt index 31478d7ba3d9..27f249d0c8b0 100644 --- a/strings/fortunes.txt +++ b/strings/fortunes.txt @@ -5,6 +5,7 @@ A conclusion is simply the place where you got tired of thinking. A curse on the surface may be a blessing in disguise. A cynic is only a frustrated optimist. A dream is a wish your heart makes. +A friend will bring you a big surprise soon. A golden egg of your opportunity falls into your lap this month. A good gun will never kill anyone on its own. It is the shooter who pulls the trigger. A good leader knows when to shut up and listen. @@ -19,7 +20,7 @@ A true leader looks after their men, not their life. A true soldier dies protecting the ones they care for. A very attractive person will come with a message for you. A well-aimed spear is worth three. -ALl endings are also beginnings. We just don't know it all the time. +All endings are also beginnings. We just don't know it all the time. About time I got out of that cookie. Accept what comes to you each day. Accomplish the tasks you were given, and then you can rest easy. @@ -183,6 +184,7 @@ Luck will shine upon you today. Make happiness a priority, and be gentle with yourself in the process. Make someone laugh today. Make someone smile today. +Make today your day. Man is born to live, but not prepared to live. Many will travel to hear you speak. Man’s mind, once stretched by a new idea, never regains its original dimensions. @@ -377,4 +379,4 @@ Your shoes are dirty. Your shoes are untied. Your talents will be recognized and suitably rewarded. Your work interests can capture the highest status or prestige. -Your worst enemy has a crush on you. \ No newline at end of file +Your worst enemy has a crush on you. diff --git a/strings/marinetips.txt b/strings/marinetips.txt index d461c764fb34..253860e1eddd 100644 --- a/strings/marinetips.txt +++ b/strings/marinetips.txt @@ -101,3 +101,4 @@ The nuclear ordnance requires BOTH communication towers to be actively held to d ARES will periodically report the amount of available tech points on Command Channel. The quick wield keys generally prioritize wieldable gear going from left to right on your inventory bar. Orbital Bombardment warheads respect roofing and hive core protection. They won't hit inside of protected areas. +The Queen can unbolt and break dropship doors by prying them open, even if they are unlocked. Pilots, Dropship Crew Chiefs, Engineers and Synths can repair these doors with a multitool. diff --git a/strings/xenotips.txt b/strings/xenotips.txt index 08f56bf1aa8e..d5bc61e7cf79 100644 --- a/strings/xenotips.txt +++ b/strings/xenotips.txt @@ -37,3 +37,21 @@ You can filter out the Xenomorphs displayed in hive status by health, allowing y Each xeno has their own ‘tackle counter’ on a marine. The range to successfully tackle can be anywhere from two to six tackles based on caste. If a marine gets stunned or knocked over by other means it will reset everyone's tackle counters and they may get up! As a Xenomorph, the list of available tunnels is sorted by their distance to the player! As a Xenomorph, pay attention to what a marine is wearing. If they have no helmet, aiming for the head will be significantly more damaging, if they aren't wearing gloves, then think about going for their hands. +Applying acid to flares makes them burn faster. +Melting weapons, ammo or other valuables owned by marines is a good way to debilitate them. +The secrete acid shortcut is (by default) Shift + C. +Placing acid traps under map debris such as metal sheets, wooden planks or other semi-large to large items is good for catching marines by surprise. +Burrower can place tunnels underneath tables or lockers. +Lesser drones and facehuggers cannot speak or use the Hivemind for three minutes after spawning. +Alt-clicking on the Queen tracker allows you to set it to also track the Hive Core, any living leaders or any existing tunnels. Tunnels are ordered by closest to furthest; top to bottom. +Be mindful of not blocking the escape of injured sisters. +As a Xenomorph, you are able to melt advanced body scanners, sleepers, MarineMeds and limb printers. +You can break roller beds with a single slash to stop a medic from quickly transporting a body. +As a Defender, lowering your crest gives you increased resistance to stuns like explosives or shotgun shells. +Tail stab will always hit the targetted limb and will do 1.2x your normal melee damage; it has a two tile range. +You can check if a door is shocked by tailstabbing it. +You can use your tail stab to slowly damage and break doors; this takes some time. +Some smaller Xenomorphs such as Runners can hide behind barricades by resting against them, a good surprise tactic. +Defenders with a lowered crest can open existing holes in walls. +As a Defender, you can deal an additional stage of damage to an APC by lowering your crest and then attacking it. +Any Xenomorph with acid can melt any kind of window frame; you may use this to create additional paths. diff --git a/tgui/packages/tgui-panel/chat/constants.js b/tgui/packages/tgui-panel/chat/constants.js index 020e8513dc2c..a9b1634783af 100644 --- a/tgui/packages/tgui-panel/chat/constants.js +++ b/tgui/packages/tgui-panel/chat/constants.js @@ -40,6 +40,7 @@ export const MESSAGE_TYPE_EVENTCHAT = 'eventchat'; export const MESSAGE_TYPE_ADMINLOG = 'adminlog'; export const MESSAGE_TYPE_ATTACKLOG = 'attacklog'; export const MESSAGE_TYPE_DEBUG = 'debug'; +export const MESSAGE_TYPE_NICHE = 'niche'; // Metadata for each message type export const MESSAGE_TYPES = [ @@ -164,4 +165,11 @@ export const MESSAGE_TYPES = [ selector: '.debuginfo', admin: true, }, + { + type: MESSAGE_TYPE_NICHE, + name: 'Niche Log', + description: 'ADMIN NICHE LOG: Urist McTraitor stuttered while saying: Boo', + selector: '.niche', + admin: true, + }, ]; diff --git a/tgui/packages/tgui-panel/styles/goon/chat-dark.scss b/tgui/packages/tgui-panel/styles/goon/chat-dark.scss index 9e6d604bdf82..ca142dab82a4 100644 --- a/tgui/packages/tgui-panel/styles/goon/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/goon/chat-dark.scss @@ -228,6 +228,7 @@ a.popt { .looc, .adminooc, .admin, +.niche, .medal, .yell { font-weight: bold; @@ -290,6 +291,11 @@ em { font-weight: bold; } +.niche { + color: #5975da; + font-weight: bold; +} + .name { font-weight: bold; } diff --git a/tgui/packages/tgui-panel/styles/goon/chat-light.scss b/tgui/packages/tgui-panel/styles/goon/chat-light.scss index 78613d37ae51..9cf69e221ca6 100644 --- a/tgui/packages/tgui-panel/styles/goon/chat-light.scss +++ b/tgui/packages/tgui-panel/styles/goon/chat-light.scss @@ -246,6 +246,7 @@ a.popt { .looc, .adminooc, .admin, +.niche, .medal, .yell { font-weight: bold; @@ -308,6 +309,11 @@ em { font-weight: bold; } +.niche { + color: #4473ff; + font-weight: bold; +} + .name { font-weight: bold; } diff --git a/tgui/packages/tgui/interfaces/AresAdmin.js b/tgui/packages/tgui/interfaces/AresAdmin.js index 4f19cf452b17..dd51b5a1e007 100644 --- a/tgui/packages/tgui/interfaces/AresAdmin.js +++ b/tgui/packages/tgui/interfaces/AresAdmin.js @@ -18,6 +18,8 @@ const PAGES = { 'security': () => Security, 'requisitions': () => Requisitions, 'emergency': () => Emergency, + 'tech_log': () => TechLogs, + 'core_security': () => CoreSec, 'admin_access_log': () => AdminAccessLogs, 'access_management': () => AccessManagement, 'maintenance_management': () => MaintManagement, @@ -31,6 +33,10 @@ export const AresAdmin = (props, context) => { let themecolor = 'crtyellow'; if (sudo >= 1) { themecolor = 'crtred'; + } else if (current_menu === 'emergency') { + themecolor = 'crtred'; + } else if (current_menu === 'core_security') { + themecolor = 'crtred'; } return ( @@ -255,6 +261,18 @@ const MainMenu = (props, context) => { onClick={() => act('page_requisitions')} /> + + + + {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/tgui/public/tgui-panel.bundle.css b/tgui/public/tgui-panel.bundle.css index 468393947fff..65ed516c5573 100644 --- a/tgui/public/tgui-panel.bundle.css +++ b/tgui/public/tgui-panel.bundle.css @@ -1,2 +1,2 @@ -html,body{box-sizing:border-box;height:100%;margin:0;font-size:12px}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif}*,*:before,*:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{display:block;margin:0;padding:6px 0;padding:.5rem 0}h1{font-size:18px;font-size:1.5rem}h2{font-size:16px;font-size:1.333rem}h3{font-size:14px;font-size:1.167rem}h4{font-size:12px;font-size:1rem}td,th{vertical-align:baseline;text-align:left}.candystripe:nth-child(odd){background-color:rgba(0,0,0,.25)}.color-black{color:#1a1a1a !important}.color-white{color:#fff !important}.color-red{color:#df3e3e !important}.color-orange{color:#f37f33 !important}.color-yellow{color:#fbda21 !important}.color-olive{color:#cbe41c !important}.color-green{color:#25ca4c !important}.color-teal{color:#00d6cc !important}.color-blue{color:#2e93de !important}.color-dark-blue{color:#005fa7 !important}.color-violet{color:#7349cf !important}.color-purple{color:#ad45d0 !important}.color-pink{color:#e34da1 !important}.color-brown{color:#b97447 !important}.color-grey{color:#848484 !important}.color-light-grey{color:#b3b3b3 !important}.color-good{color:#68c22d !important}.color-average{color:#f29a29 !important}.color-bad{color:#df3e3e !important}.color-label{color:#8b9bb0 !important}.color-xeno{color:#664573 !important}.color-bg-black{background-color:#000 !important}.color-bg-white{background-color:#d9d9d9 !important}.color-bg-red{background-color:#bd2020 !important}.color-bg-orange{background-color:#d95e0c !important}.color-bg-yellow{background-color:#d9b804 !important}.color-bg-olive{background-color:#9aad14 !important}.color-bg-green{background-color:#1b9638 !important}.color-bg-teal{background-color:#009a93 !important}.color-bg-blue{background-color:#1c71b1 !important}.color-bg-dark-blue{background-color:#003e6e !important}.color-bg-violet{background-color:#552dab !important}.color-bg-purple{background-color:#8b2baa !important}.color-bg-pink{background-color:#cf2082 !important}.color-bg-brown{background-color:#8c5836 !important}.color-bg-grey{background-color:#646464 !important}.color-bg-light-grey{background-color:#919191 !important}.color-bg-good{background-color:#4d9121 !important}.color-bg-average{background-color:#cd7a0d !important}.color-bg-bad{background-color:#bd2020 !important}.color-bg-label{background-color:#657a94 !important}.color-bg-xeno{background-color:#462f4e !important}.debug-layout,.debug-layout *:not(g):not(path){color:rgba(255,255,255,.9) !important;background:rgba(0,0,0,0) !important;outline:1px solid rgba(255,255,255,.5) !important;box-shadow:none !important;filter:none !important}.debug-layout:hover,.debug-layout *:not(g):not(path):hover{outline-color:rgba(255,255,255,.8) !important}.outline-dotted{outline-style:dotted !important}.outline-dashed{outline-style:dashed !important}.outline-solid{outline-style:solid !important}.outline-double{outline-style:double !important}.outline-groove{outline-style:groove !important}.outline-ridge{outline-style:ridge !important}.outline-inset{outline-style:inset !important}.outline-outset{outline-style:outset !important}.outline-color-black{outline:.167rem solid #1a1a1a !important}.outline-color-white{outline:.167rem solid #fff !important}.outline-color-red{outline:.167rem solid #df3e3e !important}.outline-color-orange{outline:.167rem solid #f37f33 !important}.outline-color-yellow{outline:.167rem solid #fbda21 !important}.outline-color-olive{outline:.167rem solid #cbe41c !important}.outline-color-green{outline:.167rem solid #25ca4c !important}.outline-color-teal{outline:.167rem solid #00d6cc !important}.outline-color-blue{outline:.167rem solid #2e93de !important}.outline-color-dark-blue{outline:.167rem solid #005fa7 !important}.outline-color-violet{outline:.167rem solid #7349cf !important}.outline-color-purple{outline:.167rem solid #ad45d0 !important}.outline-color-pink{outline:.167rem solid #e34da1 !important}.outline-color-brown{outline:.167rem solid #b97447 !important}.outline-color-grey{outline:.167rem solid #848484 !important}.outline-color-light-grey{outline:.167rem solid #b3b3b3 !important}.outline-color-good{outline:.167rem solid #68c22d !important}.outline-color-average{outline:.167rem solid #f29a29 !important}.outline-color-bad{outline:.167rem solid #df3e3e !important}.outline-color-label{outline:.167rem solid #8b9bb0 !important}.outline-color-xeno{outline:.167rem solid #664573 !important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-baseline{text-align:baseline}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-pre{white-space:pre}.text-bold{font-weight:bold}.text-italic{font-style:italic}.text-underline{text-decoration:underline}.BlockQuote{color:#8b9bb0;border-left:.1666666667em solid #8b9bb0;padding-left:.5em;margin-bottom:.5em}.BlockQuote:last-child{margin-bottom:0}.Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.Button .fa,.Button .fas,.Button .far{margin-left:-0.25em;margin-right:-0.25em;min-width:1.333em;text-align:center}.Button--hasContent .fa,.Button--hasContent .fas,.Button--hasContent .far{margin-right:.25em}.Button--hasContent.Button--iconPosition--right .fa,.Button--hasContent.Button--iconPosition--right .fas,.Button--hasContent.Button--iconPosition--right .far{margin-right:0px;margin-left:3px}.Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.Button--fluid{display:block;margin-left:0;margin-right:0}.Button--circular{border-radius:50%}.Button--compact{padding:0 .25em;line-height:1.333em}.Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.Button--color--black:hover{transition:color 0ms,background-color 0ms}.Button--color--black:focus{transition:color 100ms,background-color 100ms}.Button--color--black:hover,.Button--color--black:focus{background-color:#131313;color:#fff}.Button--color--white{transition:color 50ms,background-color 50ms;background-color:#d9d9d9;color:#000}.Button--color--white:hover{transition:color 0ms,background-color 0ms}.Button--color--white:focus{transition:color 100ms,background-color 100ms}.Button--color--white:hover,.Button--color--white:focus{background-color:#f8f8f8;color:#000}.Button--color--red{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--red:hover{transition:color 0ms,background-color 0ms}.Button--color--red:focus{transition:color 100ms,background-color 100ms}.Button--color--red:hover,.Button--color--red:focus{background-color:#dc4848;color:#fff}.Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#d95e0c;color:#fff}.Button--color--orange:hover{transition:color 0ms,background-color 0ms}.Button--color--orange:focus{transition:color 100ms,background-color 100ms}.Button--color--orange:hover,.Button--color--orange:focus{background-color:#f0853f;color:#fff}.Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.Button--color--yellow:focus{transition:color 100ms,background-color 100ms}.Button--color--yellow:hover,.Button--color--yellow:focus{background-color:#f5d72e;color:#000}.Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#9aad14;color:#fff}.Button--color--olive:hover{transition:color 0ms,background-color 0ms}.Button--color--olive:focus{transition:color 100ms,background-color 100ms}.Button--color--olive:hover,.Button--color--olive:focus{background-color:#c4da2b;color:#fff}.Button--color--green{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--color--green:hover{transition:color 0ms,background-color 0ms}.Button--color--green:focus{transition:color 100ms,background-color 100ms}.Button--color--green:hover,.Button--color--green:focus{background-color:#32c154;color:#fff}.Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#009a93;color:#fff}.Button--color--teal:hover{transition:color 0ms,background-color 0ms}.Button--color--teal:focus{transition:color 100ms,background-color 100ms}.Button--color--teal:hover,.Button--color--teal:focus{background-color:#13c4bc;color:#fff}.Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#1c71b1;color:#fff}.Button--color--blue:hover{transition:color 0ms,background-color 0ms}.Button--color--blue:focus{transition:color 100ms,background-color 100ms}.Button--color--blue:hover,.Button--color--blue:focus{background-color:#3a95d9;color:#fff}.Button--color--dark-blue{transition:color 50ms,background-color 50ms;background-color:#003e6e;color:#fff}.Button--color--dark-blue:hover{transition:color 0ms,background-color 0ms}.Button--color--dark-blue:focus{transition:color 100ms,background-color 100ms}.Button--color--dark-blue:hover,.Button--color--dark-blue:focus{background-color:#135b92;color:#fff}.Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#552dab;color:#fff}.Button--color--violet:hover{transition:color 0ms,background-color 0ms}.Button--color--violet:focus{transition:color 100ms,background-color 100ms}.Button--color--violet:hover,.Button--color--violet:focus{background-color:#7953cc;color:#fff}.Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#8b2baa;color:#fff}.Button--color--purple:hover{transition:color 0ms,background-color 0ms}.Button--color--purple:focus{transition:color 100ms,background-color 100ms}.Button--color--purple:hover,.Button--color--purple:focus{background-color:#ad4fcd;color:#fff}.Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#cf2082;color:#fff}.Button--color--pink:hover{transition:color 0ms,background-color 0ms}.Button--color--pink:focus{transition:color 100ms,background-color 100ms}.Button--color--pink:hover,.Button--color--pink:focus{background-color:#e257a5;color:#fff}.Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#8c5836;color:#fff}.Button--color--brown:hover{transition:color 0ms,background-color 0ms}.Button--color--brown:focus{transition:color 100ms,background-color 100ms}.Button--color--brown:hover,.Button--color--brown:focus{background-color:#b47851;color:#fff}.Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#646464;color:#fff}.Button--color--grey:hover{transition:color 0ms,background-color 0ms}.Button--color--grey:focus{transition:color 100ms,background-color 100ms}.Button--color--grey:hover,.Button--color--grey:focus{background-color:#868686;color:#fff}.Button--color--light-grey{transition:color 50ms,background-color 50ms;background-color:#919191;color:#fff}.Button--color--light-grey:hover{transition:color 0ms,background-color 0ms}.Button--color--light-grey:focus{transition:color 100ms,background-color 100ms}.Button--color--light-grey:hover,.Button--color--light-grey:focus{background-color:#bababa;color:#fff}.Button--color--good{transition:color 50ms,background-color 50ms;background-color:#4d9121;color:#fff}.Button--color--good:hover{transition:color 0ms,background-color 0ms}.Button--color--good:focus{transition:color 100ms,background-color 100ms}.Button--color--good:hover,.Button--color--good:focus{background-color:#6cba39;color:#fff}.Button--color--average{transition:color 50ms,background-color 50ms;background-color:#cd7a0d;color:#fff}.Button--color--average:hover{transition:color 0ms,background-color 0ms}.Button--color--average:focus{transition:color 100ms,background-color 100ms}.Button--color--average:hover,.Button--color--average:focus{background-color:#ed9d35;color:#fff}.Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--bad:hover{transition:color 0ms,background-color 0ms}.Button--color--bad:focus{transition:color 100ms,background-color 100ms}.Button--color--bad:hover,.Button--color--bad:focus{background-color:#dc4848;color:#fff}.Button--color--label{transition:color 50ms,background-color 50ms;background-color:#657a94;color:#fff}.Button--color--label:hover{transition:color 0ms,background-color 0ms}.Button--color--label:focus{transition:color 100ms,background-color 100ms}.Button--color--label:hover,.Button--color--label:focus{background-color:#91a1b3;color:#fff}.Button--color--xeno{transition:color 50ms,background-color 50ms;background-color:#462f4e;color:#fff}.Button--color--xeno:hover{transition:color 0ms,background-color 0ms}.Button--color--xeno:focus{transition:color 100ms,background-color 100ms}.Button--color--xeno:hover,.Button--color--xeno:focus{background-color:#64496d;color:#fff}.Button--color--default{transition:color 50ms,background-color 50ms;background-color:#3e6189;color:#fff}.Button--color--default:hover{transition:color 0ms,background-color 0ms}.Button--color--default:focus{transition:color 100ms,background-color 100ms}.Button--color--default:hover,.Button--color--default:focus{background-color:#5c83b0;color:#fff}.Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--caution:hover{transition:color 0ms,background-color 0ms}.Button--color--caution:focus{transition:color 100ms,background-color 100ms}.Button--color--caution:hover,.Button--color--caution:focus{background-color:#f5d72e;color:#000}.Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--danger:hover{transition:color 0ms,background-color 0ms}.Button--color--danger:focus{transition:color 100ms,background-color 100ms}.Button--color--danger:hover,.Button--color--danger:focus{background-color:#dc4848;color:#fff}.Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#202020;color:#fff;background-color:rgba(32,32,32,0);color:rgba(255,255,255,.5)}.Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.Button--color--transparent:focus{transition:color 100ms,background-color 100ms}.Button--color--transparent:hover,.Button--color--transparent:focus{background-color:#383838;color:#fff}.Button--disabled{background-color:#999 !important}.Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--selected:hover{transition:color 0ms,background-color 0ms}.Button--selected:focus{transition:color 100ms,background-color 100ms}.Button--selected:hover,.Button--selected:focus{background-color:#32c154;color:#fff}.Button--flex{display:inline-flex;flex-direction:column}.Button--flex--fluid{width:100%}.Button--verticalAlignContent--top{justify-content:flex-start}.Button--verticalAlignContent--middle{justify-content:center}.Button--verticalAlignContent--bottom{justify-content:flex-end}.Button__content{display:block;align-self:stretch}.ColorBox{display:inline-block;width:1em;height:1em;line-height:1em;text-align:center}.Dimmer{display:flex;justify-content:center;align-items:center;position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.75);z-index:1}.Divider--horizontal{margin:.5em 0}.Divider--horizontal:not(.Divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Divider--vertical{height:100%;margin:0 .5em}.Divider--vertical:not(.Divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Dropdown{position:relative}.Dropdown__control{position:relative;display:inline-block;font-family:Verdana,sans-serif;font-size:1em;width:8.3333333333em;line-height:1.4166666667em;user-select:none}.Dropdown__arrow-button{float:right;padding-left:.35em;width:1.2em;height:1.8333333333em;border-left:.0833333333em solid #000;border-left:.0833333333em solid rgba(0,0,0,.25)}.Dropdown__menu{position:absolute;overflow-y:auto;z-index:5;width:8.3333333333em;max-height:16.6666666667em;overflow-y:scroll;border-radius:0 0 .1666666667em .1666666667em;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menu-noscroll{position:absolute;overflow-y:auto;z-index:5;width:8.3333333333em;max-height:16.6666666667em;border-radius:0 0 .1666666667em .1666666667em;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menuentry{padding:.1666666667em .3333333333em;font-family:Verdana,sans-serif;font-size:1em;line-height:1.4166666667em;transition:background-color 100ms ease-out}.Dropdown__menuentry:hover{background-color:rgba(255,255,255,.2);transition:background-color 0ms}.Dropdown__over{top:auto;bottom:100%}.Dropdown__selected-text{display:inline-block;text-overflow:ellipsis;white-space:nowrap;height:1.4166666667em;width:calc(100% - 1.2em)}.Flex{display:-ms-flexbox;display:flex}.Flex--inline{display:inline-flex}.Flex--iefix{display:block}.Flex--iefix.Flex--inline{display:inline-block}.Flex__item--iefix{display:inline-block}.Flex--iefix--column>.Flex__item--iefix{display:block}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Input--monospace .Input__input{font-family:"Consolas",monospace}.Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto;margin-bottom:-0.2em;cursor:n-resize}.Knob:after{content:".";color:rgba(0,0,0,0);line-height:2.5em}.Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 100%);border-radius:50%;box-shadow:0 .05em .5em 0 rgba(0,0,0,.5)}.Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:rgba(255,255,255,.9)}.Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.Knob__ringTrackPivot{transform:rotateZ(135deg)}.Knob__ringTrack{fill:rgba(0,0,0,0);stroke:rgba(255,255,255,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.Knob__ringFillPivot{transform:rotateZ(135deg)}.Knob--bipolar .Knob__ringFillPivot{transform:rotateZ(270deg)}.Knob__ringFill{fill:rgba(0,0,0,0);stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms ease-out}.Knob--color--black .Knob__ringFill{stroke:#1a1a1a}.Knob--color--white .Knob__ringFill{stroke:#fff}.Knob--color--red .Knob__ringFill{stroke:#df3e3e}.Knob--color--orange .Knob__ringFill{stroke:#f37f33}.Knob--color--yellow .Knob__ringFill{stroke:#fbda21}.Knob--color--olive .Knob__ringFill{stroke:#cbe41c}.Knob--color--green .Knob__ringFill{stroke:#25ca4c}.Knob--color--teal .Knob__ringFill{stroke:#00d6cc}.Knob--color--blue .Knob__ringFill{stroke:#2e93de}.Knob--color--dark-blue .Knob__ringFill{stroke:#005fa7}.Knob--color--violet .Knob__ringFill{stroke:#7349cf}.Knob--color--purple .Knob__ringFill{stroke:#ad45d0}.Knob--color--pink .Knob__ringFill{stroke:#e34da1}.Knob--color--brown .Knob__ringFill{stroke:#b97447}.Knob--color--grey .Knob__ringFill{stroke:#848484}.Knob--color--light-grey .Knob__ringFill{stroke:#b3b3b3}.Knob--color--good .Knob__ringFill{stroke:#68c22d}.Knob--color--average .Knob__ringFill{stroke:#f29a29}.Knob--color--bad .Knob__ringFill{stroke:#df3e3e}.Knob--color--label .Knob__ringFill{stroke:#8b9bb0}.Knob--color--xeno .Knob__ringFill{stroke:#664573}.LabeledList{display:table;width:100%;width:calc(100% + 1em);border-collapse:collapse;border-spacing:0;margin:-0.25em -0.5em;margin-bottom:0;padding:0}.LabeledList__row{display:table-row}.LabeledList__row:last-child .LabeledList__cell{padding-bottom:0}.LabeledList__cell{display:table-cell;margin:0;padding:.25em .5em;border:0;text-align:left}.LabeledList__label--nowrap{width:1%;white-space:nowrap;min-width:5em}.LabeledList__buttons{width:.1%;white-space:nowrap;text-align:right;padding-top:.0833333333em;padding-bottom:0}.Modal{background-color:#202020;max-width:calc(100% - 1rem);padding:1rem}.NoticeBox{padding:.33em .5em;margin-bottom:.5em;box-shadow:none;font-weight:bold;font-style:italic;color:#000;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg, transparent, transparent 0.8333333333em, rgba(0, 0, 0, 0.1) 0.8333333333em, rgba(0, 0, 0, 0.1) 1.6666666667em)}.NoticeBox--color--black{color:#fff;background-color:#000}.NoticeBox--color--white{color:#000;background-color:#b3b3b3}.NoticeBox--color--red{color:#fff;background-color:#701f1f}.NoticeBox--color--orange{color:#fff;background-color:#854114}.NoticeBox--color--yellow{color:#000;background-color:#83710d}.NoticeBox--color--olive{color:#000;background-color:#576015}.NoticeBox--color--green{color:#fff;background-color:#174e24}.NoticeBox--color--teal{color:#fff;background-color:#064845}.NoticeBox--color--blue{color:#fff;background-color:#1b4565}.NoticeBox--color--dark-blue{color:#fff;background-color:#02121f}.NoticeBox--color--violet{color:#fff;background-color:#3b2864}.NoticeBox--color--purple{color:#fff;background-color:#542663}.NoticeBox--color--pink{color:#fff;background-color:#802257}.NoticeBox--color--brown{color:#fff;background-color:#4c3729}.NoticeBox--color--grey{color:#fff;background-color:#3e3e3e}.NoticeBox--color--light-grey{color:#fff;background-color:#6a6a6a}.NoticeBox--color--good{color:#fff;background-color:#2e4b1a}.NoticeBox--color--average{color:#fff;background-color:#7b4e13}.NoticeBox--color--bad{color:#fff;background-color:#701f1f}.NoticeBox--color--label{color:#fff;background-color:#53565a}.NoticeBox--color--xeno{color:#fff;background-color:#19161b}.NoticeBox--type--info{color:#fff;background-color:#235982}.NoticeBox--type--success{color:#fff;background-color:#1e662f}.NoticeBox--type--warning{color:#fff;background-color:#a95219}.NoticeBox--type--danger{color:#fff;background-color:#8f2828}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Input--monospace .Input__input{font-family:"Consolas",monospace}.NumberInput{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#88bfff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.NumberInput--fluid{display:block}.NumberInput__content{margin-left:.5em}.NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #88bfff;background-color:#88bfff}.NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-width:.0833333333em !important;border-style:solid !important;border-radius:.16em;background-color:rgba(0,0,0,0);transition:border-color 900ms ease-out}.ProgressBar__fill{position:absolute;top:-0.5px;left:0px;bottom:-0.5px}.ProgressBar__fill--animated{transition:background-color 900ms ease-out,width 900ms ease-out}.ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.ProgressBar--color--default{border:.0833333333em solid #3e6189}.ProgressBar--color--default .ProgressBar__fill{background-color:#3e6189}.ProgressBar--color--black{border-color:#000 !important}.ProgressBar--color--black .ProgressBar__fill{background-color:#000}.ProgressBar--color--white{border-color:#d9d9d9 !important}.ProgressBar--color--white .ProgressBar__fill{background-color:#d9d9d9}.ProgressBar--color--red{border-color:#bd2020 !important}.ProgressBar--color--red .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--orange{border-color:#d95e0c !important}.ProgressBar--color--orange .ProgressBar__fill{background-color:#d95e0c}.ProgressBar--color--yellow{border-color:#d9b804 !important}.ProgressBar--color--yellow .ProgressBar__fill{background-color:#d9b804}.ProgressBar--color--olive{border-color:#9aad14 !important}.ProgressBar--color--olive .ProgressBar__fill{background-color:#9aad14}.ProgressBar--color--green{border-color:#1b9638 !important}.ProgressBar--color--green .ProgressBar__fill{background-color:#1b9638}.ProgressBar--color--teal{border-color:#009a93 !important}.ProgressBar--color--teal .ProgressBar__fill{background-color:#009a93}.ProgressBar--color--blue{border-color:#1c71b1 !important}.ProgressBar--color--blue .ProgressBar__fill{background-color:#1c71b1}.ProgressBar--color--dark-blue{border-color:#003e6e !important}.ProgressBar--color--dark-blue .ProgressBar__fill{background-color:#003e6e}.ProgressBar--color--violet{border-color:#552dab !important}.ProgressBar--color--violet .ProgressBar__fill{background-color:#552dab}.ProgressBar--color--purple{border-color:#8b2baa !important}.ProgressBar--color--purple .ProgressBar__fill{background-color:#8b2baa}.ProgressBar--color--pink{border-color:#cf2082 !important}.ProgressBar--color--pink .ProgressBar__fill{background-color:#cf2082}.ProgressBar--color--brown{border-color:#8c5836 !important}.ProgressBar--color--brown .ProgressBar__fill{background-color:#8c5836}.ProgressBar--color--grey{border-color:#646464 !important}.ProgressBar--color--grey .ProgressBar__fill{background-color:#646464}.ProgressBar--color--light-grey{border-color:#919191 !important}.ProgressBar--color--light-grey .ProgressBar__fill{background-color:#919191}.ProgressBar--color--good{border-color:#4d9121 !important}.ProgressBar--color--good .ProgressBar__fill{background-color:#4d9121}.ProgressBar--color--average{border-color:#cd7a0d !important}.ProgressBar--color--average .ProgressBar__fill{background-color:#cd7a0d}.ProgressBar--color--bad{border-color:#bd2020 !important}.ProgressBar--color--bad .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--label{border-color:#657a94 !important}.ProgressBar--color--label .ProgressBar__fill{background-color:#657a94}.ProgressBar--color--xeno{border-color:#462f4e !important}.ProgressBar--color--xeno .ProgressBar__fill{background-color:#462f4e}.Section{position:relative;margin-bottom:.5em;background-color:#131313;background-color:#131313;box-sizing:border-box}.Section:last-child{margin-bottom:0}.Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #4972a1}.Section__titleText{font-size:1.1666666667em;font-weight:bold;color:#fff}.Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.Section__rest{position:relative}.Section__content{padding:.66em .5em}.Section--fitted>.Section__rest>.Section__content{padding:0}.Section--fill{display:flex;flex-direction:column;height:100%}.Section--fill>.Section__rest{flex-grow:1}.Section--fill>.Section__rest>.Section__content{height:100%}.Section--fill.Section--scrollable>.Section__rest>.Section__content{position:absolute;top:0;left:0;right:0;bottom:0}.Section--fill.Section--iefix{display:table !important;width:100% !important;height:100% !important;border-collapse:collapse;border-spacing:0}.Section--fill.Section--iefix>.Section__rest{display:table-row !important;height:100% !important}.Section--scrollable{overflow-x:hidden;overflow-y:hidden}.Section--scrollable>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:hidden}.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:hidden;overflow-x:scroll}.Section--scrollable.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:scroll}.Section .Section{background-color:rgba(0,0,0,0);margin-left:-0.5em;margin-right:-0.5em}.Section .Section:first-child{margin-top:-0.5em}.Section .Section .Section__titleText{font-size:1.0833333333em}.Section .Section .Section .Section__titleText{font-size:1em}.Slider{cursor:e-resize}.Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none !important}.Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #fff}.Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid rgba(0,0,0,0);border-right:.4166666667em solid rgba(0,0,0,0);border-bottom:.4166666667em solid #fff}.Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.Divider--horizontal{margin:.5em 0}.Divider--horizontal:not(.Divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Divider--vertical{height:100%;margin:0 .5em}.Divider--vertical:not(.Divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Stack--fill{height:100%}.Stack--horizontal>.Stack__item{margin-left:.5em}.Stack--horizontal>.Stack__item:first-child{margin-left:0}.Stack--vertical>.Stack__item{margin-top:.5em}.Stack--vertical>.Stack__item:first-child{margin-top:0}.Stack--horizontal>.Stack__divider:not(.Stack__divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Stack--vertical>.Stack__divider:not(.Stack__divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Table{display:table;width:100%;border-collapse:collapse;border-spacing:0;margin:0}.Table--collapsing{width:auto}.Table__row{display:table-row}.Table__cell{display:table-cell;padding:0 .25em}.Table__cell:first-child{padding-left:0}.Table__cell:last-child{padding-right:0}.Table__row--header .Table__cell,.Table__cell--header{font-weight:bold;padding-bottom:.5em}.Table__cell--collapsing{width:1%;white-space:nowrap}.Tabs{display:flex;align-items:stretch;overflow:hidden;background-color:#131313}.Tabs--fill{height:100%}.Section .Tabs{background-color:rgba(0,0,0,0)}.Section:not(.Section--fitted) .Tabs{margin:0 -0.5em .5em}.Section:not(.Section--fitted) .Tabs:first-child{margin-top:-0.5em}.Tabs--vertical{flex-direction:column;padding:.25em 0 .25em .25em}.Tabs--horizontal{margin-bottom:.5em;padding:.25em .25em 0 .25em}.Tabs--horizontal:last-child{margin-bottom:0}.Tabs__Tab{flex-grow:0}.Tabs--fluid .Tabs__Tab{flex-grow:1}.Tab{display:flex;align-items:center;justify-content:space-between;background-color:rgba(0,0,0,0);color:rgba(255,255,255,.5);min-height:2.25em;min-width:4em}.Tab:not(.Tab--selected):hover{background-color:rgba(255,255,255,.075)}.Tab--selected{background-color:rgba(255,255,255,.125);color:#dfe7f0}.Tab__text{flex-grow:1;margin:0 .5em}.Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.Tabs--horizontal .Tab{border-top:.1666666667em solid rgba(0,0,0,0);border-bottom:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-top-right-radius:.25em}.Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #d4dfec}.Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid rgba(0,0,0,0);border-right:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-bottom-left-radius:.25em}.Tabs--vertical .Tab--selected{border-right:.1666666667em solid #d4dfec}.Tab--selected.Tab--color--black{color:#535353}.Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#1a1a1a}.Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#1a1a1a}.Tab--selected.Tab--color--white{color:#fff}.Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#fff}.Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#fff}.Tab--selected.Tab--color--red{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#df3e3e}.Tab--selected.Tab--color--orange{color:#f69f66}.Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#f37f33}.Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#f37f33}.Tab--selected.Tab--color--yellow{color:#fce358}.Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#fbda21}.Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#fbda21}.Tab--selected.Tab--color--olive{color:#d8eb55}.Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#cbe41c}.Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#cbe41c}.Tab--selected.Tab--color--green{color:#53e074}.Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#25ca4c}.Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#25ca4c}.Tab--selected.Tab--color--teal{color:#21fff5}.Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00d6cc}.Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00d6cc}.Tab--selected.Tab--color--blue{color:#62aee6}.Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#2e93de}.Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#2e93de}.Tab--selected.Tab--color--dark-blue{color:#008ffd}.Tabs--horizontal .Tab--selected.Tab--color--dark-blue{border-bottom-color:#005fa7}.Tabs--vertical .Tab--selected.Tab--color--dark-blue{border-right-color:#005fa7}.Tab--selected.Tab--color--violet{color:#9676db}.Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#7349cf}.Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#7349cf}.Tab--selected.Tab--color--purple{color:#c274db}.Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#ad45d0}.Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#ad45d0}.Tab--selected.Tab--color--pink{color:#ea79b9}.Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#e34da1}.Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#e34da1}.Tab--selected.Tab--color--brown{color:#ca9775}.Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#b97447}.Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#b97447}.Tab--selected.Tab--color--grey{color:#a3a3a3}.Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#848484}.Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#848484}.Tab--selected.Tab--color--light-grey{color:#c6c6c6}.Tabs--horizontal .Tab--selected.Tab--color--light-grey{border-bottom-color:#b3b3b3}.Tabs--vertical .Tab--selected.Tab--color--light-grey{border-right-color:#b3b3b3}.Tab--selected.Tab--color--good{color:#8cd95a}.Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#68c22d}.Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#68c22d}.Tab--selected.Tab--color--average{color:#f5b35e}.Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#f29a29}.Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#f29a29}.Tab--selected.Tab--color--bad{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#df3e3e}.Tab--selected.Tab--color--label{color:#a8b4c4}.Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#8b9bb0}.Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#8b9bb0}.Tab--selected.Tab--color--xeno{color:#9366a3}.Tabs--horizontal .Tab--selected.Tab--color--xeno{border-bottom-color:#664573}.Tabs--vertical .Tab--selected.Tab--color--xeno{border-right-color:#664573}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Input--monospace .Input__input{font-family:"Consolas",monospace}.TextArea{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;background-color:#0a0a0a;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.TextArea--fluid{display:block;width:auto;height:auto}.TextArea--noborder{border:0px}.TextArea__textarea.TextArea__textarea--scrollable{overflow:auto;overflow-x:hidden;overflow-y:scroll}.TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:rgba(0,0,0,0);color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.TextArea__textarea_custom{overflow:visible;white-space:pre-wrap}.Tooltip{z-index:2;padding:.5em .75em;pointer-events:none;text-align:left;transition:opacity 150ms ease-out;background-color:#000;color:#fff;box-shadow:.1em .1em 1.25em -0.1em rgba(0,0,0,.5);border-radius:.16em;max-width:20.8333333333em}.Chat{color:#abc6ec}.Chat__badge{display:inline-block;min-width:.5em;font-size:.7em;padding:.2em .3em;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:crimson;border-radius:10px;transition:font-size 200ms ease-out}.Chat__badge:before{content:"x"}.Chat__badge--animate{font-size:.9em;transition:font-size 0ms}.Chat__scrollButton{position:fixed;right:2em;bottom:1em}.Chat__reconnected{font-size:.85em;text-align:center;margin:1em 0 2em}.Chat__reconnected:before{content:"Reconnected";display:inline-block;border-radius:1em;padding:0 .7em;color:#db2828;background-color:#131313}.Chat__reconnected:after{content:"";display:block;margin-top:-0.75em;border-bottom:.1666666667em solid #db2828}.Chat__highlight{color:#000}.Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:bold}.ChatMessage{word-wrap:break-word}.ChatMessage--highlighted{position:relative;border-left:.1666666667em solid #fd4;padding-left:.5em}.ChatMessage--highlighted:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(255,221,68,.1);pointer-events:none}.Ping{position:relative;padding:.125em .25em;border:.0833333333em solid rgba(140,140,140,.5);border-radius:.25em;width:3.75em;text-align:right}.Ping__indicator{content:"";position:absolute;top:.5em;left:.5em;width:.5em;height:.5em;background-color:#888;border-radius:.25em}.Notifications{position:absolute;bottom:1em;left:1em;right:2em}.Notification{color:#fff;background-color:crimson;padding:.5em;margin:1em 0}.Notification:first-child{margin-top:0}.Notification:last-child{margin-bottom:0}.Layout,.Layout *{scrollbar-base-color:#181818;scrollbar-face-color:#363636;scrollbar-3dlight-color:#202020;scrollbar-highlight-color:#202020;scrollbar-track-color:#181818;scrollbar-arrow-color:#909090;scrollbar-shadow-color:#363636}.Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#202020;background-image:linear-gradient(to bottom, #202020 0%, #202020 100%)}.Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.Window__contentPadding:after{height:0}.Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(56,56,56,.25);pointer-events:none}.Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}em{font-style:normal;font-weight:bold}img{margin:0;padding:0;line-height:1;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}img.icon{height:1em;min-height:16px;width:auto;vertical-align:bottom}a{color:#397ea5}a.visited{color:#7c00e6}a:visited{color:#7c00e6}a.popt{text-decoration:none}.popup{position:fixed;top:50%;left:50%;background:#ddd}.popup .close{position:absolute;background:#aaa;top:0;right:0;color:#333;text-decoration:none;z-index:2;padding:0 10px;height:30px;line-height:30px}.popup .close:hover{background:#999}.popup .head{background:#999;color:#ddd;padding:0 10px;height:30px;line-height:30px;text-transform:uppercase;font-size:.9em;font-weight:bold;border-bottom:2px solid green}.popup input{border:1px solid #999;background:#fff;margin:0;padding:5px;outline:none;color:#333}.popup input[type=text]:hover,.popup input[type=text]:active,.popup input[type=text]:focus{border-color:green}.popup input[type=submit]{padding:5px 10px;background:#999;color:#ddd;text-transform:uppercase;font-size:.9em;font-weight:bold}.popup input[type=submit]:hover,.popup input[type=submit]:focus,.popup input[type=submit]:active{background:#aaa;cursor:pointer}.changeFont{padding:10px}.changeFont a{display:block;text-decoration:none;padding:3px;color:#333}.changeFont a:hover{background:#ccc}.highlightPopup{padding:10px;text-align:center}.highlightPopup input[type=text]{display:block;width:215px;text-align:left;margin-top:5px}.highlightPopup input.highlightColor{background-color:#ff0}.highlightPopup input.highlightTermSubmit{margin-top:5px}.contextMenu{background-color:#ddd;position:fixed;margin:2px;width:150px}.contextMenu a{display:block;padding:2px 5px;text-decoration:none;color:#333}.contextMenu a:hover{background-color:#ccc}.filterMessages{padding:5px}.filterMessages div{padding:2px 0}.icon-stack{height:1em;line-height:1em;width:1em;vertical-align:middle;margin-top:-2px}.motd{color:#a4bad6;font-family:Verdana,sans-serif;white-space:normal}.motd h1,.motd h2,.motd h3,.motd h4,.motd h5,.motd h6{color:#a4bad6;text-decoration:underline}.motd a,.motd a:link,.motd a:visited,.motd a:active,.motd a:hover{color:#a4bad6}.bold,.name,.prefix,.ooc,.looc,.adminooc,.admin,.medal,.yell{font-weight:bold}.italic,.italics{font-style:italic}.highlight{background:#ff0}h1,h2,h3,h4,h5,h6{color:#a4bad6;font-family:Georgia,Verdana,sans-serif}h1.alert,h2.alert{color:#a4bad6}em{font-style:normal;font-weight:bold}.ooc{font-weight:bold}.adminobserverooc{color:#09c;font-weight:bold}.adminooc{color:#3d5bc3;font-weight:bold}.adminsay{color:#9611d4;font-weight:bold}.admin{color:#5975da;font-weight:bold}.name{font-weight:bold}.deadsay{color:#e2c1ff}.binarysay{color:#1e90ff}.binarysay a{color:lime}.binarysay a:active,.binarysay a:visited{color:#8f8}.radio{color:#1ecc43}.sciradio{color:#c68cfa}.comradio{color:#fcdf03}.secradio{color:#dd3535}.medradio{color:#57b8f0}.engradio{color:#f37746}.suppradio{color:#b88646}.servradio{color:#6ca729}.syndradio{color:#8f4a4b}.gangradio{color:#ac2ea1}.centcomradio{color:#2681a5}.aiprivradio{color:#d65d95}.redteamradio{color:#f44}.blueteamradio{color:#3434fd}.greenteamradio{color:#34fd34}.yellowteamradio{color:#fdfd34}.yell{font-weight:bold}.alert{color:#d82020}.userdanger{color:#c51e1e;font-weight:bold;font-size:185%}.bolddanger{color:#c51e1e;font-weight:bold}.danger{color:#c51e1e}.warning{color:#c51e1e;font-style:italic}.alertwarning{color:red;font-weight:bold}.boldwarning{color:#c51e1e;font-style:italic;font-weight:bold}.announce{color:#c51e1e;font-weight:bold}.boldannounce{color:#c51e1e;font-weight:bold}.bigannounce{font-weight:bold;font-size:115%}.greenannounce{color:#059223;font-weight:bold}.rose{color:#ff5050}.info{color:#9ab0ff}.notice{color:#6685f5}.staff_ic{color:#6685f5}.tinynotice{color:#6685f5;font-size:85%}.tinynoticeital{color:#6685f5;font-style:italic;font-size:85%}.smallnotice{color:#6685f5;font-size:90%}.smallnoticeital{color:#6685f5;font-style:italic;font-size:90%}.boldnotice{color:#6685f5;font-weight:bold}.hear{color:#6685f5;font-style:italic}.adminnotice{color:#6685f5}.adminhelp{color:red;font-weight:bold}.unconscious{color:#a4bad6;font-weight:bold}.suicide{color:#ff5050;font-style:italic}.green{color:#059223}.grey{color:#838383}.red{color:red}.blue{color:#215cff}.nicegreen{color:#059223}.boldnicegreen{color:#059223;font-weight:bold}.cult{color:#973e3b}.cultitalic{color:#973e3b;font-style:italic}.cultbold{color:#973e3b;font-style:italic;font-weight:bold}.cultboldtalic{color:#973e3b;font-weight:bold;font-size:185%}.cultlarge{color:#973e3b;font-weight:bold;font-size:185%}.narsie{color:#973e3b;font-weight:bold;font-size:925%}.narsiesmall{color:#973e3b;font-weight:bold;font-size:370%}.colossus{color:#7f282a;font-size:310%}.hierophant{color:#b441ee;font-weight:bold;font-style:italic}.hierophant_warning{color:#c56bf1;font-style:italic}.purple{color:#9956d3}.holoparasite{color:#88809c}.revennotice{color:#c099e2}.revenboldnotice{color:#c099e2;font-weight:bold}.revenbignotice{color:#c099e2;font-weight:bold;font-size:185%}.revenminor{color:#823abb}.revenwarning{color:#760fbb;font-style:italic}.revendanger{color:#760fbb;font-weight:bold;font-size:185%}.deconversion_message{color:#a947ff;font-size:185%;font-style:italic}.ghostalert{color:#60f;font-style:italic;font-weight:bold}.alien{color:#855d85}.noticealien{color:#059223}.alertalien{color:#059223;font-weight:bold}.changeling{color:#059223;font-style:italic}.alertsyndie{color:red;font-size:185%;font-weight:bold}.spider{color:#80f;font-weight:bold;font-size:185%}.interface{color:#750e75}.sans{font-family:"Comic Sans MS",cursive,sans-serif}.papyrus{font-family:"Papyrus",cursive,sans-serif}.robot{font-family:"Courier New",cursive,sans-serif}.tape_recorder{color:red;font-family:"Courier New",cursive,sans-serif}.command_headset{font-weight:bold;font-size:160%}.small{font-size:60%}.big{font-size:185%}.reallybig{font-size:245%}.extremelybig{font-size:310%}.greentext{color:#059223;font-size:185%}.redtext{color:#c51e1e;font-size:185%}.clown{color:#ff70c1;font-size:160%;font-family:"Comic Sans MS",cursive,sans-serif;font-weight:bold}.singing{font-family:"Trebuchet MS",cursive,sans-serif;font-style:italic}.his_grace{color:#15d512;font-family:"Courier New",cursive,sans-serif;font-style:italic}.hypnophrase{color:#202020;font-weight:bold;animation:hypnocolor 1500ms infinite;animation-direction:alternate}@keyframes hypnocolor{0%{color:#202020}25%{color:#4b02ac}50%{color:#9f41f1}75%{color:#541c9c}100%{color:#7adbf3}}.phobia{color:#d00;font-weight:bold;animation:phobia 750ms infinite}@keyframes phobia{0%{color:#f75a5a}50%{color:#d00}100%{color:#f75a5a}}.icon{height:1em;width:auto}.bigicon{font-size:2.5em}.memo{color:#638500;text-align:center}.memoedit{text-align:center;font-size:125%}.abductor{color:#c204c2;font-style:italic}.mind_control{color:#df3da9;font-size:100%;font-weight:bold;font-style:italic}.slime{color:#00ced1}.drone{color:#848482}.monkey{color:#975032}.swarmer{color:#2c75ff}.resonate{color:#298f85}.monkeyhive{color:#a56408}.monkeylead{color:#af6805;font-size:80%}.connectionClosed,.fatalError{background:red;color:#fff;padding:5px}.connectionClosed.restored{background:green}.internal.boldnshit{color:#3d5bc3;font-weight:bold}.text-normal{font-weight:normal;font-style:normal}.hidden{display:none;visibility:hidden}.ml-1{margin-left:1em}.ml-2{margin-left:2em}.ml-3{margin-left:3em}.xooc{color:#ac04e9;font-weight:bold;font-size:140%}.mooc{color:#090;font-weight:bold;font-size:140%}.yooc{color:#999600;font-weight:bold;font-size:140%}.headminsay{color:#653d78;font-weight:bold}.radio{color:#b4b4b4}.deptradio{color:#939}.comradio{color:#779cc2}.centradio{color:#5c5c8a}.hcradio{color:#318779}.pvstradio{color:#9b0612}.cryoradio{color:#ad6d48}.airadio{color:#f0f}.secradio{color:#a52929}.engradio{color:#a66300}.sentryradio{color:#844300}.medradio{color:#008160}.supradio{color:#ba8e41}.jtacradio{color:#ad3b98}.intelradio{color:#027d02}.wyradio{color:#fe9b24}.pmcradio{color:#4dc5ce}.vairadio{color:#e3580e}.rmcradio{color:#e3580e}.cmbradio{color:#1b748c}.clfradio{color:#8e83ca}.alpharadio{color:#db2626}.bravoradio{color:#c68610}.charlieradio{color:#a5a}.deltaradio{color:#007fcf}.echoradio{color:#3eb489}.medium{font-size:110%}.big{font-size:115%}.large{font-size:125%}.extra_large{font-size:130%}.huge{font-size:150%}.underline{text-decoration:underline}.orange{color:#eca100}.normal{font-style:normal}.attack{color:#ff3838}.moderate{color:#c00}.disarm{color:#900}.passive{color:#600}.helpful{color:#368f31}.scanner{color:#ff3838}.scannerb{color:#ff3838;font-weight:bold}.scannerburn{color:orange}.scannerburnb{color:orange;font-weight:bold}.rose{color:#ff5050}.debuginfo{color:#493d26;font-style:italic}.xenonotice{color:#51a16c}.xenoboldnotice{color:#51a16c;font-weight:bold}.xenowarning{color:#51a16c;font-style:italic}.xenominorwarning{color:#51a16c;font-weight:bold;font-style:italic}.xenodanger{color:#51a16c;font-weight:bold}.avoidharm{color:#72a0e5;font-weight:bold}.highdanger{color:#ff3838;font-weight:bold;font-size:140%}.xenohighdanger{color:#51a16c;font-weight:bold;font-size:140%}.xenoannounce{color:#65c585;font-family:book-antiqua;font-weight:bold;font-size:140%}.yautjabold{color:purple;font-weight:bold}.yautjaboldbig{color:purple;font-weight:bold;font-size:120%}.objectivebig{font-weight:bold;font-size:130%}.objectivegreen{color:lime}.objectivered{color:red}.objectivesuccess{color:lime;font-weight:bold;font-size:110%}.objectivefail{color:red;font-weight:bold;font-size:110%}.xenotalk,.xeno{color:#c048c0;font-style:italic}.xenoleader{color:#996e99;font-style:italic;font-size:125%}.xenoqueen{color:#996e99;font-style:italic;font-weight:bold;font-size:125%}.newscaster{color:maroon}.role_header{color:#e92d2d;display:block;text-align:center;font-weight:bold;font-family:trebuchet-ms;font-size:150%}.role_body{color:#3a3ae9;display:block;text-align:center;font-size:125%}.round_header{color:#e92d2d;display:block;text-align:center;font-family:courier;font-weight:bold;font-size:180%}.round_body{color:#c5c5c5;display:block;text-align:center;font-family:trebuchet-ms;font-weight:bold;font-size:125%}.event_announcement{color:#600d48;font-family:arial-narrow;font-weight:bold;font-size:125%}.announce_header{color:#cecece;font-weight:bold;font-size:150%}.announce_header_blue{color:#7575f3;font-weight:bold;font-size:150%}.announce_header_admin{color:#7575f3;font-weight:bold;font-size:150%}.announce_body{color:#e92d2d;font-weight:normal;font-size:125%}.centerbold{display:block;text-align:center;font-weight:bold}.mod{color:#917455;font-weight:bold}.modooc{color:#184880;font-weight:bold}.adminmod{color:#7c440c;font-weight:bold}.mentorsay{color:#d4af57;font-weight:bold}.mentorhelp{color:#090;font-weight:bold}.mentorbody{color:#da6200;font-weight:bold}.mentorstaff{color:#b5850d;font-weight:bold}.staffsay{color:#b5850d;font-weight:bold}.tajaran{color:#803b56}.tajaran_signlang{color:#941c1c}.skrell{color:#00ced1}.soghun{color:#228b22}.changeling{color:purple}.vox{color:#a0a}.monkey{color:#966c47}.german{color:#858f1e;font-family:"Times New Roman",Times,serif}.spanish{color:#cf982b}.japanese{color:#940927}.chinese{color:#fe1919}.zombie{color:#2dacb1;font-style:italic}.rough{font-family:trebuchet-ms,cursive,sans-serif}.commando{color:#fe9b24;font-style:bold}.say_quote{font-family:Georgia,Verdana,sans-serif}.admin .message{color:#314cad}.admin .prefix{font-weight:bolder}.pm{font-size:110%}.deadsay{color:#8b4dff}.retro_translator{font-weight:bold}.yautja_translator{color:#a00;font-weight:bold;animation:glitch .5s infinite}@keyframes glitch{25%{color:#a00;transform:translate(-2px, -1px)}50%{color:#be0000;transform:translate(1px, -2px)}75%{color:#8d0000;transform:translate(-1px, 2px)}100%{color:#830000;transform:translate(1px, 1px)}}.examine_block{background:#1b1c1e;border:1px solid #a4bad6;margin:.5em;padding:.5em .75em}.examine_block .icon{width:1.5em;height:1.5em;margin:0;padding:0}.tooltip{font-style:italic;border-bottom:1px dashed #fff} -.theme-light .color-black{color:#000 !important}.theme-light .color-white{color:#e6e6e6 !important}.theme-light .color-red{color:#c82121 !important}.theme-light .color-orange{color:#e6630d !important}.theme-light .color-yellow{color:#e5c304 !important}.theme-light .color-olive{color:#a3b816 !important}.theme-light .color-green{color:#1d9f3b !important}.theme-light .color-teal{color:#00a39c !important}.theme-light .color-blue{color:#1e78bb !important}.theme-light .color-dark-blue{color:#004274 !important}.theme-light .color-violet{color:#5a30b5 !important}.theme-light .color-purple{color:#932eb4 !important}.theme-light .color-pink{color:#db228a !important}.theme-light .color-brown{color:#955d39 !important}.theme-light .color-grey{color:#e6e6e6 !important}.theme-light .color-light-grey{color:#999 !important}.theme-light .color-good{color:#529923 !important}.theme-light .color-average{color:#da810e !important}.theme-light .color-bad{color:#c82121 !important}.theme-light .color-label{color:#353535 !important}.theme-light .color-xeno{color:#4a3253 !important}.theme-light .color-bg-black{background-color:#000 !important}.theme-light .color-bg-white{background-color:#bfbfbf !important}.theme-light .color-bg-red{background-color:#a61c1c !important}.theme-light .color-bg-orange{background-color:#c0530b !important}.theme-light .color-bg-yellow{background-color:#bfa303 !important}.theme-light .color-bg-olive{background-color:#889912 !important}.theme-light .color-bg-green{background-color:#188532 !important}.theme-light .color-bg-teal{background-color:#008882 !important}.theme-light .color-bg-blue{background-color:#19649c !important}.theme-light .color-bg-dark-blue{background-color:#003761 !important}.theme-light .color-bg-violet{background-color:#4b2897 !important}.theme-light .color-bg-purple{background-color:#7a2696 !important}.theme-light .color-bg-pink{background-color:#b61d73 !important}.theme-light .color-bg-brown{background-color:#7c4d2f !important}.theme-light .color-bg-grey{background-color:#bfbfbf !important}.theme-light .color-bg-light-grey{background-color:gray !important}.theme-light .color-bg-good{background-color:#44801d !important}.theme-light .color-bg-average{background-color:#b56b0b !important}.theme-light .color-bg-bad{background-color:#a61c1c !important}.theme-light .color-bg-label{background-color:#2c2c2c !important}.theme-light .color-bg-xeno{background-color:#3e2945 !important}.theme-light .Tabs{display:flex;align-items:stretch;overflow:hidden;background-color:#fff}.theme-light .Tabs--fill{height:100%}.theme-light .Section .Tabs{background-color:rgba(0,0,0,0)}.theme-light .Section:not(.Section--fitted) .Tabs{margin:0 -0.5em .5em}.theme-light .Section:not(.Section--fitted) .Tabs:first-child{margin-top:-0.5em}.theme-light .Tabs--vertical{flex-direction:column;padding:.25em 0 .25em .25em}.theme-light .Tabs--horizontal{margin-bottom:.5em;padding:.25em .25em 0 .25em}.theme-light .Tabs--horizontal:last-child{margin-bottom:0}.theme-light .Tabs__Tab{flex-grow:0}.theme-light .Tabs--fluid .Tabs__Tab{flex-grow:1}.theme-light .Tab{display:flex;align-items:center;justify-content:space-between;background-color:rgba(0,0,0,0);color:rgba(0,0,0,.5);min-height:2.25em;min-width:4em}.theme-light .Tab:not(.Tab--selected):hover{background-color:rgba(255,255,255,.075)}.theme-light .Tab--selected{background-color:rgba(255,255,255,.125);color:#404040}.theme-light .Tab__text{flex-grow:1;margin:0 .5em}.theme-light .Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.theme-light .Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.theme-light .Tabs--horizontal .Tab{border-top:.1666666667em solid rgba(0,0,0,0);border-bottom:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-top-right-radius:.25em}.theme-light .Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #000}.theme-light .Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid rgba(0,0,0,0);border-right:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-bottom-left-radius:.25em}.theme-light .Tabs--vertical .Tab--selected{border-right:.1666666667em solid #000}.theme-light .Tab--selected.Tab--color--black{color:#404040}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#000}.theme-light .Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#000}.theme-light .Tab--selected.Tab--color--white{color:#ececec}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#e6e6e6}.theme-light .Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#e6e6e6}.theme-light .Tab--selected.Tab--color--red{color:#e14d4d}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#c82121}.theme-light .Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#c82121}.theme-light .Tab--selected.Tab--color--orange{color:#f48942}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#e6630d}.theme-light .Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#e6630d}.theme-light .Tab--selected.Tab--color--yellow{color:#fcdd33}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#e5c304}.theme-light .Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#e5c304}.theme-light .Tab--selected.Tab--color--olive{color:#d0e732}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#a3b816}.theme-light .Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#a3b816}.theme-light .Tab--selected.Tab--color--green{color:#33da5a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#1d9f3b}.theme-light .Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#1d9f3b}.theme-light .Tab--selected.Tab--color--teal{color:#00faef}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00a39c}.theme-light .Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00a39c}.theme-light .Tab--selected.Tab--color--blue{color:#419ce1}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#1e78bb}.theme-light .Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#1e78bb}.theme-light .Tab--selected.Tab--color--dark-blue{color:#0079d7}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--dark-blue{border-bottom-color:#004274}.theme-light .Tabs--vertical .Tab--selected.Tab--color--dark-blue{border-right-color:#004274}.theme-light .Tab--selected.Tab--color--violet{color:#7f58d3}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#5a30b5}.theme-light .Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#5a30b5}.theme-light .Tab--selected.Tab--color--purple{color:#b455d4}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#932eb4}.theme-light .Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#932eb4}.theme-light .Tab--selected.Tab--color--pink{color:#e558a7}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#db228a}.theme-light .Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#db228a}.theme-light .Tab--selected.Tab--color--brown{color:#c0825a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#955d39}.theme-light .Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#955d39}.theme-light .Tab--selected.Tab--color--grey{color:#ececec}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#e6e6e6}.theme-light .Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#e6e6e6}.theme-light .Tab--selected.Tab--color--light-grey{color:#b3b3b3}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--light-grey{border-bottom-color:#999}.theme-light .Tabs--vertical .Tab--selected.Tab--color--light-grey{border-right-color:#999}.theme-light .Tab--selected.Tab--color--good{color:#77d23b}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#529923}.theme-light .Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#529923}.theme-light .Tab--selected.Tab--color--average{color:#f3a23a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#da810e}.theme-light .Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#da810e}.theme-light .Tab--selected.Tab--color--bad{color:#e14d4d}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#c82121}.theme-light .Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#c82121}.theme-light .Tab--selected.Tab--color--label{color:#686868}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#353535}.theme-light .Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#353535}.theme-light .Tab--selected.Tab--color--xeno{color:#7e558e}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--xeno{border-bottom-color:#4a3253}.theme-light .Tabs--vertical .Tab--selected.Tab--color--xeno{border-right-color:#4a3253}.theme-light .Section{position:relative;margin-bottom:.5em;background-color:#fff;background-color:#fff;box-sizing:border-box}.theme-light .Section:last-child{margin-bottom:0}.theme-light .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #fff}.theme-light .Section__titleText{font-size:1.1666666667em;font-weight:bold;color:#000}.theme-light .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-light .Section__rest{position:relative}.theme-light .Section__content{padding:.66em .5em}.theme-light .Section--fitted>.Section__rest>.Section__content{padding:0}.theme-light .Section--fill{display:flex;flex-direction:column;height:100%}.theme-light .Section--fill>.Section__rest{flex-grow:1}.theme-light .Section--fill>.Section__rest>.Section__content{height:100%}.theme-light .Section--fill.Section--scrollable>.Section__rest>.Section__content{position:absolute;top:0;left:0;right:0;bottom:0}.theme-light .Section--fill.Section--iefix{display:table !important;width:100% !important;height:100% !important;border-collapse:collapse;border-spacing:0}.theme-light .Section--fill.Section--iefix>.Section__rest{display:table-row !important;height:100% !important}.theme-light .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollable>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:hidden}.theme-light .Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:hidden;overflow-x:scroll}.theme-light .Section--scrollable.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:scroll}.theme-light .Section .Section{background-color:rgba(0,0,0,0);margin-left:-0.5em;margin-right:-0.5em}.theme-light .Section .Section:first-child{margin-top:-0.5em}.theme-light .Section .Section .Section__titleText{font-size:1.0833333333em}.theme-light .Section .Section .Section .Section__titleText{font-size:1em}.theme-light .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-light .Button .fa,.theme-light .Button .fas,.theme-light .Button .far{margin-left:-0.25em;margin-right:-0.25em;min-width:1.333em;text-align:center}.theme-light .Button--hasContent .fa,.theme-light .Button--hasContent .fas,.theme-light .Button--hasContent .far{margin-right:.25em}.theme-light .Button--hasContent.Button--iconPosition--right .fa,.theme-light .Button--hasContent.Button--iconPosition--right .fas,.theme-light .Button--hasContent.Button--iconPosition--right .far{margin-right:0px;margin-left:3px}.theme-light .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-light .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-light .Button--circular{border-radius:50%}.theme-light .Button--compact{padding:0 .25em;line-height:1.333em}.theme-light .Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.theme-light .Button--color--black:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--black:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--black:hover,.theme-light .Button--color--black:focus{background-color:#131313;color:#fff}.theme-light .Button--color--white{transition:color 50ms,background-color 50ms;background-color:#bfbfbf;color:#000}.theme-light .Button--color--white:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--white:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--white:hover,.theme-light .Button--color--white:focus{background-color:#efefef;color:#000}.theme-light .Button--color--red{transition:color 50ms,background-color 50ms;background-color:#a61c1c;color:#fff}.theme-light .Button--color--red:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--red:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--red:hover,.theme-light .Button--color--red:focus{background-color:#d23333;color:#fff}.theme-light .Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#c0530b;color:#fff}.theme-light .Button--color--orange:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--orange:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--orange:hover,.theme-light .Button--color--orange:focus{background-color:#ea7426;color:#fff}.theme-light .Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#bfa303;color:#fff}.theme-light .Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--yellow:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--yellow:hover,.theme-light .Button--color--yellow:focus{background-color:#efce17;color:#fff}.theme-light .Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#889912;color:#fff}.theme-light .Button--color--olive:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--olive:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--olive:hover,.theme-light .Button--color--olive:focus{background-color:#afc328;color:#fff}.theme-light .Button--color--green{transition:color 50ms,background-color 50ms;background-color:#188532;color:#fff}.theme-light .Button--color--green:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--green:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--green:hover,.theme-light .Button--color--green:focus{background-color:#2fac4c;color:#fff}.theme-light .Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#008882;color:#fff}.theme-light .Button--color--teal:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--teal:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--teal:hover,.theme-light .Button--color--teal:focus{background-color:#13afa9;color:#fff}.theme-light .Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#19649c;color:#fff}.theme-light .Button--color--blue:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--blue:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--blue:hover,.theme-light .Button--color--blue:focus{background-color:#3086c7;color:#fff}.theme-light .Button--color--dark-blue{transition:color 50ms,background-color 50ms;background-color:#003761;color:#fff}.theme-light .Button--color--dark-blue:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--dark-blue:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--dark-blue:hover,.theme-light .Button--color--dark-blue:focus{background-color:#135283;color:#fff}.theme-light .Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#4b2897;color:#fff}.theme-light .Button--color--violet:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--violet:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--violet:hover,.theme-light .Button--color--violet:focus{background-color:#6a41c1;color:#fff}.theme-light .Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#7a2696;color:#fff}.theme-light .Button--color--purple:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--purple:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--purple:hover,.theme-light .Button--color--purple:focus{background-color:#a03fc0;color:#fff}.theme-light .Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#b61d73;color:#fff}.theme-light .Button--color--pink:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--pink:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--pink:hover,.theme-light .Button--color--pink:focus{background-color:#da3f96;color:#fff}.theme-light .Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#7c4d2f;color:#fff}.theme-light .Button--color--brown:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--brown:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--brown:hover,.theme-light .Button--color--brown:focus{background-color:#a26c49;color:#fff}.theme-light .Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#bfbfbf;color:#000}.theme-light .Button--color--grey:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--grey:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--grey:hover,.theme-light .Button--color--grey:focus{background-color:#efefef;color:#000}.theme-light .Button--color--light-grey{transition:color 50ms,background-color 50ms;background-color:gray;color:#fff}.theme-light .Button--color--light-grey:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--light-grey:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--light-grey:hover,.theme-light .Button--color--light-grey:focus{background-color:#a6a6a6;color:#fff}.theme-light .Button--color--good{transition:color 50ms,background-color 50ms;background-color:#44801d;color:#fff}.theme-light .Button--color--good:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--good:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--good:hover,.theme-light .Button--color--good:focus{background-color:#62a635;color:#fff}.theme-light .Button--color--average{transition:color 50ms,background-color 50ms;background-color:#b56b0b;color:#fff}.theme-light .Button--color--average:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--average:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--average:hover,.theme-light .Button--color--average:focus{background-color:#e48f20;color:#fff}.theme-light .Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#a61c1c;color:#fff}.theme-light .Button--color--bad:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--bad:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--bad:hover,.theme-light .Button--color--bad:focus{background-color:#d23333;color:#fff}.theme-light .Button--color--label{transition:color 50ms,background-color 50ms;background-color:#2c2c2c;color:#fff}.theme-light .Button--color--label:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--label:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--label:hover,.theme-light .Button--color--label:focus{background-color:#464646;color:#fff}.theme-light .Button--color--xeno{transition:color 50ms,background-color 50ms;background-color:#3e2945;color:#fff}.theme-light .Button--color--xeno:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--xeno:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--xeno:hover,.theme-light .Button--color--xeno:focus{background-color:#5a4363;color:#fff}.theme-light .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#bbb;color:#000}.theme-light .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--default:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--default:hover,.theme-light .Button--color--default:focus{background-color:#eaeaea;color:#000}.theme-light .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-light .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--caution:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--caution:hover,.theme-light .Button--color--caution:focus{background-color:#ec8420;color:#fff}.theme-light .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-light .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--danger:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--danger:hover,.theme-light .Button--color--danger:focus{background-color:#c4c813;color:#fff}.theme-light .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#eee;color:#000;background-color:rgba(238,238,238,0);color:rgba(0,0,0,.5)}.theme-light .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--transparent:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--transparent:hover,.theme-light .Button--color--transparent:focus{background-color:#fcfcfc;color:#000}.theme-light .Button--disabled{background-color:#363636 !important}.theme-light .Button--selected{transition:color 50ms,background-color 50ms;background-color:#0668b8;color:#fff}.theme-light .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--selected:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--selected:hover,.theme-light .Button--selected:focus{background-color:#1a8be7;color:#fff}.theme-light .Button--flex{display:inline-flex;flex-direction:column}.theme-light .Button--flex--fluid{width:100%}.theme-light .Button--verticalAlignContent--top{justify-content:flex-start}.theme-light .Button--verticalAlignContent--middle{justify-content:center}.theme-light .Button--verticalAlignContent--bottom{justify-content:flex-end}.theme-light .Button__content{display:block;align-self:stretch}.theme-light .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#000;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-light .Input--fluid{display:block;width:auto}.theme-light .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-light .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#000;color:inherit}.theme-light .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Input--monospace .Input__input{font-family:"Consolas",monospace}.theme-light .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#000;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-light .Input--fluid{display:block;width:auto}.theme-light .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-light .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#000;color:inherit}.theme-light .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Input--monospace .Input__input{font-family:"Consolas",monospace}.theme-light .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#353535;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-light .NumberInput--fluid{display:block}.theme-light .NumberInput__content{margin-left:.5em}.theme-light .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-light .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #353535;background-color:#353535}.theme-light .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#fff;color:#000;text-align:right}.theme-light .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#000;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-light .Input--fluid{display:block;width:auto}.theme-light .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-light .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#000;color:inherit}.theme-light .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Input--monospace .Input__input{font-family:"Consolas",monospace}.theme-light .TextArea{position:relative;display:inline-block;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;background-color:#fff;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.theme-light .TextArea--fluid{display:block;width:auto;height:auto}.theme-light .TextArea--noborder{border:0px}.theme-light .TextArea__textarea.TextArea__textarea--scrollable{overflow:auto;overflow-x:hidden;overflow-y:scroll}.theme-light .TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:rgba(0,0,0,0);color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.theme-light .TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .TextArea__textarea_custom{overflow:visible;white-space:pre-wrap}.theme-light .Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto;margin-bottom:-0.2em;cursor:n-resize}.theme-light .Knob:after{content:".";color:rgba(0,0,0,0);line-height:2.5em}.theme-light .Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 100%);border-radius:50%;box-shadow:0 .05em .5em 0 rgba(0,0,0,.5)}.theme-light .Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.theme-light .Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:rgba(255,255,255,.9)}.theme-light .Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.theme-light .Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.theme-light .Knob__ringTrackPivot{transform:rotateZ(135deg)}.theme-light .Knob__ringTrack{fill:rgba(0,0,0,0);stroke:rgba(255,255,255,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.theme-light .Knob__ringFillPivot{transform:rotateZ(135deg)}.theme-light .Knob--bipolar .Knob__ringFillPivot{transform:rotateZ(270deg)}.theme-light .Knob__ringFill{fill:rgba(0,0,0,0);stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms ease-out}.theme-light .Knob--color--black .Knob__ringFill{stroke:#000}.theme-light .Knob--color--white .Knob__ringFill{stroke:#e6e6e6}.theme-light .Knob--color--red .Knob__ringFill{stroke:#c82121}.theme-light .Knob--color--orange .Knob__ringFill{stroke:#e6630d}.theme-light .Knob--color--yellow .Knob__ringFill{stroke:#e5c304}.theme-light .Knob--color--olive .Knob__ringFill{stroke:#a3b816}.theme-light .Knob--color--green .Knob__ringFill{stroke:#1d9f3b}.theme-light .Knob--color--teal .Knob__ringFill{stroke:#00a39c}.theme-light .Knob--color--blue .Knob__ringFill{stroke:#1e78bb}.theme-light .Knob--color--dark-blue .Knob__ringFill{stroke:#004274}.theme-light .Knob--color--violet .Knob__ringFill{stroke:#5a30b5}.theme-light .Knob--color--purple .Knob__ringFill{stroke:#932eb4}.theme-light .Knob--color--pink .Knob__ringFill{stroke:#db228a}.theme-light .Knob--color--brown .Knob__ringFill{stroke:#955d39}.theme-light .Knob--color--grey .Knob__ringFill{stroke:#e6e6e6}.theme-light .Knob--color--light-grey .Knob__ringFill{stroke:#999}.theme-light .Knob--color--good .Knob__ringFill{stroke:#529923}.theme-light .Knob--color--average .Knob__ringFill{stroke:#da810e}.theme-light .Knob--color--bad .Knob__ringFill{stroke:#c82121}.theme-light .Knob--color--label .Knob__ringFill{stroke:#353535}.theme-light .Knob--color--xeno .Knob__ringFill{stroke:#4a3253}.theme-light .Slider{cursor:e-resize}.theme-light .Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none !important}.theme-light .Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #000}.theme-light .Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid rgba(0,0,0,0);border-right:.4166666667em solid rgba(0,0,0,0);border-bottom:.4166666667em solid #000}.theme-light .Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.theme-light .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-width:.0833333333em !important;border-style:solid !important;border-radius:.16em;background-color:rgba(0,0,0,0);transition:border-color 900ms ease-out}.theme-light .ProgressBar__fill{position:absolute;top:-0.5px;left:0px;bottom:-0.5px}.theme-light .ProgressBar__fill--animated{transition:background-color 900ms ease-out,width 900ms ease-out}.theme-light .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-light .ProgressBar--color--default{border:.0833333333em solid #bfbfbf}.theme-light .ProgressBar--color--default .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--black{border-color:#000 !important}.theme-light .ProgressBar--color--black .ProgressBar__fill{background-color:#000}.theme-light .ProgressBar--color--white{border-color:#bfbfbf !important}.theme-light .ProgressBar--color--white .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--red{border-color:#a61c1c !important}.theme-light .ProgressBar--color--red .ProgressBar__fill{background-color:#a61c1c}.theme-light .ProgressBar--color--orange{border-color:#c0530b !important}.theme-light .ProgressBar--color--orange .ProgressBar__fill{background-color:#c0530b}.theme-light .ProgressBar--color--yellow{border-color:#bfa303 !important}.theme-light .ProgressBar--color--yellow .ProgressBar__fill{background-color:#bfa303}.theme-light .ProgressBar--color--olive{border-color:#889912 !important}.theme-light .ProgressBar--color--olive .ProgressBar__fill{background-color:#889912}.theme-light .ProgressBar--color--green{border-color:#188532 !important}.theme-light .ProgressBar--color--green .ProgressBar__fill{background-color:#188532}.theme-light .ProgressBar--color--teal{border-color:#008882 !important}.theme-light .ProgressBar--color--teal .ProgressBar__fill{background-color:#008882}.theme-light .ProgressBar--color--blue{border-color:#19649c !important}.theme-light .ProgressBar--color--blue .ProgressBar__fill{background-color:#19649c}.theme-light .ProgressBar--color--dark-blue{border-color:#003761 !important}.theme-light .ProgressBar--color--dark-blue .ProgressBar__fill{background-color:#003761}.theme-light .ProgressBar--color--violet{border-color:#4b2897 !important}.theme-light .ProgressBar--color--violet .ProgressBar__fill{background-color:#4b2897}.theme-light .ProgressBar--color--purple{border-color:#7a2696 !important}.theme-light .ProgressBar--color--purple .ProgressBar__fill{background-color:#7a2696}.theme-light .ProgressBar--color--pink{border-color:#b61d73 !important}.theme-light .ProgressBar--color--pink .ProgressBar__fill{background-color:#b61d73}.theme-light .ProgressBar--color--brown{border-color:#7c4d2f !important}.theme-light .ProgressBar--color--brown .ProgressBar__fill{background-color:#7c4d2f}.theme-light .ProgressBar--color--grey{border-color:#bfbfbf !important}.theme-light .ProgressBar--color--grey .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--light-grey{border-color:gray !important}.theme-light .ProgressBar--color--light-grey .ProgressBar__fill{background-color:gray}.theme-light .ProgressBar--color--good{border-color:#44801d !important}.theme-light .ProgressBar--color--good .ProgressBar__fill{background-color:#44801d}.theme-light .ProgressBar--color--average{border-color:#b56b0b !important}.theme-light .ProgressBar--color--average .ProgressBar__fill{background-color:#b56b0b}.theme-light .ProgressBar--color--bad{border-color:#a61c1c !important}.theme-light .ProgressBar--color--bad .ProgressBar__fill{background-color:#a61c1c}.theme-light .ProgressBar--color--label{border-color:#2c2c2c !important}.theme-light .ProgressBar--color--label .ProgressBar__fill{background-color:#2c2c2c}.theme-light .ProgressBar--color--xeno{border-color:#3e2945 !important}.theme-light .ProgressBar--color--xeno .ProgressBar__fill{background-color:#3e2945}.theme-light .Chat{color:#000}.theme-light .Chat__badge{display:inline-block;min-width:.5em;font-size:.7em;padding:.2em .3em;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:crimson;border-radius:10px;transition:font-size 200ms ease-out}.theme-light .Chat__badge:before{content:"x"}.theme-light .Chat__badge--animate{font-size:.9em;transition:font-size 0ms}.theme-light .Chat__scrollButton{position:fixed;right:2em;bottom:1em}.theme-light .Chat__reconnected{font-size:.85em;text-align:center;margin:1em 0 2em}.theme-light .Chat__reconnected:before{content:"Reconnected";display:inline-block;border-radius:1em;padding:0 .7em;color:#db2828;background-color:#fff}.theme-light .Chat__reconnected:after{content:"";display:block;margin-top:-0.75em;border-bottom:.1666666667em solid #db2828}.theme-light .Chat__highlight{color:#000}.theme-light .Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:bold}.theme-light .ChatMessage{word-wrap:break-word}.theme-light .ChatMessage--highlighted{position:relative;border-left:.1666666667em solid #fd4;padding-left:.5em}.theme-light .ChatMessage--highlighted:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(255,221,68,.1);pointer-events:none}.theme-light .Layout,.theme-light .Layout *{scrollbar-base-color:#f2f2f2;scrollbar-face-color:#d6d6d6;scrollbar-3dlight-color:#eee;scrollbar-highlight-color:#eee;scrollbar-track-color:#f2f2f2;scrollbar-arrow-color:#777;scrollbar-shadow-color:#d6d6d6}.theme-light .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-light .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-light .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#000;background-color:#eee;background-image:linear-gradient(to bottom, #eeeeee 0%, #eeeeee 100%)}.theme-light .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-light .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-light .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-light .Window__contentPadding:after{height:0}.theme-light .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-light .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(252,252,252,.25);pointer-events:none}.theme-light .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-light .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-light .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-light .TitleBar{background-color:#eee;border-bottom:1px solid rgba(0,0,0,.25);box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-light .TitleBar__clickable{color:rgba(0,0,0,.5);background-color:#eee;transition:color 250ms ease-out,background-color 250ms ease-out}.theme-light .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-light .TitleBar__title{position:absolute;display:inline-block;top:0;left:46px;left:3.8333333333rem;color:rgba(0,0,0,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap;pointer-events:none}.theme-light .TitleBar__buttons{pointer-events:initial;display:inline-block;width:100%;margin-left:10px}.theme-light .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-light .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px !important;line-height:2.6666666667rem !important}.theme-light .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-light .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:2px 4px;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-light html,.theme-light body{padding:0;margin:0;height:100%;color:#000}.theme-light body{background:#fff;font-family:Verdana,sans-serif;font-size:13px;line-height:1.2;overflow-x:hidden;overflow-y:scroll;word-wrap:break-word}.theme-light em{font-style:normal;font-weight:bold}.theme-light img{margin:0;padding:0;line-height:1;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}.theme-light img.icon{height:1em;min-height:16px;width:auto;vertical-align:bottom}.theme-light a{color:blue}.theme-light a.visited{color:#f0f}.theme-light a:visited{color:#f0f}.theme-light a.popt{text-decoration:none}.theme-light .popup{position:fixed;top:50%;left:50%;background:#ddd}.theme-light .popup .close{position:absolute;background:#aaa;top:0;right:0;color:#333;text-decoration:none;z-index:2;padding:0 10px;height:30px;line-height:30px}.theme-light .popup .close:hover{background:#999}.theme-light .popup .head{background:#999;color:#ddd;padding:0 10px;height:30px;line-height:30px;text-transform:uppercase;font-size:.9em;font-weight:bold;border-bottom:2px solid green}.theme-light .popup input{border:1px solid #999;background:#fff;margin:0;padding:5px;outline:none;color:#333}.theme-light .popup input[type=text]:hover,.theme-light .popup input[type=text]:active,.theme-light .popup input[type=text]:focus{border-color:green}.theme-light .popup input[type=submit]{padding:5px 10px;background:#999;color:#ddd;text-transform:uppercase;font-size:.9em;font-weight:bold}.theme-light .popup input[type=submit]:hover,.theme-light .popup input[type=submit]:focus,.theme-light .popup input[type=submit]:active{background:#aaa;cursor:pointer}.theme-light .changeFont{padding:10px}.theme-light .changeFont a{display:block;text-decoration:none;padding:3px;color:#333}.theme-light .changeFont a:hover{background:#ccc}.theme-light .highlightPopup{padding:10px;text-align:center}.theme-light .highlightPopup input[type=text]{display:block;width:215px;text-align:left;margin-top:5px}.theme-light .highlightPopup input.highlightColor{background-color:#ff0}.theme-light .highlightPopup input.highlightTermSubmit{margin-top:5px}.theme-light .contextMenu{background-color:#ddd;position:fixed;margin:2px;width:150px}.theme-light .contextMenu a{display:block;padding:2px 5px;text-decoration:none;color:#333}.theme-light .contextMenu a:hover{background-color:#ccc}.theme-light .filterMessages{padding:5px}.theme-light .filterMessages div{padding:2px 0}.theme-light .icon-stack{height:1em;line-height:1em;width:1em;vertical-align:middle;margin-top:-2px}.theme-light .motd{color:#638500;font-family:Verdana,sans-serif;white-space:normal}.theme-light .motd h1,.theme-light .motd h2,.theme-light .motd h3,.theme-light .motd h4,.theme-light .motd h5,.theme-light .motd h6{color:#638500;text-decoration:underline}.theme-light .motd a,.theme-light .motd a:link,.theme-light .motd a:visited,.theme-light .motd a:active,.theme-light .motd a:hover{color:#638500}.theme-light .bold,.theme-light .name,.theme-light .prefix,.theme-light .ooc,.theme-light .looc,.theme-light .adminooc,.theme-light .admin,.theme-light .medal,.theme-light .yell{font-weight:bold}.theme-light .italic,.theme-light .italics{font-style:italic}.theme-light .highlight{background:#ff0}.theme-light h1,.theme-light h2,.theme-light h3,.theme-light h4,.theme-light h5,.theme-light h6{color:blue;font-family:Georgia,Verdana,sans-serif}.theme-light h1.alert,.theme-light h2.alert{color:#000}.theme-light em{font-style:normal;font-weight:bold}.theme-light .ooc{font-weight:bold}.theme-light .adminobserverooc{color:#09c;font-weight:bold}.theme-light .adminooc{color:#700038;font-weight:bold}.theme-light .adminsay{color:#ff4500;font-weight:bold}.theme-light .admin{color:#4473ff;font-weight:bold}.theme-light .name{font-weight:bold}.theme-light .deadsay{color:#5c00e6}.theme-light .binarysay{color:#20c20e;background-color:#000;display:block}.theme-light .binarysay a{color:lime}.theme-light .binarysay a:active,.theme-light .binarysay a:visited{color:#8f8}.theme-light .radio{color:green}.theme-light .sciradio{color:#939}.theme-light .comradio{color:#948f02}.theme-light .secradio{color:#a30000}.theme-light .medradio{color:#337296}.theme-light .engradio{color:#fb5613}.theme-light .sentryradio{color:#844300}.theme-light .suppradio{color:#a8732b}.theme-light .servradio{color:#6eaa2c}.theme-light .syndradio{color:#6d3f40}.theme-light .gangradio{color:#ac2ea1}.theme-light .centcomradio{color:#686868}.theme-light .aiprivradio{color:#f0f}.theme-light .redteamradio{color:red}.theme-light .blueteamradio{color:blue}.theme-light .greenteamradio{color:lime}.theme-light .yellowteamradio{color:#d1ba22}.theme-light .yell{font-weight:bold}.theme-light .alert{color:red}.theme-light h1.alert,.theme-light h2.alert{color:#000}.theme-light .userdanger{color:red;font-weight:bold;font-size:185%}.theme-light .bolddanger{color:red;font-weight:bold}.theme-light .danger{color:red}.theme-light .tinydanger{color:red;font-size:85%}.theme-light .smalldanger{color:red;font-size:90%}.theme-light .warning{color:red;font-style:italic}.theme-light .alertwarning{color:red;font-weight:bold}.theme-light .boldwarning{color:red;font-style:italic;font-weight:bold}.theme-light .announce{color:#228b22;font-weight:bold}.theme-light .boldannounce{color:red;font-weight:bold}.theme-light .bigannounce{font-weight:bold;font-size:115%}.theme-light .greenannounce{color:lime;font-weight:bold}.theme-light .rose{color:#ff5050}.theme-light .info{color:#00c}.theme-light .notice{color:#009}.theme-light .staff_ic{color:#009}.theme-light .tinynotice{color:#009;font-size:85%}.theme-light .tinynoticeital{color:#009;font-style:italic;font-size:85%}.theme-light .smallnotice{color:#009;font-size:90%}.theme-light .smallnoticeital{color:#009;font-style:italic;font-size:90%}.theme-light .boldnotice{color:#009;font-weight:bold}.theme-light .hear{color:#009;font-style:italic}.theme-light .adminnotice{color:blue}.theme-light .adminhelp{color:red;font-weight:bold}.theme-light .unconscious{color:blue;font-weight:bold}.theme-light .suicide{color:#ff5050;font-style:italic}.theme-light .green{color:#03ff39}.theme-light .grey{color:#838383}.theme-light .red{color:red}.theme-light .blue{color:blue}.theme-light .nicegreen{color:#14a833}.theme-light .boldnicegreen{color:#14a833;font-weight:bold}.theme-light .cult{color:#973e3b}.theme-light .cultitalic{color:#973e3b;font-style:italic}.theme-light .cultbold{color:#973e3b;font-style:italic;font-weight:bold}.theme-light .cultboldtalic{color:#973e3b;font-weight:bold;font-size:185%}.theme-light .cultlarge{color:#973e3b;font-weight:bold;font-size:185%}.theme-light .narsie{color:#973e3b;font-weight:bold;font-size:925%}.theme-light .narsiesmall{color:#973e3b;font-weight:bold;font-size:370%}.theme-light .colossus{color:#7f282a;font-size:310%}.theme-light .hierophant{color:#609;font-weight:bold;font-style:italic}.theme-light .hierophant_warning{color:#609;font-style:italic}.theme-light .purple{color:#5e2d79}.theme-light .holoparasite{color:#35333a}.theme-light .revennotice{color:#1d2953}.theme-light .revenboldnotice{color:#1d2953;font-weight:bold}.theme-light .revenbignotice{color:#1d2953;font-weight:bold;font-size:185%}.theme-light .revenminor{color:#823abb}.theme-light .revenwarning{color:#760fbb;font-style:italic}.theme-light .revendanger{color:#760fbb;font-weight:bold;font-size:185%}.theme-light .deconversion_message{color:#5000a0;font-size:185%;font-style:italic}.theme-light .ghostalert{color:#5c00e6;font-style:italic;font-weight:bold}.theme-light .alien{color:#543354}.theme-light .noticealien{color:#00c000}.theme-light .alertalien{color:#00c000;font-weight:bold}.theme-light .changeling{color:purple;font-style:italic}.theme-light .alertsyndie{color:red;font-size:185%;font-weight:bold}.theme-light .spider{color:#4d004d;font-weight:bold;font-size:185%}.theme-light .interface{color:#303}.theme-light .sans{font-family:"Comic Sans MS",cursive,sans-serif}.theme-light .papyrus{font-family:"Papyrus",cursive,sans-serif}.theme-light .robot{font-family:"Courier New",cursive,sans-serif}.theme-light .tape_recorder{color:maroon;font-family:"Courier New",cursive,sans-serif}.theme-light .command_headset{font-weight:bold;font-size:160%}.theme-light .small{font-size:60%}.theme-light .big{font-size:185%}.theme-light .reallybig{font-size:245%}.theme-light .extremelybig{font-size:310%}.theme-light .greentext{color:lime;font-size:185%}.theme-light .redtext{color:red;font-size:185%}.theme-light .clown{color:#ff69bf;font-size:160%;font-family:"Comic Sans MS",cursive,sans-serif;font-weight:bold}.theme-light .singing{font-family:"Trebuchet MS",cursive,sans-serif;font-style:italic}.theme-light .his_grace{color:#15d512;font-family:"Courier New",cursive,sans-serif;font-style:italic}.theme-light .hypnophrase{color:#0d0d0d;font-weight:bold;animation:hypnocolor 1500ms infinite;animation-direction:alternate}@keyframes hypnocolor{0%{color:#0d0d0d}25%{color:#410194}50%{color:#7f17d8}75%{color:#410194}100%{color:#3bb5d3}}.theme-light .phobia{color:#d00;font-weight:bold;animation:phobia 750ms infinite}@keyframes phobia{0%{color:#0d0d0d}50%{color:#d00}100%{color:#0d0d0d}}.theme-light .icon{height:1em;width:auto}.theme-light .bigicon{font-size:2.5em}.theme-light .memo{color:#638500;text-align:center}.theme-light .memoedit{text-align:center;font-size:125%}.theme-light .abductor{color:purple;font-style:italic}.theme-light .mind_control{color:#a00d6f;font-size:100%;font-weight:bold;font-style:italic}.theme-light .slime{color:#00ced1}.theme-light .drone{color:#848482}.theme-light .monkey{color:#975032}.theme-light .swarmer{color:#2c75ff}.theme-light .resonate{color:#298f85}.theme-light .monkeyhive{color:#774704}.theme-light .monkeylead{color:#774704;font-size:80%}.theme-light .connectionClosed,.theme-light .fatalError{background:red;color:#fff;padding:5px}.theme-light .connectionClosed.restored{background:green}.theme-light .internal.boldnshit{color:blue;font-weight:bold}.theme-light .text-normal{font-weight:normal;font-style:normal}.theme-light .hidden{display:none;visibility:hidden}.theme-light .ml-1{margin-left:1em}.theme-light .ml-2{margin-left:2em}.theme-light .ml-3{margin-left:3em}.theme-light .xooc{color:#6c0094;font-weight:bold;font-size:140%}.theme-light .mooc{color:#090;font-weight:bold;font-size:140%}.theme-light .yooc{color:#999600;font-weight:bold;font-size:140%}.theme-light .headminsay{color:#5a0a7f;font-weight:bold}.theme-light .radio{color:#4e4e4e}.theme-light .deptradio{color:#939}.theme-light .comradio{color:#004080}.theme-light .centradio{color:#5c5c8a}.theme-light .cryoradio{color:#554e3f}.theme-light .hcradio{color:#318779}.theme-light .pvstradio{color:#9b0612}.theme-light .airadio{color:#f0f}.theme-light .secradio{color:#a30000}.theme-light .engradio{color:#a66300}.theme-light .sentryradio{color:#844300}.theme-light .medradio{color:#008160}.theme-light .supradio{color:#5f4519}.theme-light .jtacradio{color:#702963}.theme-light .intelradio{color:#027d02}.theme-light .wyradio{color:#fe9b24}.theme-light .pmcradio{color:#136957}.theme-light .vairadio{color:#943d0a}.theme-light .cmbradio{color:#1b748c}.theme-light .clfradio{color:#6f679c}.theme-light .alpharadio{color:#ea0000}.theme-light .bravoradio{color:#c68610}.theme-light .charlieradio{color:#a5a}.theme-light .deltaradio{color:#007fcf}.theme-light .echoradio{color:#3a7e65}.theme-light .medium{font-size:110%}.theme-light .big{font-size:115%}.theme-light .large{font-size:125%}.theme-light .extra_large{font-size:130%}.theme-light .huge{font-size:150%}.theme-light .underline{text-decoration:underline}.theme-light .orange{color:#eca100}.theme-light .normal{font-style:normal}.theme-light .attack{color:red}.theme-light .moderate{color:#c00}.theme-light .disarm{color:#900}.theme-light .passive{color:#600}.theme-light .helpful{color:#368f31}.theme-light .scanner{color:red}.theme-light .scannerb{color:red;font-weight:bold}.theme-light .scannerburn{color:orange}.theme-light .scannerburnb{color:orange;font-weight:bold}.theme-light .rose{color:#ff5050}.theme-light .debuginfo{color:#493d26;font-style:italic}.theme-light .xenonotice{color:#2a623d}.theme-light .xenoboldnotice{color:#2a623d;font-weight:bold}.theme-light .xenowarning{color:#2a623d;font-style:italic}.theme-light .xenominorwarning{color:#2a623d;font-weight:bold;font-style:italic}.theme-light .xenodanger{color:#2a623d;font-weight:bold}.theme-light .avoidharm{color:#72a0e5;font-weight:bold}.theme-light .highdanger{color:red;font-weight:bold;font-size:140%}.theme-light .xenohighdanger{color:#2a623d;font-weight:bold;font-size:140%}.theme-light .xenoannounce{color:#1a472a;font-family:book-antiqua;font-weight:bold;font-size:140%}.theme-light .yautjabold{color:purple;font-weight:bold}.theme-light .yautjaboldbig{color:purple;font-weight:bold;font-size:120%}.theme-light .objectivebig{font-weight:bold;font-size:130%}.theme-light .objectivegreen{color:lime}.theme-light .objectivered{color:red}.theme-light .objectivesuccess{color:lime;font-weight:bold;font-size:110%}.theme-light .objectivefail{color:red;font-weight:bold;font-size:110%}.theme-light .xenotalk,.theme-light .xeno{color:#900090;font-style:italic}.theme-light .xenoleader{color:#730d73;font-style:italic;font-size:125%}.theme-light .xenoqueen{color:#730d73;font-style:italic;font-weight:bold;font-size:125%}.theme-light .newscaster{color:maroon}.theme-light .role_header{color:#db0000;display:block;text-align:center;font-weight:bold;font-family:trebuchet-ms;font-size:150%}.theme-light .role_body{color:#009;display:block;text-align:center;font-size:125%}.theme-light .round_header{color:#db0000;display:block;text-align:center;font-family:courier;font-weight:bold;font-size:180%}.theme-light .round_body{color:#001427;display:block;text-align:center;font-family:trebuchet-ms;font-weight:bold;font-size:125%}.theme-light .event_announcement{color:#600d48;font-family:arial-narrow;font-weight:bold;font-size:125%}.theme-light .announce_header{color:#000;font-weight:bold;font-size:150%}.theme-light .announce_header_blue{color:#009;font-weight:bold;font-size:150%}.theme-light .announce_body{color:red;font-weight:normal;font-size:125%}.theme-light .centerbold{display:block;text-align:center;font-weight:bold}.theme-light .mod{color:#735638;font-weight:bold}.theme-light .modooc{color:#184880;font-weight:bold}.theme-light .adminmod{color:#402a14;font-weight:bold}.theme-light .mentorsay{color:#b38c32;font-weight:bold}.theme-light .mentorhelp{color:#007e00;font-weight:bold}.theme-light .mentorbody{color:#da6200;font-weight:bold}.theme-light .mentorstaff{color:#876101;font-weight:bold}.theme-light .staffsay{color:#876101;font-weight:bold}.theme-light .tajaran{color:#803b56}.theme-light .tajaran_signlang{color:#941c1c}.theme-light .skrell{color:#00ced1}.theme-light .soghun{color:#228b22}.theme-light .changeling{color:purple}.theme-light .vox{color:#a0a}.theme-light .monkey{color:#966c47}.theme-light .german{color:#858f1e;font-family:"Times New Roman",Times,serif}.theme-light .spanish{color:#cf982b}.theme-light .japanese{color:#940927}.theme-light .chinese{color:#fe1919}.theme-light .zombie{color:#216163;font-style:italic}.theme-light .commando{color:#fe9b24;font-style:bold}.theme-light .rough{font-family:trebuchet-ms,cursive,sans-serif}.theme-light .say_quote{font-family:Georgia,Verdana,sans-serif}.theme-light .admin .message{color:#314cad}.theme-light .admin .prefix{font-weight:bolder}.theme-light .pm{font-size:110%}.theme-light .retro_translator{font-weight:bold}.theme-light .yautja_translator{color:#a00;font-weight:bold;animation:glitch .5s infinite}@keyframes glitch{25%{color:#a00;transform:translate(-2px, -1px)}50%{color:#be0000;transform:translate(1px, -2px)}75%{color:#8d0000;transform:translate(-1px, 2px)}100%{color:#830000;transform:translate(1px, 1px)}}.theme-light .examine_block{background:#f2f7fa;border:1px solid #111a27;margin:.5em;padding:.5em .75em}.theme-light .examine_block .icon{width:1.5em;height:1.5em;margin:0;padding:0}.theme-light .tooltip{font-style:italic;border-bottom:1px dashed #000} +html,body{box-sizing:border-box;height:100%;margin:0;font-size:12px}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif}*,*:before,*:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{display:block;margin:0;padding:6px 0;padding:.5rem 0}h1{font-size:18px;font-size:1.5rem}h2{font-size:16px;font-size:1.333rem}h3{font-size:14px;font-size:1.167rem}h4{font-size:12px;font-size:1rem}td,th{vertical-align:baseline;text-align:left}.candystripe:nth-child(odd){background-color:rgba(0,0,0,.25)}.color-black{color:#1a1a1a !important}.color-white{color:#fff !important}.color-red{color:#df3e3e !important}.color-orange{color:#f37f33 !important}.color-yellow{color:#fbda21 !important}.color-olive{color:#cbe41c !important}.color-green{color:#25ca4c !important}.color-teal{color:#00d6cc !important}.color-blue{color:#2e93de !important}.color-dark-blue{color:#005fa7 !important}.color-violet{color:#7349cf !important}.color-purple{color:#ad45d0 !important}.color-pink{color:#e34da1 !important}.color-brown{color:#b97447 !important}.color-grey{color:#848484 !important}.color-light-grey{color:#b3b3b3 !important}.color-good{color:#68c22d !important}.color-average{color:#f29a29 !important}.color-bad{color:#df3e3e !important}.color-label{color:#8b9bb0 !important}.color-xeno{color:#664573 !important}.color-bg-black{background-color:#000 !important}.color-bg-white{background-color:#d9d9d9 !important}.color-bg-red{background-color:#bd2020 !important}.color-bg-orange{background-color:#d95e0c !important}.color-bg-yellow{background-color:#d9b804 !important}.color-bg-olive{background-color:#9aad14 !important}.color-bg-green{background-color:#1b9638 !important}.color-bg-teal{background-color:#009a93 !important}.color-bg-blue{background-color:#1c71b1 !important}.color-bg-dark-blue{background-color:#003e6e !important}.color-bg-violet{background-color:#552dab !important}.color-bg-purple{background-color:#8b2baa !important}.color-bg-pink{background-color:#cf2082 !important}.color-bg-brown{background-color:#8c5836 !important}.color-bg-grey{background-color:#646464 !important}.color-bg-light-grey{background-color:#919191 !important}.color-bg-good{background-color:#4d9121 !important}.color-bg-average{background-color:#cd7a0d !important}.color-bg-bad{background-color:#bd2020 !important}.color-bg-label{background-color:#657a94 !important}.color-bg-xeno{background-color:#462f4e !important}.debug-layout,.debug-layout *:not(g):not(path){color:rgba(255,255,255,.9) !important;background:rgba(0,0,0,0) !important;outline:1px solid rgba(255,255,255,.5) !important;box-shadow:none !important;filter:none !important}.debug-layout:hover,.debug-layout *:not(g):not(path):hover{outline-color:rgba(255,255,255,.8) !important}.outline-dotted{outline-style:dotted !important}.outline-dashed{outline-style:dashed !important}.outline-solid{outline-style:solid !important}.outline-double{outline-style:double !important}.outline-groove{outline-style:groove !important}.outline-ridge{outline-style:ridge !important}.outline-inset{outline-style:inset !important}.outline-outset{outline-style:outset !important}.outline-color-black{outline:.167rem solid #1a1a1a !important}.outline-color-white{outline:.167rem solid #fff !important}.outline-color-red{outline:.167rem solid #df3e3e !important}.outline-color-orange{outline:.167rem solid #f37f33 !important}.outline-color-yellow{outline:.167rem solid #fbda21 !important}.outline-color-olive{outline:.167rem solid #cbe41c !important}.outline-color-green{outline:.167rem solid #25ca4c !important}.outline-color-teal{outline:.167rem solid #00d6cc !important}.outline-color-blue{outline:.167rem solid #2e93de !important}.outline-color-dark-blue{outline:.167rem solid #005fa7 !important}.outline-color-violet{outline:.167rem solid #7349cf !important}.outline-color-purple{outline:.167rem solid #ad45d0 !important}.outline-color-pink{outline:.167rem solid #e34da1 !important}.outline-color-brown{outline:.167rem solid #b97447 !important}.outline-color-grey{outline:.167rem solid #848484 !important}.outline-color-light-grey{outline:.167rem solid #b3b3b3 !important}.outline-color-good{outline:.167rem solid #68c22d !important}.outline-color-average{outline:.167rem solid #f29a29 !important}.outline-color-bad{outline:.167rem solid #df3e3e !important}.outline-color-label{outline:.167rem solid #8b9bb0 !important}.outline-color-xeno{outline:.167rem solid #664573 !important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-baseline{text-align:baseline}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-pre{white-space:pre}.text-bold{font-weight:bold}.text-italic{font-style:italic}.text-underline{text-decoration:underline}.BlockQuote{color:#8b9bb0;border-left:.1666666667em solid #8b9bb0;padding-left:.5em;margin-bottom:.5em}.BlockQuote:last-child{margin-bottom:0}.Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.Button .fa,.Button .fas,.Button .far{margin-left:-0.25em;margin-right:-0.25em;min-width:1.333em;text-align:center}.Button--hasContent .fa,.Button--hasContent .fas,.Button--hasContent .far{margin-right:.25em}.Button--hasContent.Button--iconPosition--right .fa,.Button--hasContent.Button--iconPosition--right .fas,.Button--hasContent.Button--iconPosition--right .far{margin-right:0px;margin-left:3px}.Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.Button--fluid{display:block;margin-left:0;margin-right:0}.Button--circular{border-radius:50%}.Button--compact{padding:0 .25em;line-height:1.333em}.Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.Button--color--black:hover{transition:color 0ms,background-color 0ms}.Button--color--black:focus{transition:color 100ms,background-color 100ms}.Button--color--black:hover,.Button--color--black:focus{background-color:#131313;color:#fff}.Button--color--white{transition:color 50ms,background-color 50ms;background-color:#d9d9d9;color:#000}.Button--color--white:hover{transition:color 0ms,background-color 0ms}.Button--color--white:focus{transition:color 100ms,background-color 100ms}.Button--color--white:hover,.Button--color--white:focus{background-color:#f8f8f8;color:#000}.Button--color--red{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--red:hover{transition:color 0ms,background-color 0ms}.Button--color--red:focus{transition:color 100ms,background-color 100ms}.Button--color--red:hover,.Button--color--red:focus{background-color:#dc4848;color:#fff}.Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#d95e0c;color:#fff}.Button--color--orange:hover{transition:color 0ms,background-color 0ms}.Button--color--orange:focus{transition:color 100ms,background-color 100ms}.Button--color--orange:hover,.Button--color--orange:focus{background-color:#f0853f;color:#fff}.Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.Button--color--yellow:focus{transition:color 100ms,background-color 100ms}.Button--color--yellow:hover,.Button--color--yellow:focus{background-color:#f5d72e;color:#000}.Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#9aad14;color:#fff}.Button--color--olive:hover{transition:color 0ms,background-color 0ms}.Button--color--olive:focus{transition:color 100ms,background-color 100ms}.Button--color--olive:hover,.Button--color--olive:focus{background-color:#c4da2b;color:#fff}.Button--color--green{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--color--green:hover{transition:color 0ms,background-color 0ms}.Button--color--green:focus{transition:color 100ms,background-color 100ms}.Button--color--green:hover,.Button--color--green:focus{background-color:#32c154;color:#fff}.Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#009a93;color:#fff}.Button--color--teal:hover{transition:color 0ms,background-color 0ms}.Button--color--teal:focus{transition:color 100ms,background-color 100ms}.Button--color--teal:hover,.Button--color--teal:focus{background-color:#13c4bc;color:#fff}.Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#1c71b1;color:#fff}.Button--color--blue:hover{transition:color 0ms,background-color 0ms}.Button--color--blue:focus{transition:color 100ms,background-color 100ms}.Button--color--blue:hover,.Button--color--blue:focus{background-color:#3a95d9;color:#fff}.Button--color--dark-blue{transition:color 50ms,background-color 50ms;background-color:#003e6e;color:#fff}.Button--color--dark-blue:hover{transition:color 0ms,background-color 0ms}.Button--color--dark-blue:focus{transition:color 100ms,background-color 100ms}.Button--color--dark-blue:hover,.Button--color--dark-blue:focus{background-color:#135b92;color:#fff}.Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#552dab;color:#fff}.Button--color--violet:hover{transition:color 0ms,background-color 0ms}.Button--color--violet:focus{transition:color 100ms,background-color 100ms}.Button--color--violet:hover,.Button--color--violet:focus{background-color:#7953cc;color:#fff}.Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#8b2baa;color:#fff}.Button--color--purple:hover{transition:color 0ms,background-color 0ms}.Button--color--purple:focus{transition:color 100ms,background-color 100ms}.Button--color--purple:hover,.Button--color--purple:focus{background-color:#ad4fcd;color:#fff}.Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#cf2082;color:#fff}.Button--color--pink:hover{transition:color 0ms,background-color 0ms}.Button--color--pink:focus{transition:color 100ms,background-color 100ms}.Button--color--pink:hover,.Button--color--pink:focus{background-color:#e257a5;color:#fff}.Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#8c5836;color:#fff}.Button--color--brown:hover{transition:color 0ms,background-color 0ms}.Button--color--brown:focus{transition:color 100ms,background-color 100ms}.Button--color--brown:hover,.Button--color--brown:focus{background-color:#b47851;color:#fff}.Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#646464;color:#fff}.Button--color--grey:hover{transition:color 0ms,background-color 0ms}.Button--color--grey:focus{transition:color 100ms,background-color 100ms}.Button--color--grey:hover,.Button--color--grey:focus{background-color:#868686;color:#fff}.Button--color--light-grey{transition:color 50ms,background-color 50ms;background-color:#919191;color:#fff}.Button--color--light-grey:hover{transition:color 0ms,background-color 0ms}.Button--color--light-grey:focus{transition:color 100ms,background-color 100ms}.Button--color--light-grey:hover,.Button--color--light-grey:focus{background-color:#bababa;color:#fff}.Button--color--good{transition:color 50ms,background-color 50ms;background-color:#4d9121;color:#fff}.Button--color--good:hover{transition:color 0ms,background-color 0ms}.Button--color--good:focus{transition:color 100ms,background-color 100ms}.Button--color--good:hover,.Button--color--good:focus{background-color:#6cba39;color:#fff}.Button--color--average{transition:color 50ms,background-color 50ms;background-color:#cd7a0d;color:#fff}.Button--color--average:hover{transition:color 0ms,background-color 0ms}.Button--color--average:focus{transition:color 100ms,background-color 100ms}.Button--color--average:hover,.Button--color--average:focus{background-color:#ed9d35;color:#fff}.Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--bad:hover{transition:color 0ms,background-color 0ms}.Button--color--bad:focus{transition:color 100ms,background-color 100ms}.Button--color--bad:hover,.Button--color--bad:focus{background-color:#dc4848;color:#fff}.Button--color--label{transition:color 50ms,background-color 50ms;background-color:#657a94;color:#fff}.Button--color--label:hover{transition:color 0ms,background-color 0ms}.Button--color--label:focus{transition:color 100ms,background-color 100ms}.Button--color--label:hover,.Button--color--label:focus{background-color:#91a1b3;color:#fff}.Button--color--xeno{transition:color 50ms,background-color 50ms;background-color:#462f4e;color:#fff}.Button--color--xeno:hover{transition:color 0ms,background-color 0ms}.Button--color--xeno:focus{transition:color 100ms,background-color 100ms}.Button--color--xeno:hover,.Button--color--xeno:focus{background-color:#64496d;color:#fff}.Button--color--default{transition:color 50ms,background-color 50ms;background-color:#3e6189;color:#fff}.Button--color--default:hover{transition:color 0ms,background-color 0ms}.Button--color--default:focus{transition:color 100ms,background-color 100ms}.Button--color--default:hover,.Button--color--default:focus{background-color:#5c83b0;color:#fff}.Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--caution:hover{transition:color 0ms,background-color 0ms}.Button--color--caution:focus{transition:color 100ms,background-color 100ms}.Button--color--caution:hover,.Button--color--caution:focus{background-color:#f5d72e;color:#000}.Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--danger:hover{transition:color 0ms,background-color 0ms}.Button--color--danger:focus{transition:color 100ms,background-color 100ms}.Button--color--danger:hover,.Button--color--danger:focus{background-color:#dc4848;color:#fff}.Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#202020;color:#fff;background-color:rgba(32,32,32,0);color:rgba(255,255,255,.5)}.Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.Button--color--transparent:focus{transition:color 100ms,background-color 100ms}.Button--color--transparent:hover,.Button--color--transparent:focus{background-color:#383838;color:#fff}.Button--disabled{background-color:#999 !important}.Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--selected:hover{transition:color 0ms,background-color 0ms}.Button--selected:focus{transition:color 100ms,background-color 100ms}.Button--selected:hover,.Button--selected:focus{background-color:#32c154;color:#fff}.Button--flex{display:inline-flex;flex-direction:column}.Button--flex--fluid{width:100%}.Button--verticalAlignContent--top{justify-content:flex-start}.Button--verticalAlignContent--middle{justify-content:center}.Button--verticalAlignContent--bottom{justify-content:flex-end}.Button__content{display:block;align-self:stretch}.ColorBox{display:inline-block;width:1em;height:1em;line-height:1em;text-align:center}.Dimmer{display:flex;justify-content:center;align-items:center;position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.75);z-index:1}.Divider--horizontal{margin:.5em 0}.Divider--horizontal:not(.Divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Divider--vertical{height:100%;margin:0 .5em}.Divider--vertical:not(.Divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Dropdown{position:relative}.Dropdown__control{position:relative;display:inline-block;font-family:Verdana,sans-serif;font-size:1em;width:8.3333333333em;line-height:1.4166666667em;user-select:none}.Dropdown__arrow-button{float:right;padding-left:.35em;width:1.2em;height:1.8333333333em;border-left:.0833333333em solid #000;border-left:.0833333333em solid rgba(0,0,0,.25)}.Dropdown__menu{position:absolute;overflow-y:auto;z-index:5;width:8.3333333333em;max-height:16.6666666667em;overflow-y:scroll;border-radius:0 0 .1666666667em .1666666667em;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menu-noscroll{position:absolute;overflow-y:auto;z-index:5;width:8.3333333333em;max-height:16.6666666667em;border-radius:0 0 .1666666667em .1666666667em;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menuentry{padding:.1666666667em .3333333333em;font-family:Verdana,sans-serif;font-size:1em;line-height:1.4166666667em;transition:background-color 100ms ease-out}.Dropdown__menuentry:hover{background-color:rgba(255,255,255,.2);transition:background-color 0ms}.Dropdown__over{top:auto;bottom:100%}.Dropdown__selected-text{display:inline-block;text-overflow:ellipsis;white-space:nowrap;height:1.4166666667em;width:calc(100% - 1.2em)}.Flex{display:-ms-flexbox;display:flex}.Flex--inline{display:inline-flex}.Flex--iefix{display:block}.Flex--iefix.Flex--inline{display:inline-block}.Flex__item--iefix{display:inline-block}.Flex--iefix--column>.Flex__item--iefix{display:block}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Input--monospace .Input__input{font-family:"Consolas",monospace}.Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto;margin-bottom:-0.2em;cursor:n-resize}.Knob:after{content:".";color:rgba(0,0,0,0);line-height:2.5em}.Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 100%);border-radius:50%;box-shadow:0 .05em .5em 0 rgba(0,0,0,.5)}.Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:rgba(255,255,255,.9)}.Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.Knob__ringTrackPivot{transform:rotateZ(135deg)}.Knob__ringTrack{fill:rgba(0,0,0,0);stroke:rgba(255,255,255,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.Knob__ringFillPivot{transform:rotateZ(135deg)}.Knob--bipolar .Knob__ringFillPivot{transform:rotateZ(270deg)}.Knob__ringFill{fill:rgba(0,0,0,0);stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms ease-out}.Knob--color--black .Knob__ringFill{stroke:#1a1a1a}.Knob--color--white .Knob__ringFill{stroke:#fff}.Knob--color--red .Knob__ringFill{stroke:#df3e3e}.Knob--color--orange .Knob__ringFill{stroke:#f37f33}.Knob--color--yellow .Knob__ringFill{stroke:#fbda21}.Knob--color--olive .Knob__ringFill{stroke:#cbe41c}.Knob--color--green .Knob__ringFill{stroke:#25ca4c}.Knob--color--teal .Knob__ringFill{stroke:#00d6cc}.Knob--color--blue .Knob__ringFill{stroke:#2e93de}.Knob--color--dark-blue .Knob__ringFill{stroke:#005fa7}.Knob--color--violet .Knob__ringFill{stroke:#7349cf}.Knob--color--purple .Knob__ringFill{stroke:#ad45d0}.Knob--color--pink .Knob__ringFill{stroke:#e34da1}.Knob--color--brown .Knob__ringFill{stroke:#b97447}.Knob--color--grey .Knob__ringFill{stroke:#848484}.Knob--color--light-grey .Knob__ringFill{stroke:#b3b3b3}.Knob--color--good .Knob__ringFill{stroke:#68c22d}.Knob--color--average .Knob__ringFill{stroke:#f29a29}.Knob--color--bad .Knob__ringFill{stroke:#df3e3e}.Knob--color--label .Knob__ringFill{stroke:#8b9bb0}.Knob--color--xeno .Knob__ringFill{stroke:#664573}.LabeledList{display:table;width:100%;width:calc(100% + 1em);border-collapse:collapse;border-spacing:0;margin:-0.25em -0.5em;margin-bottom:0;padding:0}.LabeledList__row{display:table-row}.LabeledList__row:last-child .LabeledList__cell{padding-bottom:0}.LabeledList__cell{display:table-cell;margin:0;padding:.25em .5em;border:0;text-align:left}.LabeledList__label--nowrap{width:1%;white-space:nowrap;min-width:5em}.LabeledList__buttons{width:.1%;white-space:nowrap;text-align:right;padding-top:.0833333333em;padding-bottom:0}.Modal{background-color:#202020;max-width:calc(100% - 1rem);padding:1rem}.NoticeBox{padding:.33em .5em;margin-bottom:.5em;box-shadow:none;font-weight:bold;font-style:italic;color:#000;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg, transparent, transparent 0.8333333333em, rgba(0, 0, 0, 0.1) 0.8333333333em, rgba(0, 0, 0, 0.1) 1.6666666667em)}.NoticeBox--color--black{color:#fff;background-color:#000}.NoticeBox--color--white{color:#000;background-color:#b3b3b3}.NoticeBox--color--red{color:#fff;background-color:#701f1f}.NoticeBox--color--orange{color:#fff;background-color:#854114}.NoticeBox--color--yellow{color:#000;background-color:#83710d}.NoticeBox--color--olive{color:#000;background-color:#576015}.NoticeBox--color--green{color:#fff;background-color:#174e24}.NoticeBox--color--teal{color:#fff;background-color:#064845}.NoticeBox--color--blue{color:#fff;background-color:#1b4565}.NoticeBox--color--dark-blue{color:#fff;background-color:#02121f}.NoticeBox--color--violet{color:#fff;background-color:#3b2864}.NoticeBox--color--purple{color:#fff;background-color:#542663}.NoticeBox--color--pink{color:#fff;background-color:#802257}.NoticeBox--color--brown{color:#fff;background-color:#4c3729}.NoticeBox--color--grey{color:#fff;background-color:#3e3e3e}.NoticeBox--color--light-grey{color:#fff;background-color:#6a6a6a}.NoticeBox--color--good{color:#fff;background-color:#2e4b1a}.NoticeBox--color--average{color:#fff;background-color:#7b4e13}.NoticeBox--color--bad{color:#fff;background-color:#701f1f}.NoticeBox--color--label{color:#fff;background-color:#53565a}.NoticeBox--color--xeno{color:#fff;background-color:#19161b}.NoticeBox--type--info{color:#fff;background-color:#235982}.NoticeBox--type--success{color:#fff;background-color:#1e662f}.NoticeBox--type--warning{color:#fff;background-color:#a95219}.NoticeBox--type--danger{color:#fff;background-color:#8f2828}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Input--monospace .Input__input{font-family:"Consolas",monospace}.NumberInput{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#88bfff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.NumberInput--fluid{display:block}.NumberInput__content{margin-left:.5em}.NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #88bfff;background-color:#88bfff}.NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-width:.0833333333em !important;border-style:solid !important;border-radius:.16em;background-color:rgba(0,0,0,0);transition:border-color 900ms ease-out}.ProgressBar__fill{position:absolute;top:-0.5px;left:0px;bottom:-0.5px}.ProgressBar__fill--animated{transition:background-color 900ms ease-out,width 900ms ease-out}.ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.ProgressBar--color--default{border:.0833333333em solid #3e6189}.ProgressBar--color--default .ProgressBar__fill{background-color:#3e6189}.ProgressBar--color--black{border-color:#000 !important}.ProgressBar--color--black .ProgressBar__fill{background-color:#000}.ProgressBar--color--white{border-color:#d9d9d9 !important}.ProgressBar--color--white .ProgressBar__fill{background-color:#d9d9d9}.ProgressBar--color--red{border-color:#bd2020 !important}.ProgressBar--color--red .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--orange{border-color:#d95e0c !important}.ProgressBar--color--orange .ProgressBar__fill{background-color:#d95e0c}.ProgressBar--color--yellow{border-color:#d9b804 !important}.ProgressBar--color--yellow .ProgressBar__fill{background-color:#d9b804}.ProgressBar--color--olive{border-color:#9aad14 !important}.ProgressBar--color--olive .ProgressBar__fill{background-color:#9aad14}.ProgressBar--color--green{border-color:#1b9638 !important}.ProgressBar--color--green .ProgressBar__fill{background-color:#1b9638}.ProgressBar--color--teal{border-color:#009a93 !important}.ProgressBar--color--teal .ProgressBar__fill{background-color:#009a93}.ProgressBar--color--blue{border-color:#1c71b1 !important}.ProgressBar--color--blue .ProgressBar__fill{background-color:#1c71b1}.ProgressBar--color--dark-blue{border-color:#003e6e !important}.ProgressBar--color--dark-blue .ProgressBar__fill{background-color:#003e6e}.ProgressBar--color--violet{border-color:#552dab !important}.ProgressBar--color--violet .ProgressBar__fill{background-color:#552dab}.ProgressBar--color--purple{border-color:#8b2baa !important}.ProgressBar--color--purple .ProgressBar__fill{background-color:#8b2baa}.ProgressBar--color--pink{border-color:#cf2082 !important}.ProgressBar--color--pink .ProgressBar__fill{background-color:#cf2082}.ProgressBar--color--brown{border-color:#8c5836 !important}.ProgressBar--color--brown .ProgressBar__fill{background-color:#8c5836}.ProgressBar--color--grey{border-color:#646464 !important}.ProgressBar--color--grey .ProgressBar__fill{background-color:#646464}.ProgressBar--color--light-grey{border-color:#919191 !important}.ProgressBar--color--light-grey .ProgressBar__fill{background-color:#919191}.ProgressBar--color--good{border-color:#4d9121 !important}.ProgressBar--color--good .ProgressBar__fill{background-color:#4d9121}.ProgressBar--color--average{border-color:#cd7a0d !important}.ProgressBar--color--average .ProgressBar__fill{background-color:#cd7a0d}.ProgressBar--color--bad{border-color:#bd2020 !important}.ProgressBar--color--bad .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--label{border-color:#657a94 !important}.ProgressBar--color--label .ProgressBar__fill{background-color:#657a94}.ProgressBar--color--xeno{border-color:#462f4e !important}.ProgressBar--color--xeno .ProgressBar__fill{background-color:#462f4e}.Section{position:relative;margin-bottom:.5em;background-color:#131313;background-color:#131313;box-sizing:border-box}.Section:last-child{margin-bottom:0}.Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #4972a1}.Section__titleText{font-size:1.1666666667em;font-weight:bold;color:#fff}.Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.Section__rest{position:relative}.Section__content{padding:.66em .5em}.Section--fitted>.Section__rest>.Section__content{padding:0}.Section--fill{display:flex;flex-direction:column;height:100%}.Section--fill>.Section__rest{flex-grow:1}.Section--fill>.Section__rest>.Section__content{height:100%}.Section--fill.Section--scrollable>.Section__rest>.Section__content{position:absolute;top:0;left:0;right:0;bottom:0}.Section--fill.Section--iefix{display:table !important;width:100% !important;height:100% !important;border-collapse:collapse;border-spacing:0}.Section--fill.Section--iefix>.Section__rest{display:table-row !important;height:100% !important}.Section--scrollable{overflow-x:hidden;overflow-y:hidden}.Section--scrollable>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:hidden}.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:hidden;overflow-x:scroll}.Section--scrollable.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:scroll}.Section .Section{background-color:rgba(0,0,0,0);margin-left:-0.5em;margin-right:-0.5em}.Section .Section:first-child{margin-top:-0.5em}.Section .Section .Section__titleText{font-size:1.0833333333em}.Section .Section .Section .Section__titleText{font-size:1em}.Slider{cursor:e-resize}.Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none !important}.Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #fff}.Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid rgba(0,0,0,0);border-right:.4166666667em solid rgba(0,0,0,0);border-bottom:.4166666667em solid #fff}.Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.Divider--horizontal{margin:.5em 0}.Divider--horizontal:not(.Divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Divider--vertical{height:100%;margin:0 .5em}.Divider--vertical:not(.Divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Stack--fill{height:100%}.Stack--horizontal>.Stack__item{margin-left:.5em}.Stack--horizontal>.Stack__item:first-child{margin-left:0}.Stack--vertical>.Stack__item{margin-top:.5em}.Stack--vertical>.Stack__item:first-child{margin-top:0}.Stack--horizontal>.Stack__divider:not(.Stack__divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Stack--vertical>.Stack__divider:not(.Stack__divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Table{display:table;width:100%;border-collapse:collapse;border-spacing:0;margin:0}.Table--collapsing{width:auto}.Table__row{display:table-row}.Table__cell{display:table-cell;padding:0 .25em}.Table__cell:first-child{padding-left:0}.Table__cell:last-child{padding-right:0}.Table__row--header .Table__cell,.Table__cell--header{font-weight:bold;padding-bottom:.5em}.Table__cell--collapsing{width:1%;white-space:nowrap}.Tabs{display:flex;align-items:stretch;overflow:hidden;background-color:#131313}.Tabs--fill{height:100%}.Section .Tabs{background-color:rgba(0,0,0,0)}.Section:not(.Section--fitted) .Tabs{margin:0 -0.5em .5em}.Section:not(.Section--fitted) .Tabs:first-child{margin-top:-0.5em}.Tabs--vertical{flex-direction:column;padding:.25em 0 .25em .25em}.Tabs--horizontal{margin-bottom:.5em;padding:.25em .25em 0 .25em}.Tabs--horizontal:last-child{margin-bottom:0}.Tabs__Tab{flex-grow:0}.Tabs--fluid .Tabs__Tab{flex-grow:1}.Tab{display:flex;align-items:center;justify-content:space-between;background-color:rgba(0,0,0,0);color:rgba(255,255,255,.5);min-height:2.25em;min-width:4em}.Tab:not(.Tab--selected):hover{background-color:rgba(255,255,255,.075)}.Tab--selected{background-color:rgba(255,255,255,.125);color:#dfe7f0}.Tab__text{flex-grow:1;margin:0 .5em}.Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.Tabs--horizontal .Tab{border-top:.1666666667em solid rgba(0,0,0,0);border-bottom:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-top-right-radius:.25em}.Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #d4dfec}.Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid rgba(0,0,0,0);border-right:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-bottom-left-radius:.25em}.Tabs--vertical .Tab--selected{border-right:.1666666667em solid #d4dfec}.Tab--selected.Tab--color--black{color:#535353}.Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#1a1a1a}.Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#1a1a1a}.Tab--selected.Tab--color--white{color:#fff}.Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#fff}.Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#fff}.Tab--selected.Tab--color--red{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#df3e3e}.Tab--selected.Tab--color--orange{color:#f69f66}.Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#f37f33}.Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#f37f33}.Tab--selected.Tab--color--yellow{color:#fce358}.Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#fbda21}.Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#fbda21}.Tab--selected.Tab--color--olive{color:#d8eb55}.Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#cbe41c}.Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#cbe41c}.Tab--selected.Tab--color--green{color:#53e074}.Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#25ca4c}.Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#25ca4c}.Tab--selected.Tab--color--teal{color:#21fff5}.Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00d6cc}.Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00d6cc}.Tab--selected.Tab--color--blue{color:#62aee6}.Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#2e93de}.Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#2e93de}.Tab--selected.Tab--color--dark-blue{color:#008ffd}.Tabs--horizontal .Tab--selected.Tab--color--dark-blue{border-bottom-color:#005fa7}.Tabs--vertical .Tab--selected.Tab--color--dark-blue{border-right-color:#005fa7}.Tab--selected.Tab--color--violet{color:#9676db}.Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#7349cf}.Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#7349cf}.Tab--selected.Tab--color--purple{color:#c274db}.Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#ad45d0}.Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#ad45d0}.Tab--selected.Tab--color--pink{color:#ea79b9}.Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#e34da1}.Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#e34da1}.Tab--selected.Tab--color--brown{color:#ca9775}.Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#b97447}.Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#b97447}.Tab--selected.Tab--color--grey{color:#a3a3a3}.Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#848484}.Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#848484}.Tab--selected.Tab--color--light-grey{color:#c6c6c6}.Tabs--horizontal .Tab--selected.Tab--color--light-grey{border-bottom-color:#b3b3b3}.Tabs--vertical .Tab--selected.Tab--color--light-grey{border-right-color:#b3b3b3}.Tab--selected.Tab--color--good{color:#8cd95a}.Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#68c22d}.Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#68c22d}.Tab--selected.Tab--color--average{color:#f5b35e}.Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#f29a29}.Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#f29a29}.Tab--selected.Tab--color--bad{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#df3e3e}.Tab--selected.Tab--color--label{color:#a8b4c4}.Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#8b9bb0}.Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#8b9bb0}.Tab--selected.Tab--color--xeno{color:#9366a3}.Tabs--horizontal .Tab--selected.Tab--color--xeno{border-bottom-color:#664573}.Tabs--vertical .Tab--selected.Tab--color--xeno{border-right-color:#664573}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Input--monospace .Input__input{font-family:"Consolas",monospace}.TextArea{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;background-color:#0a0a0a;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.TextArea--fluid{display:block;width:auto;height:auto}.TextArea--noborder{border:0px}.TextArea__textarea.TextArea__textarea--scrollable{overflow:auto;overflow-x:hidden;overflow-y:scroll}.TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:rgba(0,0,0,0);color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.TextArea__textarea_custom{overflow:visible;white-space:pre-wrap}.Tooltip{z-index:2;padding:.5em .75em;pointer-events:none;text-align:left;transition:opacity 150ms ease-out;background-color:#000;color:#fff;box-shadow:.1em .1em 1.25em -0.1em rgba(0,0,0,.5);border-radius:.16em;max-width:20.8333333333em}.Chat{color:#abc6ec}.Chat__badge{display:inline-block;min-width:.5em;font-size:.7em;padding:.2em .3em;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:crimson;border-radius:10px;transition:font-size 200ms ease-out}.Chat__badge:before{content:"x"}.Chat__badge--animate{font-size:.9em;transition:font-size 0ms}.Chat__scrollButton{position:fixed;right:2em;bottom:1em}.Chat__reconnected{font-size:.85em;text-align:center;margin:1em 0 2em}.Chat__reconnected:before{content:"Reconnected";display:inline-block;border-radius:1em;padding:0 .7em;color:#db2828;background-color:#131313}.Chat__reconnected:after{content:"";display:block;margin-top:-0.75em;border-bottom:.1666666667em solid #db2828}.Chat__highlight{color:#000}.Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:bold}.ChatMessage{word-wrap:break-word}.ChatMessage--highlighted{position:relative;border-left:.1666666667em solid #fd4;padding-left:.5em}.ChatMessage--highlighted:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(255,221,68,.1);pointer-events:none}.Ping{position:relative;padding:.125em .25em;border:.0833333333em solid rgba(140,140,140,.5);border-radius:.25em;width:3.75em;text-align:right}.Ping__indicator{content:"";position:absolute;top:.5em;left:.5em;width:.5em;height:.5em;background-color:#888;border-radius:.25em}.Notifications{position:absolute;bottom:1em;left:1em;right:2em}.Notification{color:#fff;background-color:crimson;padding:.5em;margin:1em 0}.Notification:first-child{margin-top:0}.Notification:last-child{margin-bottom:0}.Layout,.Layout *{scrollbar-base-color:#181818;scrollbar-face-color:#363636;scrollbar-3dlight-color:#202020;scrollbar-highlight-color:#202020;scrollbar-track-color:#181818;scrollbar-arrow-color:#909090;scrollbar-shadow-color:#363636}.Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#202020;background-image:linear-gradient(to bottom, #202020 0%, #202020 100%)}.Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.Window__contentPadding:after{height:0}.Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(56,56,56,.25);pointer-events:none}.Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}em{font-style:normal;font-weight:bold}img{margin:0;padding:0;line-height:1;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}img.icon{height:1em;min-height:16px;width:auto;vertical-align:bottom}a{color:#397ea5}a.visited{color:#7c00e6}a:visited{color:#7c00e6}a.popt{text-decoration:none}.popup{position:fixed;top:50%;left:50%;background:#ddd}.popup .close{position:absolute;background:#aaa;top:0;right:0;color:#333;text-decoration:none;z-index:2;padding:0 10px;height:30px;line-height:30px}.popup .close:hover{background:#999}.popup .head{background:#999;color:#ddd;padding:0 10px;height:30px;line-height:30px;text-transform:uppercase;font-size:.9em;font-weight:bold;border-bottom:2px solid green}.popup input{border:1px solid #999;background:#fff;margin:0;padding:5px;outline:none;color:#333}.popup input[type=text]:hover,.popup input[type=text]:active,.popup input[type=text]:focus{border-color:green}.popup input[type=submit]{padding:5px 10px;background:#999;color:#ddd;text-transform:uppercase;font-size:.9em;font-weight:bold}.popup input[type=submit]:hover,.popup input[type=submit]:focus,.popup input[type=submit]:active{background:#aaa;cursor:pointer}.changeFont{padding:10px}.changeFont a{display:block;text-decoration:none;padding:3px;color:#333}.changeFont a:hover{background:#ccc}.highlightPopup{padding:10px;text-align:center}.highlightPopup input[type=text]{display:block;width:215px;text-align:left;margin-top:5px}.highlightPopup input.highlightColor{background-color:#ff0}.highlightPopup input.highlightTermSubmit{margin-top:5px}.contextMenu{background-color:#ddd;position:fixed;margin:2px;width:150px}.contextMenu a{display:block;padding:2px 5px;text-decoration:none;color:#333}.contextMenu a:hover{background-color:#ccc}.filterMessages{padding:5px}.filterMessages div{padding:2px 0}.icon-stack{height:1em;line-height:1em;width:1em;vertical-align:middle;margin-top:-2px}.motd{color:#a4bad6;font-family:Verdana,sans-serif;white-space:normal}.motd h1,.motd h2,.motd h3,.motd h4,.motd h5,.motd h6{color:#a4bad6;text-decoration:underline}.motd a,.motd a:link,.motd a:visited,.motd a:active,.motd a:hover{color:#a4bad6}.bold,.name,.prefix,.ooc,.looc,.adminooc,.admin,.niche,.medal,.yell{font-weight:bold}.italic,.italics{font-style:italic}.highlight{background:#ff0}h1,h2,h3,h4,h5,h6{color:#a4bad6;font-family:Georgia,Verdana,sans-serif}h1.alert,h2.alert{color:#a4bad6}em{font-style:normal;font-weight:bold}.ooc{font-weight:bold}.adminobserverooc{color:#09c;font-weight:bold}.adminooc{color:#3d5bc3;font-weight:bold}.adminsay{color:#9611d4;font-weight:bold}.admin{color:#5975da;font-weight:bold}.niche{color:#5975da;font-weight:bold}.name{font-weight:bold}.deadsay{color:#e2c1ff}.binarysay{color:#1e90ff}.binarysay a{color:lime}.binarysay a:active,.binarysay a:visited{color:#8f8}.radio{color:#1ecc43}.sciradio{color:#c68cfa}.comradio{color:#fcdf03}.secradio{color:#dd3535}.medradio{color:#57b8f0}.engradio{color:#f37746}.suppradio{color:#b88646}.servradio{color:#6ca729}.syndradio{color:#8f4a4b}.gangradio{color:#ac2ea1}.centcomradio{color:#2681a5}.aiprivradio{color:#d65d95}.redteamradio{color:#f44}.blueteamradio{color:#3434fd}.greenteamradio{color:#34fd34}.yellowteamradio{color:#fdfd34}.yell{font-weight:bold}.alert{color:#d82020}.userdanger{color:#c51e1e;font-weight:bold;font-size:185%}.bolddanger{color:#c51e1e;font-weight:bold}.danger{color:#c51e1e}.warning{color:#c51e1e;font-style:italic}.alertwarning{color:red;font-weight:bold}.boldwarning{color:#c51e1e;font-style:italic;font-weight:bold}.announce{color:#c51e1e;font-weight:bold}.boldannounce{color:#c51e1e;font-weight:bold}.bigannounce{font-weight:bold;font-size:115%}.greenannounce{color:#059223;font-weight:bold}.rose{color:#ff5050}.info{color:#9ab0ff}.notice{color:#6685f5}.staff_ic{color:#6685f5}.tinynotice{color:#6685f5;font-size:85%}.tinynoticeital{color:#6685f5;font-style:italic;font-size:85%}.smallnotice{color:#6685f5;font-size:90%}.smallnoticeital{color:#6685f5;font-style:italic;font-size:90%}.boldnotice{color:#6685f5;font-weight:bold}.hear{color:#6685f5;font-style:italic}.adminnotice{color:#6685f5}.adminhelp{color:red;font-weight:bold}.unconscious{color:#a4bad6;font-weight:bold}.suicide{color:#ff5050;font-style:italic}.green{color:#059223}.grey{color:#838383}.red{color:red}.blue{color:#215cff}.nicegreen{color:#059223}.boldnicegreen{color:#059223;font-weight:bold}.cult{color:#973e3b}.cultitalic{color:#973e3b;font-style:italic}.cultbold{color:#973e3b;font-style:italic;font-weight:bold}.cultboldtalic{color:#973e3b;font-weight:bold;font-size:185%}.cultlarge{color:#973e3b;font-weight:bold;font-size:185%}.narsie{color:#973e3b;font-weight:bold;font-size:925%}.narsiesmall{color:#973e3b;font-weight:bold;font-size:370%}.colossus{color:#7f282a;font-size:310%}.hierophant{color:#b441ee;font-weight:bold;font-style:italic}.hierophant_warning{color:#c56bf1;font-style:italic}.purple{color:#9956d3}.holoparasite{color:#88809c}.revennotice{color:#c099e2}.revenboldnotice{color:#c099e2;font-weight:bold}.revenbignotice{color:#c099e2;font-weight:bold;font-size:185%}.revenminor{color:#823abb}.revenwarning{color:#760fbb;font-style:italic}.revendanger{color:#760fbb;font-weight:bold;font-size:185%}.deconversion_message{color:#a947ff;font-size:185%;font-style:italic}.ghostalert{color:#60f;font-style:italic;font-weight:bold}.alien{color:#855d85}.noticealien{color:#059223}.alertalien{color:#059223;font-weight:bold}.changeling{color:#059223;font-style:italic}.alertsyndie{color:red;font-size:185%;font-weight:bold}.spider{color:#80f;font-weight:bold;font-size:185%}.interface{color:#750e75}.sans{font-family:"Comic Sans MS",cursive,sans-serif}.papyrus{font-family:"Papyrus",cursive,sans-serif}.robot{font-family:"Courier New",cursive,sans-serif}.tape_recorder{color:red;font-family:"Courier New",cursive,sans-serif}.command_headset{font-weight:bold;font-size:160%}.small{font-size:60%}.big{font-size:185%}.reallybig{font-size:245%}.extremelybig{font-size:310%}.greentext{color:#059223;font-size:185%}.redtext{color:#c51e1e;font-size:185%}.clown{color:#ff70c1;font-size:160%;font-family:"Comic Sans MS",cursive,sans-serif;font-weight:bold}.singing{font-family:"Trebuchet MS",cursive,sans-serif;font-style:italic}.his_grace{color:#15d512;font-family:"Courier New",cursive,sans-serif;font-style:italic}.hypnophrase{color:#202020;font-weight:bold;animation:hypnocolor 1500ms infinite;animation-direction:alternate}@keyframes hypnocolor{0%{color:#202020}25%{color:#4b02ac}50%{color:#9f41f1}75%{color:#541c9c}100%{color:#7adbf3}}.phobia{color:#d00;font-weight:bold;animation:phobia 750ms infinite}@keyframes phobia{0%{color:#f75a5a}50%{color:#d00}100%{color:#f75a5a}}.icon{height:1em;width:auto}.bigicon{font-size:2.5em}.memo{color:#638500;text-align:center}.memoedit{text-align:center;font-size:125%}.abductor{color:#c204c2;font-style:italic}.mind_control{color:#df3da9;font-size:100%;font-weight:bold;font-style:italic}.slime{color:#00ced1}.drone{color:#848482}.monkey{color:#975032}.swarmer{color:#2c75ff}.resonate{color:#298f85}.monkeyhive{color:#a56408}.monkeylead{color:#af6805;font-size:80%}.connectionClosed,.fatalError{background:red;color:#fff;padding:5px}.connectionClosed.restored{background:green}.internal.boldnshit{color:#3d5bc3;font-weight:bold}.text-normal{font-weight:normal;font-style:normal}.hidden{display:none;visibility:hidden}.ml-1{margin-left:1em}.ml-2{margin-left:2em}.ml-3{margin-left:3em}.xooc{color:#ac04e9;font-weight:bold;font-size:140%}.mooc{color:#090;font-weight:bold;font-size:140%}.yooc{color:#999600;font-weight:bold;font-size:140%}.headminsay{color:#653d78;font-weight:bold}.radio{color:#b4b4b4}.deptradio{color:#939}.comradio{color:#779cc2}.centradio{color:#5c5c8a}.hcradio{color:#318779}.pvstradio{color:#9b0612}.cryoradio{color:#ad6d48}.airadio{color:#f0f}.secradio{color:#a52929}.engradio{color:#a66300}.sentryradio{color:#844300}.medradio{color:#008160}.supradio{color:#ba8e41}.jtacradio{color:#ad3b98}.intelradio{color:#027d02}.wyradio{color:#fe9b24}.pmcradio{color:#4dc5ce}.vairadio{color:#e3580e}.rmcradio{color:#e3580e}.cmbradio{color:#1b748c}.clfradio{color:#8e83ca}.alpharadio{color:#db2626}.bravoradio{color:#c68610}.charlieradio{color:#a5a}.deltaradio{color:#007fcf}.echoradio{color:#3eb489}.medium{font-size:110%}.big{font-size:115%}.large{font-size:125%}.extra_large{font-size:130%}.huge{font-size:150%}.underline{text-decoration:underline}.orange{color:#eca100}.normal{font-style:normal}.attack{color:#ff3838}.moderate{color:#c00}.disarm{color:#900}.passive{color:#600}.helpful{color:#368f31}.scanner{color:#ff3838}.scannerb{color:#ff3838;font-weight:bold}.scannerburn{color:orange}.scannerburnb{color:orange;font-weight:bold}.rose{color:#ff5050}.debuginfo{color:#493d26;font-style:italic}.xenonotice{color:#51a16c}.xenoboldnotice{color:#51a16c;font-weight:bold}.xenowarning{color:#51a16c;font-style:italic}.xenominorwarning{color:#51a16c;font-weight:bold;font-style:italic}.xenodanger{color:#51a16c;font-weight:bold}.avoidharm{color:#72a0e5;font-weight:bold}.highdanger{color:#ff3838;font-weight:bold;font-size:140%}.xenohighdanger{color:#51a16c;font-weight:bold;font-size:140%}.xenoannounce{color:#65c585;font-family:book-antiqua;font-weight:bold;font-size:140%}.yautjabold{color:purple;font-weight:bold}.yautjaboldbig{color:purple;font-weight:bold;font-size:120%}.objectivebig{font-weight:bold;font-size:130%}.objectivegreen{color:lime}.objectivered{color:red}.objectivesuccess{color:lime;font-weight:bold;font-size:110%}.objectivefail{color:red;font-weight:bold;font-size:110%}.xenotalk,.xeno{color:#c048c0;font-style:italic}.xenoleader{color:#996e99;font-style:italic;font-size:125%}.xenoqueen{color:#996e99;font-style:italic;font-weight:bold;font-size:125%}.newscaster{color:maroon}.role_header{color:#e92d2d;display:block;text-align:center;font-weight:bold;font-family:trebuchet-ms;font-size:150%}.role_body{color:#3a3ae9;display:block;text-align:center;font-size:125%}.round_header{color:#e92d2d;display:block;text-align:center;font-family:courier;font-weight:bold;font-size:180%}.round_body{color:#c5c5c5;display:block;text-align:center;font-family:trebuchet-ms;font-weight:bold;font-size:125%}.event_announcement{color:#600d48;font-family:arial-narrow;font-weight:bold;font-size:125%}.announce_header{color:#cecece;font-weight:bold;font-size:150%}.announce_header_blue{color:#7575f3;font-weight:bold;font-size:150%}.announce_header_admin{color:#7575f3;font-weight:bold;font-size:150%}.announce_body{color:#e92d2d;font-weight:normal;font-size:125%}.centerbold{display:block;text-align:center;font-weight:bold}.mod{color:#917455;font-weight:bold}.modooc{color:#184880;font-weight:bold}.adminmod{color:#7c440c;font-weight:bold}.mentorsay{color:#d4af57;font-weight:bold}.mentorhelp{color:#090;font-weight:bold}.mentorbody{color:#da6200;font-weight:bold}.mentorstaff{color:#b5850d;font-weight:bold}.staffsay{color:#b5850d;font-weight:bold}.tajaran{color:#803b56}.tajaran_signlang{color:#941c1c}.skrell{color:#00ced1}.soghun{color:#228b22}.changeling{color:purple}.vox{color:#a0a}.monkey{color:#966c47}.german{color:#858f1e;font-family:"Times New Roman",Times,serif}.spanish{color:#cf982b}.japanese{color:#940927}.chinese{color:#fe1919}.zombie{color:#2dacb1;font-style:italic}.rough{font-family:trebuchet-ms,cursive,sans-serif}.commando{color:#fe9b24;font-style:bold}.say_quote{font-family:Georgia,Verdana,sans-serif}.admin .message{color:#314cad}.admin .prefix{font-weight:bolder}.pm{font-size:110%}.deadsay{color:#8b4dff}.retro_translator{font-weight:bold}.yautja_translator{color:#a00;font-weight:bold;animation:glitch .5s infinite}@keyframes glitch{25%{color:#a00;transform:translate(-2px, -1px)}50%{color:#be0000;transform:translate(1px, -2px)}75%{color:#8d0000;transform:translate(-1px, 2px)}100%{color:#830000;transform:translate(1px, 1px)}}.examine_block{background:#1b1c1e;border:1px solid #a4bad6;margin:.5em;padding:.5em .75em}.examine_block .icon{width:1.5em;height:1.5em;margin:0;padding:0}.tooltip{font-style:italic;border-bottom:1px dashed #fff} +.theme-light .color-black{color:#000 !important}.theme-light .color-white{color:#e6e6e6 !important}.theme-light .color-red{color:#c82121 !important}.theme-light .color-orange{color:#e6630d !important}.theme-light .color-yellow{color:#e5c304 !important}.theme-light .color-olive{color:#a3b816 !important}.theme-light .color-green{color:#1d9f3b !important}.theme-light .color-teal{color:#00a39c !important}.theme-light .color-blue{color:#1e78bb !important}.theme-light .color-dark-blue{color:#004274 !important}.theme-light .color-violet{color:#5a30b5 !important}.theme-light .color-purple{color:#932eb4 !important}.theme-light .color-pink{color:#db228a !important}.theme-light .color-brown{color:#955d39 !important}.theme-light .color-grey{color:#e6e6e6 !important}.theme-light .color-light-grey{color:#999 !important}.theme-light .color-good{color:#529923 !important}.theme-light .color-average{color:#da810e !important}.theme-light .color-bad{color:#c82121 !important}.theme-light .color-label{color:#353535 !important}.theme-light .color-xeno{color:#4a3253 !important}.theme-light .color-bg-black{background-color:#000 !important}.theme-light .color-bg-white{background-color:#bfbfbf !important}.theme-light .color-bg-red{background-color:#a61c1c !important}.theme-light .color-bg-orange{background-color:#c0530b !important}.theme-light .color-bg-yellow{background-color:#bfa303 !important}.theme-light .color-bg-olive{background-color:#889912 !important}.theme-light .color-bg-green{background-color:#188532 !important}.theme-light .color-bg-teal{background-color:#008882 !important}.theme-light .color-bg-blue{background-color:#19649c !important}.theme-light .color-bg-dark-blue{background-color:#003761 !important}.theme-light .color-bg-violet{background-color:#4b2897 !important}.theme-light .color-bg-purple{background-color:#7a2696 !important}.theme-light .color-bg-pink{background-color:#b61d73 !important}.theme-light .color-bg-brown{background-color:#7c4d2f !important}.theme-light .color-bg-grey{background-color:#bfbfbf !important}.theme-light .color-bg-light-grey{background-color:gray !important}.theme-light .color-bg-good{background-color:#44801d !important}.theme-light .color-bg-average{background-color:#b56b0b !important}.theme-light .color-bg-bad{background-color:#a61c1c !important}.theme-light .color-bg-label{background-color:#2c2c2c !important}.theme-light .color-bg-xeno{background-color:#3e2945 !important}.theme-light .Tabs{display:flex;align-items:stretch;overflow:hidden;background-color:#fff}.theme-light .Tabs--fill{height:100%}.theme-light .Section .Tabs{background-color:rgba(0,0,0,0)}.theme-light .Section:not(.Section--fitted) .Tabs{margin:0 -0.5em .5em}.theme-light .Section:not(.Section--fitted) .Tabs:first-child{margin-top:-0.5em}.theme-light .Tabs--vertical{flex-direction:column;padding:.25em 0 .25em .25em}.theme-light .Tabs--horizontal{margin-bottom:.5em;padding:.25em .25em 0 .25em}.theme-light .Tabs--horizontal:last-child{margin-bottom:0}.theme-light .Tabs__Tab{flex-grow:0}.theme-light .Tabs--fluid .Tabs__Tab{flex-grow:1}.theme-light .Tab{display:flex;align-items:center;justify-content:space-between;background-color:rgba(0,0,0,0);color:rgba(0,0,0,.5);min-height:2.25em;min-width:4em}.theme-light .Tab:not(.Tab--selected):hover{background-color:rgba(255,255,255,.075)}.theme-light .Tab--selected{background-color:rgba(255,255,255,.125);color:#404040}.theme-light .Tab__text{flex-grow:1;margin:0 .5em}.theme-light .Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.theme-light .Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.theme-light .Tabs--horizontal .Tab{border-top:.1666666667em solid rgba(0,0,0,0);border-bottom:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-top-right-radius:.25em}.theme-light .Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #000}.theme-light .Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid rgba(0,0,0,0);border-right:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-bottom-left-radius:.25em}.theme-light .Tabs--vertical .Tab--selected{border-right:.1666666667em solid #000}.theme-light .Tab--selected.Tab--color--black{color:#404040}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#000}.theme-light .Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#000}.theme-light .Tab--selected.Tab--color--white{color:#ececec}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#e6e6e6}.theme-light .Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#e6e6e6}.theme-light .Tab--selected.Tab--color--red{color:#e14d4d}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#c82121}.theme-light .Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#c82121}.theme-light .Tab--selected.Tab--color--orange{color:#f48942}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#e6630d}.theme-light .Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#e6630d}.theme-light .Tab--selected.Tab--color--yellow{color:#fcdd33}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#e5c304}.theme-light .Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#e5c304}.theme-light .Tab--selected.Tab--color--olive{color:#d0e732}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#a3b816}.theme-light .Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#a3b816}.theme-light .Tab--selected.Tab--color--green{color:#33da5a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#1d9f3b}.theme-light .Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#1d9f3b}.theme-light .Tab--selected.Tab--color--teal{color:#00faef}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00a39c}.theme-light .Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00a39c}.theme-light .Tab--selected.Tab--color--blue{color:#419ce1}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#1e78bb}.theme-light .Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#1e78bb}.theme-light .Tab--selected.Tab--color--dark-blue{color:#0079d7}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--dark-blue{border-bottom-color:#004274}.theme-light .Tabs--vertical .Tab--selected.Tab--color--dark-blue{border-right-color:#004274}.theme-light .Tab--selected.Tab--color--violet{color:#7f58d3}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#5a30b5}.theme-light .Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#5a30b5}.theme-light .Tab--selected.Tab--color--purple{color:#b455d4}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#932eb4}.theme-light .Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#932eb4}.theme-light .Tab--selected.Tab--color--pink{color:#e558a7}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#db228a}.theme-light .Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#db228a}.theme-light .Tab--selected.Tab--color--brown{color:#c0825a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#955d39}.theme-light .Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#955d39}.theme-light .Tab--selected.Tab--color--grey{color:#ececec}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#e6e6e6}.theme-light .Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#e6e6e6}.theme-light .Tab--selected.Tab--color--light-grey{color:#b3b3b3}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--light-grey{border-bottom-color:#999}.theme-light .Tabs--vertical .Tab--selected.Tab--color--light-grey{border-right-color:#999}.theme-light .Tab--selected.Tab--color--good{color:#77d23b}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#529923}.theme-light .Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#529923}.theme-light .Tab--selected.Tab--color--average{color:#f3a23a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#da810e}.theme-light .Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#da810e}.theme-light .Tab--selected.Tab--color--bad{color:#e14d4d}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#c82121}.theme-light .Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#c82121}.theme-light .Tab--selected.Tab--color--label{color:#686868}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#353535}.theme-light .Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#353535}.theme-light .Tab--selected.Tab--color--xeno{color:#7e558e}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--xeno{border-bottom-color:#4a3253}.theme-light .Tabs--vertical .Tab--selected.Tab--color--xeno{border-right-color:#4a3253}.theme-light .Section{position:relative;margin-bottom:.5em;background-color:#fff;background-color:#fff;box-sizing:border-box}.theme-light .Section:last-child{margin-bottom:0}.theme-light .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #fff}.theme-light .Section__titleText{font-size:1.1666666667em;font-weight:bold;color:#000}.theme-light .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-light .Section__rest{position:relative}.theme-light .Section__content{padding:.66em .5em}.theme-light .Section--fitted>.Section__rest>.Section__content{padding:0}.theme-light .Section--fill{display:flex;flex-direction:column;height:100%}.theme-light .Section--fill>.Section__rest{flex-grow:1}.theme-light .Section--fill>.Section__rest>.Section__content{height:100%}.theme-light .Section--fill.Section--scrollable>.Section__rest>.Section__content{position:absolute;top:0;left:0;right:0;bottom:0}.theme-light .Section--fill.Section--iefix{display:table !important;width:100% !important;height:100% !important;border-collapse:collapse;border-spacing:0}.theme-light .Section--fill.Section--iefix>.Section__rest{display:table-row !important;height:100% !important}.theme-light .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollable>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:hidden}.theme-light .Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:hidden;overflow-x:scroll}.theme-light .Section--scrollable.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:scroll}.theme-light .Section .Section{background-color:rgba(0,0,0,0);margin-left:-0.5em;margin-right:-0.5em}.theme-light .Section .Section:first-child{margin-top:-0.5em}.theme-light .Section .Section .Section__titleText{font-size:1.0833333333em}.theme-light .Section .Section .Section .Section__titleText{font-size:1em}.theme-light .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-light .Button .fa,.theme-light .Button .fas,.theme-light .Button .far{margin-left:-0.25em;margin-right:-0.25em;min-width:1.333em;text-align:center}.theme-light .Button--hasContent .fa,.theme-light .Button--hasContent .fas,.theme-light .Button--hasContent .far{margin-right:.25em}.theme-light .Button--hasContent.Button--iconPosition--right .fa,.theme-light .Button--hasContent.Button--iconPosition--right .fas,.theme-light .Button--hasContent.Button--iconPosition--right .far{margin-right:0px;margin-left:3px}.theme-light .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-light .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-light .Button--circular{border-radius:50%}.theme-light .Button--compact{padding:0 .25em;line-height:1.333em}.theme-light .Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.theme-light .Button--color--black:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--black:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--black:hover,.theme-light .Button--color--black:focus{background-color:#131313;color:#fff}.theme-light .Button--color--white{transition:color 50ms,background-color 50ms;background-color:#bfbfbf;color:#000}.theme-light .Button--color--white:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--white:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--white:hover,.theme-light .Button--color--white:focus{background-color:#efefef;color:#000}.theme-light .Button--color--red{transition:color 50ms,background-color 50ms;background-color:#a61c1c;color:#fff}.theme-light .Button--color--red:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--red:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--red:hover,.theme-light .Button--color--red:focus{background-color:#d23333;color:#fff}.theme-light .Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#c0530b;color:#fff}.theme-light .Button--color--orange:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--orange:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--orange:hover,.theme-light .Button--color--orange:focus{background-color:#ea7426;color:#fff}.theme-light .Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#bfa303;color:#fff}.theme-light .Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--yellow:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--yellow:hover,.theme-light .Button--color--yellow:focus{background-color:#efce17;color:#fff}.theme-light .Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#889912;color:#fff}.theme-light .Button--color--olive:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--olive:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--olive:hover,.theme-light .Button--color--olive:focus{background-color:#afc328;color:#fff}.theme-light .Button--color--green{transition:color 50ms,background-color 50ms;background-color:#188532;color:#fff}.theme-light .Button--color--green:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--green:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--green:hover,.theme-light .Button--color--green:focus{background-color:#2fac4c;color:#fff}.theme-light .Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#008882;color:#fff}.theme-light .Button--color--teal:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--teal:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--teal:hover,.theme-light .Button--color--teal:focus{background-color:#13afa9;color:#fff}.theme-light .Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#19649c;color:#fff}.theme-light .Button--color--blue:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--blue:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--blue:hover,.theme-light .Button--color--blue:focus{background-color:#3086c7;color:#fff}.theme-light .Button--color--dark-blue{transition:color 50ms,background-color 50ms;background-color:#003761;color:#fff}.theme-light .Button--color--dark-blue:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--dark-blue:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--dark-blue:hover,.theme-light .Button--color--dark-blue:focus{background-color:#135283;color:#fff}.theme-light .Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#4b2897;color:#fff}.theme-light .Button--color--violet:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--violet:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--violet:hover,.theme-light .Button--color--violet:focus{background-color:#6a41c1;color:#fff}.theme-light .Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#7a2696;color:#fff}.theme-light .Button--color--purple:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--purple:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--purple:hover,.theme-light .Button--color--purple:focus{background-color:#a03fc0;color:#fff}.theme-light .Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#b61d73;color:#fff}.theme-light .Button--color--pink:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--pink:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--pink:hover,.theme-light .Button--color--pink:focus{background-color:#da3f96;color:#fff}.theme-light .Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#7c4d2f;color:#fff}.theme-light .Button--color--brown:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--brown:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--brown:hover,.theme-light .Button--color--brown:focus{background-color:#a26c49;color:#fff}.theme-light .Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#bfbfbf;color:#000}.theme-light .Button--color--grey:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--grey:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--grey:hover,.theme-light .Button--color--grey:focus{background-color:#efefef;color:#000}.theme-light .Button--color--light-grey{transition:color 50ms,background-color 50ms;background-color:gray;color:#fff}.theme-light .Button--color--light-grey:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--light-grey:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--light-grey:hover,.theme-light .Button--color--light-grey:focus{background-color:#a6a6a6;color:#fff}.theme-light .Button--color--good{transition:color 50ms,background-color 50ms;background-color:#44801d;color:#fff}.theme-light .Button--color--good:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--good:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--good:hover,.theme-light .Button--color--good:focus{background-color:#62a635;color:#fff}.theme-light .Button--color--average{transition:color 50ms,background-color 50ms;background-color:#b56b0b;color:#fff}.theme-light .Button--color--average:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--average:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--average:hover,.theme-light .Button--color--average:focus{background-color:#e48f20;color:#fff}.theme-light .Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#a61c1c;color:#fff}.theme-light .Button--color--bad:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--bad:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--bad:hover,.theme-light .Button--color--bad:focus{background-color:#d23333;color:#fff}.theme-light .Button--color--label{transition:color 50ms,background-color 50ms;background-color:#2c2c2c;color:#fff}.theme-light .Button--color--label:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--label:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--label:hover,.theme-light .Button--color--label:focus{background-color:#464646;color:#fff}.theme-light .Button--color--xeno{transition:color 50ms,background-color 50ms;background-color:#3e2945;color:#fff}.theme-light .Button--color--xeno:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--xeno:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--xeno:hover,.theme-light .Button--color--xeno:focus{background-color:#5a4363;color:#fff}.theme-light .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#bbb;color:#000}.theme-light .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--default:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--default:hover,.theme-light .Button--color--default:focus{background-color:#eaeaea;color:#000}.theme-light .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-light .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--caution:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--caution:hover,.theme-light .Button--color--caution:focus{background-color:#ec8420;color:#fff}.theme-light .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-light .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--danger:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--danger:hover,.theme-light .Button--color--danger:focus{background-color:#c4c813;color:#fff}.theme-light .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#eee;color:#000;background-color:rgba(238,238,238,0);color:rgba(0,0,0,.5)}.theme-light .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--transparent:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--color--transparent:hover,.theme-light .Button--color--transparent:focus{background-color:#fcfcfc;color:#000}.theme-light .Button--disabled{background-color:#363636 !important}.theme-light .Button--selected{transition:color 50ms,background-color 50ms;background-color:#0668b8;color:#fff}.theme-light .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--selected:focus{transition:color 100ms,background-color 100ms}.theme-light .Button--selected:hover,.theme-light .Button--selected:focus{background-color:#1a8be7;color:#fff}.theme-light .Button--flex{display:inline-flex;flex-direction:column}.theme-light .Button--flex--fluid{width:100%}.theme-light .Button--verticalAlignContent--top{justify-content:flex-start}.theme-light .Button--verticalAlignContent--middle{justify-content:center}.theme-light .Button--verticalAlignContent--bottom{justify-content:flex-end}.theme-light .Button__content{display:block;align-self:stretch}.theme-light .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#000;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-light .Input--fluid{display:block;width:auto}.theme-light .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-light .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#000;color:inherit}.theme-light .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Input--monospace .Input__input{font-family:"Consolas",monospace}.theme-light .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#000;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-light .Input--fluid{display:block;width:auto}.theme-light .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-light .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#000;color:inherit}.theme-light .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Input--monospace .Input__input{font-family:"Consolas",monospace}.theme-light .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#353535;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-light .NumberInput--fluid{display:block}.theme-light .NumberInput__content{margin-left:.5em}.theme-light .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-light .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #353535;background-color:#353535}.theme-light .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#fff;color:#000;text-align:right}.theme-light .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#000;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-light .Input--fluid{display:block;width:auto}.theme-light .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-light .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#000;color:inherit}.theme-light .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Input--monospace .Input__input{font-family:"Consolas",monospace}.theme-light .TextArea{position:relative;display:inline-block;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;background-color:#fff;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.theme-light .TextArea--fluid{display:block;width:auto;height:auto}.theme-light .TextArea--noborder{border:0px}.theme-light .TextArea__textarea.TextArea__textarea--scrollable{overflow:auto;overflow-x:hidden;overflow-y:scroll}.theme-light .TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:rgba(0,0,0,0);color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.theme-light .TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .TextArea__textarea_custom{overflow:visible;white-space:pre-wrap}.theme-light .Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto;margin-bottom:-0.2em;cursor:n-resize}.theme-light .Knob:after{content:".";color:rgba(0,0,0,0);line-height:2.5em}.theme-light .Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(to bottom, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 100%);border-radius:50%;box-shadow:0 .05em .5em 0 rgba(0,0,0,.5)}.theme-light .Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.theme-light .Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:rgba(255,255,255,.9)}.theme-light .Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.theme-light .Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.theme-light .Knob__ringTrackPivot{transform:rotateZ(135deg)}.theme-light .Knob__ringTrack{fill:rgba(0,0,0,0);stroke:rgba(255,255,255,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.theme-light .Knob__ringFillPivot{transform:rotateZ(135deg)}.theme-light .Knob--bipolar .Knob__ringFillPivot{transform:rotateZ(270deg)}.theme-light .Knob__ringFill{fill:rgba(0,0,0,0);stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms ease-out}.theme-light .Knob--color--black .Knob__ringFill{stroke:#000}.theme-light .Knob--color--white .Knob__ringFill{stroke:#e6e6e6}.theme-light .Knob--color--red .Knob__ringFill{stroke:#c82121}.theme-light .Knob--color--orange .Knob__ringFill{stroke:#e6630d}.theme-light .Knob--color--yellow .Knob__ringFill{stroke:#e5c304}.theme-light .Knob--color--olive .Knob__ringFill{stroke:#a3b816}.theme-light .Knob--color--green .Knob__ringFill{stroke:#1d9f3b}.theme-light .Knob--color--teal .Knob__ringFill{stroke:#00a39c}.theme-light .Knob--color--blue .Knob__ringFill{stroke:#1e78bb}.theme-light .Knob--color--dark-blue .Knob__ringFill{stroke:#004274}.theme-light .Knob--color--violet .Knob__ringFill{stroke:#5a30b5}.theme-light .Knob--color--purple .Knob__ringFill{stroke:#932eb4}.theme-light .Knob--color--pink .Knob__ringFill{stroke:#db228a}.theme-light .Knob--color--brown .Knob__ringFill{stroke:#955d39}.theme-light .Knob--color--grey .Knob__ringFill{stroke:#e6e6e6}.theme-light .Knob--color--light-grey .Knob__ringFill{stroke:#999}.theme-light .Knob--color--good .Knob__ringFill{stroke:#529923}.theme-light .Knob--color--average .Knob__ringFill{stroke:#da810e}.theme-light .Knob--color--bad .Knob__ringFill{stroke:#c82121}.theme-light .Knob--color--label .Knob__ringFill{stroke:#353535}.theme-light .Knob--color--xeno .Knob__ringFill{stroke:#4a3253}.theme-light .Slider{cursor:e-resize}.theme-light .Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none !important}.theme-light .Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #000}.theme-light .Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid rgba(0,0,0,0);border-right:.4166666667em solid rgba(0,0,0,0);border-bottom:.4166666667em solid #000}.theme-light .Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translateX(50%);white-space:nowrap}.theme-light .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-width:.0833333333em !important;border-style:solid !important;border-radius:.16em;background-color:rgba(0,0,0,0);transition:border-color 900ms ease-out}.theme-light .ProgressBar__fill{position:absolute;top:-0.5px;left:0px;bottom:-0.5px}.theme-light .ProgressBar__fill--animated{transition:background-color 900ms ease-out,width 900ms ease-out}.theme-light .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-light .ProgressBar--color--default{border:.0833333333em solid #bfbfbf}.theme-light .ProgressBar--color--default .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--black{border-color:#000 !important}.theme-light .ProgressBar--color--black .ProgressBar__fill{background-color:#000}.theme-light .ProgressBar--color--white{border-color:#bfbfbf !important}.theme-light .ProgressBar--color--white .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--red{border-color:#a61c1c !important}.theme-light .ProgressBar--color--red .ProgressBar__fill{background-color:#a61c1c}.theme-light .ProgressBar--color--orange{border-color:#c0530b !important}.theme-light .ProgressBar--color--orange .ProgressBar__fill{background-color:#c0530b}.theme-light .ProgressBar--color--yellow{border-color:#bfa303 !important}.theme-light .ProgressBar--color--yellow .ProgressBar__fill{background-color:#bfa303}.theme-light .ProgressBar--color--olive{border-color:#889912 !important}.theme-light .ProgressBar--color--olive .ProgressBar__fill{background-color:#889912}.theme-light .ProgressBar--color--green{border-color:#188532 !important}.theme-light .ProgressBar--color--green .ProgressBar__fill{background-color:#188532}.theme-light .ProgressBar--color--teal{border-color:#008882 !important}.theme-light .ProgressBar--color--teal .ProgressBar__fill{background-color:#008882}.theme-light .ProgressBar--color--blue{border-color:#19649c !important}.theme-light .ProgressBar--color--blue .ProgressBar__fill{background-color:#19649c}.theme-light .ProgressBar--color--dark-blue{border-color:#003761 !important}.theme-light .ProgressBar--color--dark-blue .ProgressBar__fill{background-color:#003761}.theme-light .ProgressBar--color--violet{border-color:#4b2897 !important}.theme-light .ProgressBar--color--violet .ProgressBar__fill{background-color:#4b2897}.theme-light .ProgressBar--color--purple{border-color:#7a2696 !important}.theme-light .ProgressBar--color--purple .ProgressBar__fill{background-color:#7a2696}.theme-light .ProgressBar--color--pink{border-color:#b61d73 !important}.theme-light .ProgressBar--color--pink .ProgressBar__fill{background-color:#b61d73}.theme-light .ProgressBar--color--brown{border-color:#7c4d2f !important}.theme-light .ProgressBar--color--brown .ProgressBar__fill{background-color:#7c4d2f}.theme-light .ProgressBar--color--grey{border-color:#bfbfbf !important}.theme-light .ProgressBar--color--grey .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--light-grey{border-color:gray !important}.theme-light .ProgressBar--color--light-grey .ProgressBar__fill{background-color:gray}.theme-light .ProgressBar--color--good{border-color:#44801d !important}.theme-light .ProgressBar--color--good .ProgressBar__fill{background-color:#44801d}.theme-light .ProgressBar--color--average{border-color:#b56b0b !important}.theme-light .ProgressBar--color--average .ProgressBar__fill{background-color:#b56b0b}.theme-light .ProgressBar--color--bad{border-color:#a61c1c !important}.theme-light .ProgressBar--color--bad .ProgressBar__fill{background-color:#a61c1c}.theme-light .ProgressBar--color--label{border-color:#2c2c2c !important}.theme-light .ProgressBar--color--label .ProgressBar__fill{background-color:#2c2c2c}.theme-light .ProgressBar--color--xeno{border-color:#3e2945 !important}.theme-light .ProgressBar--color--xeno .ProgressBar__fill{background-color:#3e2945}.theme-light .Chat{color:#000}.theme-light .Chat__badge{display:inline-block;min-width:.5em;font-size:.7em;padding:.2em .3em;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:crimson;border-radius:10px;transition:font-size 200ms ease-out}.theme-light .Chat__badge:before{content:"x"}.theme-light .Chat__badge--animate{font-size:.9em;transition:font-size 0ms}.theme-light .Chat__scrollButton{position:fixed;right:2em;bottom:1em}.theme-light .Chat__reconnected{font-size:.85em;text-align:center;margin:1em 0 2em}.theme-light .Chat__reconnected:before{content:"Reconnected";display:inline-block;border-radius:1em;padding:0 .7em;color:#db2828;background-color:#fff}.theme-light .Chat__reconnected:after{content:"";display:block;margin-top:-0.75em;border-bottom:.1666666667em solid #db2828}.theme-light .Chat__highlight{color:#000}.theme-light .Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:bold}.theme-light .ChatMessage{word-wrap:break-word}.theme-light .ChatMessage--highlighted{position:relative;border-left:.1666666667em solid #fd4;padding-left:.5em}.theme-light .ChatMessage--highlighted:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(255,221,68,.1);pointer-events:none}.theme-light .Layout,.theme-light .Layout *{scrollbar-base-color:#f2f2f2;scrollbar-face-color:#d6d6d6;scrollbar-3dlight-color:#eee;scrollbar-highlight-color:#eee;scrollbar-track-color:#f2f2f2;scrollbar-arrow-color:#777;scrollbar-shadow-color:#d6d6d6}.theme-light .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-light .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-light .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#000;background-color:#eee;background-image:linear-gradient(to bottom, #eeeeee 0%, #eeeeee 100%)}.theme-light .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-light .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-light .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-light .Window__contentPadding:after{height:0}.theme-light .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-light .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(252,252,252,.25);pointer-events:none}.theme-light .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-light .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-light .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-light .TitleBar{background-color:#eee;border-bottom:1px solid rgba(0,0,0,.25);box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-light .TitleBar__clickable{color:rgba(0,0,0,.5);background-color:#eee;transition:color 250ms ease-out,background-color 250ms ease-out}.theme-light .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-light .TitleBar__title{position:absolute;display:inline-block;top:0;left:46px;left:3.8333333333rem;color:rgba(0,0,0,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap;pointer-events:none}.theme-light .TitleBar__buttons{pointer-events:initial;display:inline-block;width:100%;margin-left:10px}.theme-light .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-light .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px !important;line-height:2.6666666667rem !important}.theme-light .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-light .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:2px 4px;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-light html,.theme-light body{padding:0;margin:0;height:100%;color:#000}.theme-light body{background:#fff;font-family:Verdana,sans-serif;font-size:13px;line-height:1.2;overflow-x:hidden;overflow-y:scroll;word-wrap:break-word}.theme-light em{font-style:normal;font-weight:bold}.theme-light img{margin:0;padding:0;line-height:1;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}.theme-light img.icon{height:1em;min-height:16px;width:auto;vertical-align:bottom}.theme-light a{color:blue}.theme-light a.visited{color:#f0f}.theme-light a:visited{color:#f0f}.theme-light a.popt{text-decoration:none}.theme-light .popup{position:fixed;top:50%;left:50%;background:#ddd}.theme-light .popup .close{position:absolute;background:#aaa;top:0;right:0;color:#333;text-decoration:none;z-index:2;padding:0 10px;height:30px;line-height:30px}.theme-light .popup .close:hover{background:#999}.theme-light .popup .head{background:#999;color:#ddd;padding:0 10px;height:30px;line-height:30px;text-transform:uppercase;font-size:.9em;font-weight:bold;border-bottom:2px solid green}.theme-light .popup input{border:1px solid #999;background:#fff;margin:0;padding:5px;outline:none;color:#333}.theme-light .popup input[type=text]:hover,.theme-light .popup input[type=text]:active,.theme-light .popup input[type=text]:focus{border-color:green}.theme-light .popup input[type=submit]{padding:5px 10px;background:#999;color:#ddd;text-transform:uppercase;font-size:.9em;font-weight:bold}.theme-light .popup input[type=submit]:hover,.theme-light .popup input[type=submit]:focus,.theme-light .popup input[type=submit]:active{background:#aaa;cursor:pointer}.theme-light .changeFont{padding:10px}.theme-light .changeFont a{display:block;text-decoration:none;padding:3px;color:#333}.theme-light .changeFont a:hover{background:#ccc}.theme-light .highlightPopup{padding:10px;text-align:center}.theme-light .highlightPopup input[type=text]{display:block;width:215px;text-align:left;margin-top:5px}.theme-light .highlightPopup input.highlightColor{background-color:#ff0}.theme-light .highlightPopup input.highlightTermSubmit{margin-top:5px}.theme-light .contextMenu{background-color:#ddd;position:fixed;margin:2px;width:150px}.theme-light .contextMenu a{display:block;padding:2px 5px;text-decoration:none;color:#333}.theme-light .contextMenu a:hover{background-color:#ccc}.theme-light .filterMessages{padding:5px}.theme-light .filterMessages div{padding:2px 0}.theme-light .icon-stack{height:1em;line-height:1em;width:1em;vertical-align:middle;margin-top:-2px}.theme-light .motd{color:#638500;font-family:Verdana,sans-serif;white-space:normal}.theme-light .motd h1,.theme-light .motd h2,.theme-light .motd h3,.theme-light .motd h4,.theme-light .motd h5,.theme-light .motd h6{color:#638500;text-decoration:underline}.theme-light .motd a,.theme-light .motd a:link,.theme-light .motd a:visited,.theme-light .motd a:active,.theme-light .motd a:hover{color:#638500}.theme-light .bold,.theme-light .name,.theme-light .prefix,.theme-light .ooc,.theme-light .looc,.theme-light .adminooc,.theme-light .admin,.theme-light .niche,.theme-light .medal,.theme-light .yell{font-weight:bold}.theme-light .italic,.theme-light .italics{font-style:italic}.theme-light .highlight{background:#ff0}.theme-light h1,.theme-light h2,.theme-light h3,.theme-light h4,.theme-light h5,.theme-light h6{color:blue;font-family:Georgia,Verdana,sans-serif}.theme-light h1.alert,.theme-light h2.alert{color:#000}.theme-light em{font-style:normal;font-weight:bold}.theme-light .ooc{font-weight:bold}.theme-light .adminobserverooc{color:#09c;font-weight:bold}.theme-light .adminooc{color:#700038;font-weight:bold}.theme-light .adminsay{color:#ff4500;font-weight:bold}.theme-light .admin{color:#4473ff;font-weight:bold}.theme-light .niche{color:#4473ff;font-weight:bold}.theme-light .name{font-weight:bold}.theme-light .deadsay{color:#5c00e6}.theme-light .binarysay{color:#20c20e;background-color:#000;display:block}.theme-light .binarysay a{color:lime}.theme-light .binarysay a:active,.theme-light .binarysay a:visited{color:#8f8}.theme-light .radio{color:green}.theme-light .sciradio{color:#939}.theme-light .comradio{color:#948f02}.theme-light .secradio{color:#a30000}.theme-light .medradio{color:#337296}.theme-light .engradio{color:#fb5613}.theme-light .sentryradio{color:#844300}.theme-light .suppradio{color:#a8732b}.theme-light .servradio{color:#6eaa2c}.theme-light .syndradio{color:#6d3f40}.theme-light .gangradio{color:#ac2ea1}.theme-light .centcomradio{color:#686868}.theme-light .aiprivradio{color:#f0f}.theme-light .redteamradio{color:red}.theme-light .blueteamradio{color:blue}.theme-light .greenteamradio{color:lime}.theme-light .yellowteamradio{color:#d1ba22}.theme-light .yell{font-weight:bold}.theme-light .alert{color:red}.theme-light h1.alert,.theme-light h2.alert{color:#000}.theme-light .userdanger{color:red;font-weight:bold;font-size:185%}.theme-light .bolddanger{color:red;font-weight:bold}.theme-light .danger{color:red}.theme-light .tinydanger{color:red;font-size:85%}.theme-light .smalldanger{color:red;font-size:90%}.theme-light .warning{color:red;font-style:italic}.theme-light .alertwarning{color:red;font-weight:bold}.theme-light .boldwarning{color:red;font-style:italic;font-weight:bold}.theme-light .announce{color:#228b22;font-weight:bold}.theme-light .boldannounce{color:red;font-weight:bold}.theme-light .bigannounce{font-weight:bold;font-size:115%}.theme-light .greenannounce{color:lime;font-weight:bold}.theme-light .rose{color:#ff5050}.theme-light .info{color:#00c}.theme-light .notice{color:#009}.theme-light .staff_ic{color:#009}.theme-light .tinynotice{color:#009;font-size:85%}.theme-light .tinynoticeital{color:#009;font-style:italic;font-size:85%}.theme-light .smallnotice{color:#009;font-size:90%}.theme-light .smallnoticeital{color:#009;font-style:italic;font-size:90%}.theme-light .boldnotice{color:#009;font-weight:bold}.theme-light .hear{color:#009;font-style:italic}.theme-light .adminnotice{color:blue}.theme-light .adminhelp{color:red;font-weight:bold}.theme-light .unconscious{color:blue;font-weight:bold}.theme-light .suicide{color:#ff5050;font-style:italic}.theme-light .green{color:#03ff39}.theme-light .grey{color:#838383}.theme-light .red{color:red}.theme-light .blue{color:blue}.theme-light .nicegreen{color:#14a833}.theme-light .boldnicegreen{color:#14a833;font-weight:bold}.theme-light .cult{color:#973e3b}.theme-light .cultitalic{color:#973e3b;font-style:italic}.theme-light .cultbold{color:#973e3b;font-style:italic;font-weight:bold}.theme-light .cultboldtalic{color:#973e3b;font-weight:bold;font-size:185%}.theme-light .cultlarge{color:#973e3b;font-weight:bold;font-size:185%}.theme-light .narsie{color:#973e3b;font-weight:bold;font-size:925%}.theme-light .narsiesmall{color:#973e3b;font-weight:bold;font-size:370%}.theme-light .colossus{color:#7f282a;font-size:310%}.theme-light .hierophant{color:#609;font-weight:bold;font-style:italic}.theme-light .hierophant_warning{color:#609;font-style:italic}.theme-light .purple{color:#5e2d79}.theme-light .holoparasite{color:#35333a}.theme-light .revennotice{color:#1d2953}.theme-light .revenboldnotice{color:#1d2953;font-weight:bold}.theme-light .revenbignotice{color:#1d2953;font-weight:bold;font-size:185%}.theme-light .revenminor{color:#823abb}.theme-light .revenwarning{color:#760fbb;font-style:italic}.theme-light .revendanger{color:#760fbb;font-weight:bold;font-size:185%}.theme-light .deconversion_message{color:#5000a0;font-size:185%;font-style:italic}.theme-light .ghostalert{color:#5c00e6;font-style:italic;font-weight:bold}.theme-light .alien{color:#543354}.theme-light .noticealien{color:#00c000}.theme-light .alertalien{color:#00c000;font-weight:bold}.theme-light .changeling{color:purple;font-style:italic}.theme-light .alertsyndie{color:red;font-size:185%;font-weight:bold}.theme-light .spider{color:#4d004d;font-weight:bold;font-size:185%}.theme-light .interface{color:#303}.theme-light .sans{font-family:"Comic Sans MS",cursive,sans-serif}.theme-light .papyrus{font-family:"Papyrus",cursive,sans-serif}.theme-light .robot{font-family:"Courier New",cursive,sans-serif}.theme-light .tape_recorder{color:maroon;font-family:"Courier New",cursive,sans-serif}.theme-light .command_headset{font-weight:bold;font-size:160%}.theme-light .small{font-size:60%}.theme-light .big{font-size:185%}.theme-light .reallybig{font-size:245%}.theme-light .extremelybig{font-size:310%}.theme-light .greentext{color:lime;font-size:185%}.theme-light .redtext{color:red;font-size:185%}.theme-light .clown{color:#ff69bf;font-size:160%;font-family:"Comic Sans MS",cursive,sans-serif;font-weight:bold}.theme-light .singing{font-family:"Trebuchet MS",cursive,sans-serif;font-style:italic}.theme-light .his_grace{color:#15d512;font-family:"Courier New",cursive,sans-serif;font-style:italic}.theme-light .hypnophrase{color:#0d0d0d;font-weight:bold;animation:hypnocolor 1500ms infinite;animation-direction:alternate}@keyframes hypnocolor{0%{color:#0d0d0d}25%{color:#410194}50%{color:#7f17d8}75%{color:#410194}100%{color:#3bb5d3}}.theme-light .phobia{color:#d00;font-weight:bold;animation:phobia 750ms infinite}@keyframes phobia{0%{color:#0d0d0d}50%{color:#d00}100%{color:#0d0d0d}}.theme-light .icon{height:1em;width:auto}.theme-light .bigicon{font-size:2.5em}.theme-light .memo{color:#638500;text-align:center}.theme-light .memoedit{text-align:center;font-size:125%}.theme-light .abductor{color:purple;font-style:italic}.theme-light .mind_control{color:#a00d6f;font-size:100%;font-weight:bold;font-style:italic}.theme-light .slime{color:#00ced1}.theme-light .drone{color:#848482}.theme-light .monkey{color:#975032}.theme-light .swarmer{color:#2c75ff}.theme-light .resonate{color:#298f85}.theme-light .monkeyhive{color:#774704}.theme-light .monkeylead{color:#774704;font-size:80%}.theme-light .connectionClosed,.theme-light .fatalError{background:red;color:#fff;padding:5px}.theme-light .connectionClosed.restored{background:green}.theme-light .internal.boldnshit{color:blue;font-weight:bold}.theme-light .text-normal{font-weight:normal;font-style:normal}.theme-light .hidden{display:none;visibility:hidden}.theme-light .ml-1{margin-left:1em}.theme-light .ml-2{margin-left:2em}.theme-light .ml-3{margin-left:3em}.theme-light .xooc{color:#6c0094;font-weight:bold;font-size:140%}.theme-light .mooc{color:#090;font-weight:bold;font-size:140%}.theme-light .yooc{color:#999600;font-weight:bold;font-size:140%}.theme-light .headminsay{color:#5a0a7f;font-weight:bold}.theme-light .radio{color:#4e4e4e}.theme-light .deptradio{color:#939}.theme-light .comradio{color:#004080}.theme-light .centradio{color:#5c5c8a}.theme-light .cryoradio{color:#554e3f}.theme-light .hcradio{color:#318779}.theme-light .pvstradio{color:#9b0612}.theme-light .airadio{color:#f0f}.theme-light .secradio{color:#a30000}.theme-light .engradio{color:#a66300}.theme-light .sentryradio{color:#844300}.theme-light .medradio{color:#008160}.theme-light .supradio{color:#5f4519}.theme-light .jtacradio{color:#702963}.theme-light .intelradio{color:#027d02}.theme-light .wyradio{color:#fe9b24}.theme-light .pmcradio{color:#136957}.theme-light .vairadio{color:#943d0a}.theme-light .cmbradio{color:#1b748c}.theme-light .clfradio{color:#6f679c}.theme-light .alpharadio{color:#ea0000}.theme-light .bravoradio{color:#c68610}.theme-light .charlieradio{color:#a5a}.theme-light .deltaradio{color:#007fcf}.theme-light .echoradio{color:#3a7e65}.theme-light .medium{font-size:110%}.theme-light .big{font-size:115%}.theme-light .large{font-size:125%}.theme-light .extra_large{font-size:130%}.theme-light .huge{font-size:150%}.theme-light .underline{text-decoration:underline}.theme-light .orange{color:#eca100}.theme-light .normal{font-style:normal}.theme-light .attack{color:red}.theme-light .moderate{color:#c00}.theme-light .disarm{color:#900}.theme-light .passive{color:#600}.theme-light .helpful{color:#368f31}.theme-light .scanner{color:red}.theme-light .scannerb{color:red;font-weight:bold}.theme-light .scannerburn{color:orange}.theme-light .scannerburnb{color:orange;font-weight:bold}.theme-light .rose{color:#ff5050}.theme-light .debuginfo{color:#493d26;font-style:italic}.theme-light .xenonotice{color:#2a623d}.theme-light .xenoboldnotice{color:#2a623d;font-weight:bold}.theme-light .xenowarning{color:#2a623d;font-style:italic}.theme-light .xenominorwarning{color:#2a623d;font-weight:bold;font-style:italic}.theme-light .xenodanger{color:#2a623d;font-weight:bold}.theme-light .avoidharm{color:#72a0e5;font-weight:bold}.theme-light .highdanger{color:red;font-weight:bold;font-size:140%}.theme-light .xenohighdanger{color:#2a623d;font-weight:bold;font-size:140%}.theme-light .xenoannounce{color:#1a472a;font-family:book-antiqua;font-weight:bold;font-size:140%}.theme-light .yautjabold{color:purple;font-weight:bold}.theme-light .yautjaboldbig{color:purple;font-weight:bold;font-size:120%}.theme-light .objectivebig{font-weight:bold;font-size:130%}.theme-light .objectivegreen{color:lime}.theme-light .objectivered{color:red}.theme-light .objectivesuccess{color:lime;font-weight:bold;font-size:110%}.theme-light .objectivefail{color:red;font-weight:bold;font-size:110%}.theme-light .xenotalk,.theme-light .xeno{color:#900090;font-style:italic}.theme-light .xenoleader{color:#730d73;font-style:italic;font-size:125%}.theme-light .xenoqueen{color:#730d73;font-style:italic;font-weight:bold;font-size:125%}.theme-light .newscaster{color:maroon}.theme-light .role_header{color:#db0000;display:block;text-align:center;font-weight:bold;font-family:trebuchet-ms;font-size:150%}.theme-light .role_body{color:#009;display:block;text-align:center;font-size:125%}.theme-light .round_header{color:#db0000;display:block;text-align:center;font-family:courier;font-weight:bold;font-size:180%}.theme-light .round_body{color:#001427;display:block;text-align:center;font-family:trebuchet-ms;font-weight:bold;font-size:125%}.theme-light .event_announcement{color:#600d48;font-family:arial-narrow;font-weight:bold;font-size:125%}.theme-light .announce_header{color:#000;font-weight:bold;font-size:150%}.theme-light .announce_header_blue{color:#009;font-weight:bold;font-size:150%}.theme-light .announce_body{color:red;font-weight:normal;font-size:125%}.theme-light .centerbold{display:block;text-align:center;font-weight:bold}.theme-light .mod{color:#735638;font-weight:bold}.theme-light .modooc{color:#184880;font-weight:bold}.theme-light .adminmod{color:#402a14;font-weight:bold}.theme-light .mentorsay{color:#b38c32;font-weight:bold}.theme-light .mentorhelp{color:#007e00;font-weight:bold}.theme-light .mentorbody{color:#da6200;font-weight:bold}.theme-light .mentorstaff{color:#876101;font-weight:bold}.theme-light .staffsay{color:#876101;font-weight:bold}.theme-light .tajaran{color:#803b56}.theme-light .tajaran_signlang{color:#941c1c}.theme-light .skrell{color:#00ced1}.theme-light .soghun{color:#228b22}.theme-light .changeling{color:purple}.theme-light .vox{color:#a0a}.theme-light .monkey{color:#966c47}.theme-light .german{color:#858f1e;font-family:"Times New Roman",Times,serif}.theme-light .spanish{color:#cf982b}.theme-light .japanese{color:#940927}.theme-light .chinese{color:#fe1919}.theme-light .zombie{color:#216163;font-style:italic}.theme-light .commando{color:#fe9b24;font-style:bold}.theme-light .rough{font-family:trebuchet-ms,cursive,sans-serif}.theme-light .say_quote{font-family:Georgia,Verdana,sans-serif}.theme-light .admin .message{color:#314cad}.theme-light .admin .prefix{font-weight:bolder}.theme-light .pm{font-size:110%}.theme-light .retro_translator{font-weight:bold}.theme-light .yautja_translator{color:#a00;font-weight:bold;animation:glitch .5s infinite}@keyframes glitch{25%{color:#a00;transform:translate(-2px, -1px)}50%{color:#be0000;transform:translate(1px, -2px)}75%{color:#8d0000;transform:translate(-1px, 2px)}100%{color:#830000;transform:translate(1px, 1px)}}.theme-light .examine_block{background:#f2f7fa;border:1px solid #111a27;margin:.5em;padding:.5em .75em}.theme-light .examine_block .icon{width:1.5em;height:1.5em;margin:0;padding:0}.theme-light .tooltip{font-style:italic;border-bottom:1px dashed #000} diff --git a/tools/build/build.js b/tools/build/build.js index 2126cfd77d4c..9efee60ebd31 100644 --- a/tools/build/build.js +++ b/tools/build/build.js @@ -173,21 +173,30 @@ export const YarnTarget = new Juke.Target({ export const TgFontTarget = new Juke.Target({ dependsOn: [YarnTarget], inputs: [ - 'tgui/.yarn/install-target', - 'tgui/packages/tgfont/**/*.+(js|cjs|svg)', - 'tgui/packages/tgfont/package.json', + "tgui/.yarn/install-target", + "tgui/packages/tgfont/**/*.+(js|cjs|svg)", + "tgui/packages/tgfont/package.json", ], outputs: [ - 'tgui/packages/tgfont/dist/tgfont.css', - 'tgui/packages/tgfont/dist/tgfont.eot', - 'tgui/packages/tgfont/dist/tgfont.woff2', + "tgui/packages/tgfont/dist/tgfont.css", + "tgui/packages/tgfont/dist/tgfont.eot", + "tgui/packages/tgfont/dist/tgfont.woff2", ], executes: async () => { - await yarn('tgfont:build'); - fs.copyFileSync('tgui/packages/tgfont/dist/tgfont.css', 'tgui/packages/tgfont/static/tgfont.css'); - fs.copyFileSync('tgui/packages/tgfont/dist/tgfont.eot', 'tgui/packages/tgfont/static/tgfont.eot'); - fs.copyFileSync('tgui/packages/tgfont/dist/tgfont.woff2', 'tgui/packages/tgfont/static/tgfont.woff2'); - } + await yarn("tgfont:build"); + fs.copyFileSync( + "tgui/packages/tgfont/dist/tgfont.css", + "tgui/packages/tgfont/static/tgfont.css" + ); + fs.copyFileSync( + "tgui/packages/tgfont/dist/tgfont.eot", + "tgui/packages/tgfont/static/tgfont.eot" + ); + fs.copyFileSync( + "tgui/packages/tgfont/dist/tgfont.woff2", + "tgui/packages/tgfont/static/tgfont.woff2" + ); + }, }); export const TguiTarget = new Juke.Target({ @@ -303,8 +312,6 @@ export const CleanTarget = new Juke.Target({ dependsOn: [TguiCleanTarget], executes: async () => { Juke.rm("*.{dmb,rsc}"); - Juke.rm("*.mdme*"); - Juke.rm("*.m.*"); Juke.rm("maps/templates.dm"); }, }); diff --git a/tools/build/lib/byond.js b/tools/build/lib/byond.js index 8b6f081c1c01..2d186e2254c6 100644 --- a/tools/build/lib/byond.js +++ b/tools/build/lib/byond.js @@ -139,14 +139,47 @@ export const DreamMaker = async (dmeFile, options = {}) => { throw err; } }; - testOutputFile(`${dmeBaseName}.dmb`); - testOutputFile(`${dmeBaseName}.rsc`); - const runWithWarningChecks = async (dmeFile, args) => { - const execReturn = await Juke.exec(dmeFile, args); + + const testDmVersion = async (dmPath) => { + const execReturn = await Juke.exec(dmPath, [], { + silent: true, + throw: false, + }); + const version = execReturn.combined.match( + `DM compiler version (\\d+)\\.(\\d+)` + ); + if (version == null) { + Juke.logger.error( + `Unexpected DreamMaker return, ensure "${dmPath}" is correct DM path.` + ); + throw new Juke.ExitCode(1); + } + const requiredMajorVersion = 515; + const requiredMinorVersion = 1597; // First with -D switch functionality + const major = Number(version[1]); + const minor = Number(version[2]); if ( - options.warningsAsErrors && - execReturn.combined.match(/\d+:warning: /) + major < requiredMajorVersion || + (major == requiredMajorVersion && minor < requiredMinorVersion) ) { + Juke.logger.error( + `${requiredMajorVersion}.${requiredMinorVersion} DM version required` + ); + throw new Juke.ExitCode(1); + } + }; + + await testDmVersion(dmPath); + testOutputFile(`${dmeBaseName}.dmb`); + testOutputFile(`${dmeBaseName}.rsc`); + const runWithWarningChecks = async (dmPath, args) => { + const execReturn = await Juke.exec(dmPath, args); + const ignoredWarningCodes = options.ignoreWarningCodes ?? []; + const reg = + ignoredWarningCodes.length > 0 + ? new RegExp(`\d+:warning: (?!(${ignoredWarningCodes.join("|")}))`) + : /\d+:warning: /; + if (options.warningsAsErrors && execReturn.combined.match(reg)) { Juke.logger.error(`Compile warnings treated as errors`); throw new Juke.ExitCode(2); } @@ -156,26 +189,11 @@ export const DreamMaker = async (dmeFile, options = {}) => { const { defines } = options; if (defines && defines.length > 0) { Juke.logger.info("Using defines:", defines.join(", ")); - try { - const injectedContent = defines.map((x) => `#define ${x}\n`).join(""); - fs.writeFileSync(`${dmeBaseName}.m.dme`, injectedContent); - const dmeContent = fs.readFileSync(`${dmeBaseName}.dme`); - fs.appendFileSync(`${dmeBaseName}.m.dme`, dmeContent); - await runWithWarningChecks(dmPath, [`${dmeBaseName}.m.dme`]); - fs.writeFileSync( - `${dmeBaseName}.dmb`, - fs.readFileSync(`${dmeBaseName}.m.dmb`) - ); - fs.writeFileSync( - `${dmeBaseName}.rsc`, - fs.readFileSync(`${dmeBaseName}.m.rsc`) - ); - } finally { - Juke.rm(`${dmeBaseName}.m.*`); - } - } else { - await runWithWarningChecks(dmPath, [dmeFile]); } + await runWithWarningChecks(dmPath, [ + ...defines.map((def) => `-D${def}`), + dmeFile, + ]); }; /** diff --git a/tools/ci/download_od.sh b/tools/ci/download_od.sh deleted file mode 100644 index aada0d8fe533..000000000000 --- a/tools/ci/download_od.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -set -eo pipefail - -if [ -z "${OPENDREAM_VERSION+x}" ]; then - source dependencies.sh -fi - -git clone https://github.com/OpenDreamProject/OpenDream.git ~/OpenDream -cd ~/OpenDream -git checkout tags/${OPENDREAM_VERSION} -git submodule update --init --recursive diff --git a/tools/ci/run_od.sh b/tools/ci/run_od.sh deleted file mode 100644 index c300a7280570..000000000000 --- a/tools/ci/run_od.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -set -eo pipefail - -dotnet ~/OpenDream/bin/DMCompiler/DMCompiler.dll --suppress-unimplemented colonialmarines.dme diff --git a/tools/ci/setup_od.sh b/tools/ci/setup_od.sh deleted file mode 100644 index 6d2ec170687c..000000000000 --- a/tools/ci/setup_od.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -set -eo pipefail - -cd ~/OpenDream - -dotnet restore -dotnet build -c Release